Hay tantos marcos de aplicaciones web en este mundo. ¿Cómo se elige el correcto?

Hay algunos puntos cruciales que aún no he visto en estas respuestas, por lo que espero que estos pensamientos puedan contribuir a la comprensión general de los marcos.

Para que cualquier marco sea una opción viable, debe estar exquisitamente documentado . Esto significa documentación real de la API, así como un conjunto completo de tutoriales de integración, etc. Sin estos, usted y otros desarrolladores caminarán por un bosque oscuro y profundo.

Después de eso, debes considerar cómo piensas. Durante mucho tiempo, pensé que la lógica era lógica. Esto no es verdad. Para que usted sea feliz codificando, un marco debe reflejar su estilo de lógica. Hay ciertas personas que piensan como Rails, ciertas personas que piensan como Django, ciertas personas que piensan como Cake, etc. Si no piensas como ninguno de estos, no te molestes en tratar de usarlos. Tu experiencia apestará. Debe encontrar un marco que coincida con su lógica al menos el 90% del tiempo.

Lo último que realmente importa cuando estás haciendo un trabajo profesional es cuántas personas están usando el marco. Si solo hay tres personas en el mundo que usan un marco, entonces un cliente determinado tendrá que incurrir en los costos de un desarrollador que aprende el marco mientras realiza el trabajo (que es un costo financiero y lógico a medida que el desarrollador tropieza tratando de piratear cosas para cumplir con las especificaciones del trabajo) o aceptar el precio que una de estas tres personas le da. Ese no es un lugar divertido para estar como cliente, y debe asegurarse de que el cliente comprenda cómo la elección del marco dará forma a sus opciones para el desarrollo futuro.

¡Espero que ayude!

Tienes que darte cuenta de que no puedes aprender todo esto. Lo que elija aprender significa elegir no aprender otra cosa que pueda ser útil. La única forma de salir de esta angustia existencial es elegir algo, arbitrariamente, si es necesario.

Hago trabajo de desarrollo web. Para el front-end, utilizo Bootstrap y jQuery. Para el back-end, ya que, para proyectos web, codifico PHP, uso CodeIgniter. Hay muchas opciones que uno podría usar, incluso quedarse con PHP.

Antes de comenzar a hacer trabajo de desarrollo con PHP, había probado Perl, pero no llegué tan lejos con eso. PHP, por cualquier razón, tenía sentido para mí. Así que me quedé con eso. Cuando finalmente pude probar los frameworks PHP, el que probé primero fue CakePHP. Pero lo encontré innecesariamente restrictivo. Así que probé CodeIgniter, y simplemente hizo clic.

¿PHP es el lenguaje completo? Por supuesto no. Ruby es mucho más elegante. ¿Eso significa que voy a tirar PHP y aprender Ruby / Rails? Lo he considerado; Pero nunca lo he hecho. ¿CodeIgniter es el mejor de todos los frameworks PHP posibles? No de lo que he leído. Pero me quedo con eso, porque lo entiendo lo suficientemente bien como para hacer lo que necesito hacer.

En definitiva, no puedes hacer todo. Simplemente no hay suficiente tiempo. He jugado con muchos idiomas. A algunos me gustan, a otros no. Cualquiera que sea el idioma que sea su idioma principal, pasará mucho tiempo con él. Por lo tanto, es mejor encontrar idiomas y marcos con los que disfrute trabajar, a menos que, por supuesto, tenga que usar uno que no le interesa por necesidad. Por ejemplo, puedo codificar muchísimo con Access VBA, pero espero no tener que volver a hacerlo nunca más. Era bastante competente en ActionScript en un punto. Nunca codificaré otra línea de eso. Pero se adaptó a mis propósitos en ese momento.

Si mi jefe vino a verme mañana y dijo “realmente necesitamos que aprendas Python y Django en unas pocas semanas para que puedas ayudarnos en este proyecto, simplemente lo haría. Me gusta aprender cosas cuando tengo una razón para hacerlo”. Una vez que aprende los bits conceptuales de programación, aprender un nuevo lenguaje no es una tarea tan desalentadora como a veces parece.

Gracias por el A2A.