Seguramente tiene la capacidad de reemplazar marcos como RubyOnRails o Django o Catalyst algún día. Pero todavía hay mucho código para escribir para esto.
El repositorio de paquetes Hex carece de muchos módulos que están disponibles en CPAN o como Gem o en NPM para tener algunos repositorios de paquetes para comparar. Esto se interpone en mi camino todos los días: ¿comparar dos fragmentos de HTML como tree-diff? Estás sólo en esto. ¿Comprueba cuántos días un certificado X509 sigue siendo válido? Estás sólo en esto. ¿Crear una hoja de cálculo de Excel 97? Y así sucesivamente y así sucesivamente.
Como complemento a la respuesta del usuario de Quora, Phoenix carece de una buena biblioteca de procesamiento de imágenes (si sabe mejor, corríjame). Esto realmente debería hacerse como Erlang NIF en C para la velocidad bruta. Actualmente, al menos, recurro a los procesos en segundo plano del sistema operativo de “conversión” para hacer el trabajo pesado o utilizar un servidor externo como nginx pagepeed. Funciona pero definitivamente no “todo en uno”.
- ¿Cuál es la mejor manera de convertir mis páginas web en una aplicación móvil?
- Cómo minimizar la carga sobre un programador que contrato y ahorrar dinero
- ¿Cuáles son las preocupaciones de seguridad en la representación del lado del cliente de una aplicación web?
- Cómo elegir las mejores tecnologías para mi aplicación web
- ¿Qué usan los profesionales si no es un CMS?
El escalado es algo agradable, pero para usar Erlang distribuido con Phoenix, actualmente se necesita agregar mucho código de infraestructura. Sería genial una integración con Riak-Core o algo más fácil de usar. Mientras tanto, parece que las personas se adhieren a colocar un buen equilibrador de carga en frente de los nodos de Phoenix. Al menos, no tiene que preocuparse por cuántos procesos de trabajo necesitará, lo cual es un gran profesional en comparación con los marcos mencionados anteriormente.
Y una gran cosa: Eex apesta. Estoy tan acostumbrado a tener un sistema de plantillas que permite la herencia como lo hace DTL (Django Template Language) pero también permite llamar a funciones (que DTL no). En Perl, tengo el Text :: Xslate ultra rápido para esto. En Elixir escribo plantillas Eex que me recuerdan los días olvidados de PHP “incluir encabezado, incluir pie de página”. Entonces, otro módulo para ser escrito.
Conclusión: los nuevos proyectos que solo deben realizarse de manera rápida y eficiente en términos de mano de obra aún se realizarán en marcos antiguos debido a su madurez y elección de módulos, para obtener cierta funcionalidad prácticamente en poco tiempo.
Esto va a cambiar, pero no en el corto plazo (supongo).