¿Cuál es un buen método para comprender rápidamente un marco (web) dado?

Mi enfoque preferido es hacer algunos prototipos antes de trabajar en el proyecto del cliente, revisando los conceptos básicos y luego cualquier desafío específico para el trabajo. No tomaré un trabajo que esté demasiado alejado de mi experiencia (creo que es irresponsable), por lo que esto supone que ya tengo una buena base en el lenguaje y los patrones o paradigmas de diseño que emplea el marco.

Por lo general, hago referencia a la documentación para aprender la API, o libros / artículos de blog / etc. si la documentación es débil, y luego sitios de preguntas y respuestas como stackexchange para tratar problemas específicos que no están cubiertos en la documentación (errores oscuros o casos de uso que no están cubiertos por los documentos). Si hay buenos tutoriales, generalmente los revisaré como primer paso.

Como ejemplo, cuando me propuse aprender Angular para un proyecto, aquí es más o menos cómo lo aborde:
* pasó mucho tiempo con el cliente, reuniendo requisitos y obteniendo una imagen de lo que esperaban ver
* seleccionó los marcos que se sentían como el mejor ajuste (esto resultó ser angular y de arranque en la interfaz, el backend había sido un CMS con el que ya estaba familiarizado)
* revisó la documentación angular e implementó algunos prototipos básicos
* trabajó a través del tutorial angular de “base de datos de teléfonos celulares”, que fue realmente útil para comprender cómo se arma una aplicación angular
* escribí prototipos de cada componente principal de la aplicación, haciendo referencia a documentos y stackexchange cuando me encontré con problemas, que había un montón de – ¡angular tiene una curva de aprendizaje empinada para aplicaciones no triviales!
* pruebas unitarias de prototipos para verificar que estaban haciendo lo que yo pensaba que estaban haciendo (¡extremadamente importante!)
* guió al cliente a través de prototipos para obtener comentarios sobre UX
* prototipos desarrollados y refactorizados, generalizando el código donde sea necesario
* código resultante unificado en una sola aplicación angular js
* pruebas unitarias actualizadas para la arquitectura final
* Control de calidad y comentarios finales con clientes

En este caso, el cliente acordó cubrir parte de mi tiempo de autoeducación, que siempre es agradable. Teníamos una relación estable y ya sabían que querían trabajar conmigo para el proyecto. En un caso más típico, necesitaría poder demostrar cierta competencia antes de obtener el trabajo, por lo que la fase de autoeducación puede llegar incluso antes de presentar su oferta.

Todas las anteriores. Realmente no hay manera rápida; La comprensión profunda lleva tiempo. Es una combinación de leer documentación y código, y escribir y experimentar con el código, además de visitas ocasionales a Stack Overflow, publicaciones de blog, etc.

More Interesting

¿Cuáles son las ventajas y desventajas de usar generadores de sitios estáticos?

¿Cómo funcionan las unidades de medida en HTML y CSS?

¿Puedo dominar el desarrollo web mientras estoy en la escuela secundaria?

¿Por qué los proyectos de desarrollo web tardan tanto en completarse y cómo se termina más rápido?

¿Con qué 10 API de Bitcoin debe comenzar un desarrollador?

¿Cuál es la mejor manera de archivar un sitio web (capturar, almacenar datos) que está a punto de tener un rediseño importante?

Cómo obtener backlinks rápidamente para un sitio web

¿El portátil de 13 pulgadas es lo suficientemente bueno para el desarrollo?

¿Cuáles son los 5 principales programas necesarios que necesita saber para crear un sitio web como Facebook en la esencia de iniciar sesión y publicar cosas?

¿Cuál es un buen sitio para mí para crear un sitio web gratuito?

¿Es ASP.NET lo más parecido al marco de solución todo en uno? Tiene un buen rendimiento, un lenguaje potente detrás de él, que puede manejar operaciones intensivas de CPU a diferencia de JavaScript.

¿Cómo calculan los sitios como Quora, Stack Overflow y Facebook el alcance (vistas) de cada 'publicación' incluso si el usuario no ha iniciado sesión?

Cuando publica una publicación en WordPress, ¿crea una nueva página?

Para dividir una tabla en HTML en cuatro partes iguales, ¿cuál es el código?

Aprendiendo HTML5, CSS y JavaScript en 2016, ¿no tendré educación en 5 años, ya que está cambiando rápidamente?