usados servidor para mas lado framework ejemplos diferentes desarrollo cliente web-applications frameworks comparison

web-applications - servidor - frameworks para desarrollo web 2018



¿Cuáles son las principales diferencias entre los populares frameworks web? (3)

Django vs Struts.

Velocidad de desarrollo y conveniencia

Django: funcionando en el tiempo requerido para construir el modelo (en Python), defina las asignaciones de administrador (2-3 líneas de código por clase de modelo) y cree plantillas HTML para trabajar con las vistas maestras por detalle predeterminadas.

Struts: tiene que definir una base de datos en SQL y luego definir correspondencias ORM en iBatis. Luego defina, pruebe y cree varios componentes de aplicación, utilizando clases de acción y páginas de plantilla JSP. Ah, y necesito definir EJB para mover datos de la aplicación a JSP. Todo tiene que compilarse y tengo que trabajar en numerosos detalles solo para obtener algo que se ajuste a las reglas de compilación.

Barreras para la entrada , tanto en términos de capacitación de desarrolladores como de infraestructura necesaria

Constante en todos los marcos e idiomas. Esto es más o menos un elemento que no te importa. Ningún lenguaje o marco es inherentemente fácil de entrenar. Todos los marcos web tienen requisitos de infraestructura similares.

Bloqueo : ¿cuánto código podría conservar si tuviera que cambiar de marco?

Esto no tiene mucho sentido. Si cambia de Tomcat a cualquiera de los derivados de Tomcat, puede conservar una gran cantidad de código Java. De lo contrario, generalmente no conserva mucho código cuando cambia de marco.

Flexibilidad : ¿el marco dicta su arquitectura o diseño? (Si eso sería bueno o malo, es mejor dejarlo en una discusión por separado).

En realidad, esa no es una discusión por separado. Ese es el punto. Los marcos dictan su arquitectura, y eso es algo bueno. De hecho, el marco es código que no tiene que escribir, probar, depurar o admitir. Es bueno que su aplicación esté limitada por el marco a una estructura comprobable y viable.

Rendimiento, escalabilidad y estabilidad , ¡obviamente dependiendo de los desarrolladores!

El rendimiento es el lenguaje (no el marco). Es diseño. Hasta cierto punto, también es la configuración de implementación.

La escalabilidad es marco (no lenguaje). Es diseño y configuración.

La estabilidad es general: sistema operativo, lenguaje, marco, diseño, programación, control de calidad y configuración de implementación.

Hay muchos frameworks de aplicaciones web disponibles en estos días, para casi todos los idiomas que existen. En su experiencia, ¿cuáles son sus fortalezas, debilidades y características únicas? Asumiendo el lujo de elegir, ¿qué factores lo llevarían a considerar uno sobre otro?

Estoy más interesado en la experiencia directa de las personas con uno o más marcos, en lugar de una comparación exhaustiva de todo lo que hay. Es de esperar que la comunidad SO tenga programadores que tengan buenas y malas experiencias con cosas como Rails , ASP.NET , Django , TurboGears o JSF . También sería genial escuchar si alguien está utilizando uno de los marcos principales menos comunes como Seaside o Weblocks .

El lenguaje de programación es una diferencia obvia, pero un flamewar Java vs Ruby no será muy divertido, y la mayoría de estos frameworks parecen ser al menos tanto una inversión en tecnología, herramientas y complejidad como su lenguaje de elección; entonces estoy más interesado en cosas como:

  • Velocidad de desarrollo y conveniencia
  • Barreras para la entrada, tanto en términos de capacitación de desarrolladores como de infraestructura necesaria
  • Bloqueo: ¿cuánto código podría conservar si tuviera que cambiar de marco?
  • Flexibilidad: ¿el marco dicta su arquitectura o diseño? (Si eso sería bueno o malo, es mejor dejarlo en una discusión por separado).
  • Rendimiento, escalabilidad y estabilidad, ¡obviamente dependiendo de los desarrolladores!

Voy a abordar brevemente cada área para tres marcos populares de Python. Esto solo se basa en mis experiencias personales y observaciones.

Velocidad de desarrollo y conveniencia

Para TurboGears , Pylons y Django , la velocidad de desarrollo es más o menos igual. Siendo frameworks modernos, es fácil comenzar en un nuevo sitio y comenzar a juntar páginas. Python es famoso por su rápido desarrollo y depuración, y yo diría que cualquier framework de Python tiene un tiempo de desarrollo más corto que cualquier otra configuración con la que haya trabajado (incluyendo PHP, Perl, Embedded Perl y C # / ASP.Net).

Barreras a la entrada: capacitación e infraestructura para desarrolladores

Si conoces Python y estás dispuesto a ver un video tutorial de 20 minutos , puedes crear un sitio de tipo wiki bastante completo desde cero. O puede recorrer un tutorial de sitios de marcadores sociales en 30 minutos (incluida la instalación). Estos son ejemplos de TurboGears, pero los otros dos marcos también tienen tutoriales casi idénticos.

La infraestructura de prueba / desarrollo que viene de la caja con estos marcos es generalmente suficiente para completar la mayoría de los sitios. En cualquier punto, puede intercambiar componentes para cumplir con los requisitos de su entorno de producción. Por ejemplo, SQLite está bien para configurar sus modelos y cargar datos de prueba, pero querrá instalar MySQL (por ejemplo) antes de lanzar o almacenar grandes cantidades de datos.

En todos los casos, los requisitos son muy bajos y están dictados en su totalidad por sus requisitos de escalabilidad y no por las peculiaridades del marco. Si te sientes cómodo con cierto lenguaje de plantilla o ORM, probablemente te conectará directamente.

Cerrar

Este es un problema generalizado en todos los marcos. Cuando selecciona un idioma, limita sus opciones de reutilización de código. Cuando seleccionas un templater, estás nuevamente bloqueado (aunque eso es más fácil de cambiar, en general, que otras cosas). Lo mismo aplica para su ORM, base de datos, etc. No hay nada que estos marcos específicamente que ayuden u obstaculicen el lock-in.

Flexibilidad

Todo se trata de MVC con estos tres marcos. Como dijiste, ¡esa es una discusión muy diferente!

Rendimiento, escalabilidad y estabilidad

Bueno, si escribes un buen código, ¡tu sitio funcionará bien! Nuevamente, este es un problema en todos los marcos abordados por diferentes técnicas de desarrollo y probablemente esté fuera del alcance de esta respuesta.


Esta es una pregunta increíblemente subjetiva ... y esa es una etiqueta que debería agregar a su pregunta. Como ya han sugerido varios comentarios, ya ha especificado una guía bastante buena; ¿Qué estás preguntando en realidad? ¡Hay mil millones de opiniones sobre este tipo de cosas y definitivamente no hay una respuesta correcta!

Personalmente, comencé a usar .html, me pasé a php, probé Ruby (lo odié), descubrí Python / DJango ... y he estado feliz desde entonces. Ese es un camino único para llevar (probablemente) para que su kilometraje pueda variar :)