¿Es posible que un desarrollador construya un marco desde cero como Laravel en un año?

Compruebe los contribuyentes de Laravel:
https://www.openhub.net/p/larave…
La gran mayoría de los commits (7466/10250) han sido realizados por un desarrollador, Taylor Otwell, pero durante más de tres años.

Luego verifique los contribuyentes de Symfony2, que usa Laravel.
https://www.openhub.net/p/symfon…
La mayoría de los commits (9686/18828) fueron nuevamente por un desarrollador, Fabien Potencier, durante cinco años.

Hubo muchas otras personas que contribuyeron a ambos proyectos, pero en ambos casos, el proyecto está más o menos desarrollado por una persona.

Cuando miras un proyecto como Laravel o Symfony2, no se trata solo de mucho código. Es un código cuidadosamente refinado, después de muchas pruebas de desarrolladores y pruebas de campo. Ese proceso de maduración lleva tiempo.

Los usuarios son cruciales. Un proyecto tan complejo necesita muchos usuarios para probarlo. Lo prueban en sitios de producción de maneras que el desarrollador no puede pensar o no puede reproducir. La prueba de campo es muy importante para crear un producto maduro. Incluso diría que no es posible crear un marco exitoso mientras estás solo en tu habitación.

Es difícil lograr que muchos usuarios prueben el software exhaustivamente en un tiempo limitado. Tienes que ser paciente. Pones el software ahí fuera, lo publicas y esperas que la gente lo encuentre y lo pruebe. Luego espera a que desarrollen sus propios sitios web, luego espera a que sus sitios web se vuelvan lo suficientemente populares como para obtener mucho tráfico y solo entonces recibe comentarios que revelan dónde necesita mejorar su marco.

Luego, debe dedicar tiempo a desarrollar esas soluciones y lograr que las personas actualicen. No se actualizarán de inmediato cuando lo desee, porque están ocupados o necesitan programar una hora en la que puedan desconectar su sitio web para realizar la actualización. Esto puede llevar más meses.

Entonces, ¿puede desarrollar la primera versión de un marco en 12 meses? Quizás, si no tienes otro trabajo y realmente trabajas horas intensas. Pero, ¿puedes hacer un producto que tenga toda la madurez y las pruebas de campo que tiene Laravel? Diría que es mucho más difícil apresurarse, y tiene poco que ver con lo bueno que eres como desarrollador.

Se puede hacer si pasa mucho tiempo en ello, pero necesitará la ayuda de una comunidad para perfeccionar y perfeccionar el código eventualmente. Por lo tanto, es posible que tenga algo “como” Laravel, pero no será tan bueno y no tendrá tantos módulos proporcionados por la comunidad.

Sin embargo, si desea un proyecto paralelo divertido, crear un marco es increíble para ayudarlo a practicar la programación y aprender un montón de mejores prácticas y técnicas de refactorización. Tengo mi propio marco que utilizo internamente para clientes *, pero esto se ha refinado durante mucho más tiempo y no se ha lanzado al público (todavía …), ni es tan refinado como un marco como Laravel y tal.

* Principalmente para cosas especializadas, generalmente me encuentro usando algo más la mayor parte del tiempo.

Reescribir exactamente la misma funcionalidad no tiene sentido desde el punto de vista económico, pero puede escribir un módulo de enrutamiento compatible con API y agregar una abstracción para el DB y las herramientas para la vista / plantillas si tiene requisitos específicos para hacerlo.

Reutilizar los módulos desarrollados por la comunidad se vuelve más difícil, pero el proyecto se vuelve ágil y no está vinculado a los ciclos de lanzamiento u otras decisiones técnicas del marco.