(Nota: hay más información que incluye una lista de material de lectura en los comentarios)
Está muy bien sugerir que alguien debería aprender todo.
Pero, una vez que aprende un marco o dos, entonces debería poder recoger a otros muy rápidamente porque la mayoría gira alrededor de los mismos grupos de ideas. Los idiomas, por otro lado, te obligan a pensar de manera diferente sobre problemas similares, de esta manera obtienes más valor.
- ¿Qué tan difícil es crear IA que pueda hacer un desarrollo completo de la pila, por ejemplo, crear un sitio web por sí solo?
- Aprendí HTML, CSS, Javascript, JQuery, PHP postgreSQL y Laravel. ¿Debería pasar tiempo aprendiendo Ajax y Node.js o continuar con PHP?
- ¿Por qué Google quiere acelerar la web con iniciativas como Fiber to Home y Blink?
- ¿Cómo funcionan los sitios web de descarga gratuita de mp3?
- Cómo redirigir a un usuario a una página de perfil si ya ha iniciado sesión con HTML CSS
Los marcos son soluciones genéricas a los problemas. En consecuencia, obtienes más y menos de lo que necesitas y luego pasas tu tiempo trabajando con soluciones que resuelven tus problemas con torpeza (ver: Ruby on Rails ActiveRecord). En esta cultura, ActiveRecord es visto como una gran bendición. Sin embargo, tuerce las aplicaciones a su alrededor de maneras indeseables. Esto es algo que no te dicen al entrar. Se supone que debe estar convencido de lo fácil que es interactuar con la base de datos, etc. Pero nunca se le dice que ActiveRecord no es adecuado para casi todo excepto CRUD.
Los marcos son buenos y buenos. Pero, no quieres estar encerrado en ellos. Úselos donde tengan sentido (trabajo de agencia, por ejemplo). Pero, tenga en cuenta que son muy obstinados y la probabilidad radica en el hecho de que al usarlos está haciendo muchos compromisos que complicarán su desarrollo. Proporcionan una manera de comenzar y un aumento de velocidad inicial.
No estoy sugiriendo que escriba todo desde cero (probablemente sería más esclarecedor que aprender Ruby on Rails). Pero, creo que armar su propia aplicación basada en bibliotecas que arranque puede tener mucho valor.
Tenga cuidado con la multitud del marco que le dice que no desea reinventar la rueda o que no puede hacer un buen trabajo. Esto se debe a sus etapas específicas de desarrollo y a lo que ACTUALMENTE saben que les brinda las mejores oportunidades de lograr sus objetivos.
A menos que pueda pasar de ver a través del ‘filtro de marco’, diseñará sus soluciones en torno a lo que le brinda el marco y lo que le dice la comunidad. Idealmente, superarás ese punto y podrás hacerlo mejor por ti mismo que cualquier marco de trabajo individual. Es bastante posible usar un marco como base y simplemente evitar usar aspectos de él (como ActiveRecord), trayendo sus propias bibliotecas para manejar mejor sus necesidades.
Aprender conceptos de conocimiento general tales como modelado orientado a objetos, programación funcional, patrones de persistencia, etc. tiene mucho más valor que simplemente aprender más idiomas. Aprender nuevos idiomas tendrá muchos más beneficios que solo aprender más bibliotecas y marcos. El valor de los marcos de aprendizaje es algo que pasa muy rápido, dejándolo con pocos beneficios a largo plazo para demostrarlo.
Al comprar libros, considere evitar libros que enseñen tecnologías específicas (EmberJS) y considere centrarse en actividades de conocimiento general comprando libros con un valor intemporal (Código Limpio, Refactorización, Libro GOOS).
Completar un montón de conocimiento intemporal será significativamente más valioso que “Trucos de PHP 5.3″.
Si desea poder construir algo rápidamente, elija cualquiera de las tecnologías enumeradas. Si desea abrir los ojos a nuevas perspectivas, concéntrese en hacer exactamente eso y evite enfocarse en las herramientas.