Pregunta

Estoy trabajando en un proyecto que actualmente no tiene usuarios, pero nos gustaría ampliarlo a cientos de personas. Actualmente estamos corriendo en una base de datos MySQL con AMFPHP interactuando con Flex. Utilizamos Flex debido a sus características gráficas robustas (importantes para este proyecto) y porque el desarrollador inicial (no yo) ya conocía ActionScript. Actualmente estamos utilizando AIR, pero podríamos cambiar a Flash basado en la web en algún momento.

Mis preguntas son:

  1. ¿Flex es una buena herramienta para un proyecto como este?
  2. ¿Cuáles son las principales limitaciones de Flex que podemos encontrar?
  3. ¿Qué otras plataformas de desarrollo queremos considerar?

Gracias. - Dave

¿Fue útil?

Solución

Respuesta corta, sí. Ya hay muchas aplicaciones de horario estelar que utilizan Flex como su plataforma de desarrollo de interfaz de usuario. Si va al sitio de Adobe, muestran bastantes.

Hablando personalmente, elegí Flex por dos razones, la primera fue que, aunque probablemente puedas hacer mucho de lo que Flex hace en HTML o con un kit de herramientas apropiado, Flex está diseñado para una experiencia de usuario atractiva y atractiva y tiene disponible todo Flash . Además, el entorno de desarrollo y los widgets disponibles hacen que programar sea fácil y divertido. No quiero desencadenar una guerra religiosa sobre HTML vs. Flex, así que lo dejaré ahí, funciona para mí y para mi aplicación y clientes.

Segundo, y más importante, fue que equilibra más la carga de procesamiento hacia el cliente, lo que significa que la arquitectura de mi servidor se puede optimizar solo para servir el contenido y conservar los datos. La mayor parte de mi lógica empresarial ha migrado al cliente. Después de haber pasado muchos años en arquitecturas clásicas, creo que este es un gran paso adelante, pero ya puedo expresar su desacuerdo sobre eso también.

Mi advertencia sobre Flex proviene de la necesidad de adoptar la arquitectura correcta para su código de cliente. Es bastante fácil crear una aplicación enorme y de bajo rendimiento con Flex si te equivocas. Haga que todo sea impulsado por eventos y aparentemente asíncrono y debería estar bien ('aparentemente' porque el reproductor Flash es de un solo subproceso). Y esa es la desventaja 1, el reproductor Flash de un solo subproceso a veces causa problemas.

El inconveniente 2 es quizás más serio y está bloqueado en los escritorios en entornos corporativos. Muy a menudo su público objetivo no tendrá derechos administrativos para su computadora y tendrá el reproductor flash incorrecto o ninguno. Esto es particularmente cierto en las organizaciones del sector público y los militares, por lo que si se dirige allí probaría cuidadosamente la presencia de Flash entre sus usuarios.

Aparte de eso, recomiendo Flex. ¡También es una gran cosa tener en tu CV!

HTH

Otros consejos

Flex no tiene problemas de escalabilidad inherentes, sin embargo, si tiene una aplicación intensiva en gráficos, el servicio adecuado de estos recursos puede ser un problema, pero eso tiene poco que ver con Flex.

La única plataforma digna de mención y probable que no podrá ejecutar es el iPhone (sin flash) y algunos dispositivos móviles antiguos sin flash (aunque la mayoría admite Flash-lite hoy en día)

En cuanto a las alternativas, si tiene gráficos pesados ??y no le importa el iPhone, entonces Flex es bueno, si no la mejor solución multiplataforma además de usar tecnologías HTML puras, el truco aquí es que HTML solo puede hacer el 99% de lo que Flex puede hacerlo, pero si su aplicación requiere el 1% faltante, entonces no tiene suerte, también Flex reducirá la plataforma cruzada y la mayoría de los problemas de compatibilidad del navegador. Por lo tanto, podría hacer que su trabajo sea más productivo.

Silverlight 2 es una alternativa a considerar. WPF si está buscando algo con soporte fuera de línea.

  1. Sí, la escala y el tipo de proyecto encaja.
  2. Inmadurez de los marcos y bibliotecas de los que puede depender. Inmadurez de los IDE.
  3. Silverlight, JavaFX.

Flex + AIR es probablemente una herramienta tan buena como Visual Basic; puede ser una mejor herramienta para tener un lenguaje de programación mucho más flexible y tener herramientas de desarrollo gratuitas, pero tenga en cuenta las limitaciones ...

La principal limitación que he visto al trabajar con ella es la documentación. Parece que no hay suficiente documentación, no hay suficiente documentación y no hay suficiente trabajo de alta visibilidad en la comunidad. (Esto viene de años en .NET; me ha molestado constantemente lo poco que MSDN dice acerca de los métodos, pero en general soy capaz de lidiar con eso buscando las publicaciones de blog más útiles).

Otras posibles plataformas de desarrollo dependerían en gran medida de los detalles del proyecto. Las plataformas basadas en la web se estancan en interacciones profundas y con estado con conjuntos de datos (incluso con buenas bibliotecas AJAX), mientras que mantener las instalaciones del lado del cliente de cualquier programa de cliente grueso (por ejemplo, Flex + AIR) podría ser excesivo si solo se trata de unas pocas formas CRUD .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top