¿Es mejor codificar todo desde cero o usar un marco? (El tiempo no es un problema)

Prefiero construir mis propios marcos. Pero usaría marcos para manejar la mayor parte del trabajo duro que hay que hacer. Y no me importa usar marcos escritos por otra persona, siempre que acelere mi tiempo de desarrollo.

Estás diciendo que el tiempo no es un problema. ¡Incorrecto! El tiempo siempre es un problema, ya que mientras te tomas tu tiempo, otros desarrolladores están creando nuevas técnicas, nuevos idiomas, nuevo hardware y muchas otras cosas nuevas que harían que tu trabajo quedara obsoleto. Incluso si su proyecto no tiene una fecha límite, las cosas cambian constantemente y la solución que está utilizando en este momento podría quedar obsoleta dentro de un año. O dentro de cinco años. Debe seguir el ritmo porque en el mundo de las TIC, los cambios pueden llegar rápidamente. Realmente rápido.

¿Un ejemplo? Durante décadas, el lenguaje principal para el desarrollo de Apple fue Objective-C, un lenguaje similar a C ++. Pero aproximadamente un año más o menos, Apple creó un nuevo lenguaje llamado Swift y lo convirtió en código abierto al anunciar que los desarrolladores tendrán que usar Swift en lugar de Objective-C para nuevos proyectos. Y de repente, Objective-C se está volviendo obsoleto, aunque todavía puede usarlo dentro de 5 años.

Aún así, no tiene que mantenerse al día con los últimos y más recientes desarrollos. En ese caso, puede construir todo lo que necesita desde cero. Pero es probable que alguien más pueda ver su proyecto y usar técnicas más modernas y marcos adicionales para construir una mejor solución en menos tiempo. ¡Y esa es la mayor ventaja de usar frameworks!

Pero como dije, tiendo a crear mis propios marcos. Eso lleva tiempo, pero también lo hace todo mío, dándome el control total. Lo cual es genial, aunque también tendré que probar a fondo mis propios marcos. En general, la mayoría de los marcos son probados por cientos, incluso miles y más personas. Mi marco es probado solo por mí. Afortunadamente, soy muy bueno, pero incluso hago fallas. Esto le da al uso de marcos de terceros una mejor ventaja ya que más personas lo habrán probado, garantizando su calidad. (¡O la falta de ello!)

En unos 5 mil millones de años a partir de ahora, el sol comenzará a desaparecer, lo que significa que tendrá que terminar su código en la oscuridad.

El tiempo siempre es un problema.

Cuando dices codificar todo desde cero, estás dejando de lado muchos detalles sobre de qué estás hablando exactamente. Hay muchos contextos diferentes a lo que podría entenderse por marco.

Preguntaste sobre lo que es mejor.

Lo mejor es construir software. La creación de software se trata de la entrega. Lo mejor es lo que hace que la entrega sea más exitosa.

Cuando dices codificar todo, creo que estás siendo completamente ridículo. Te has olvidado de Sir Isaac Newton:

Todo lo que haces en el desarrollo de software es una capa construida sobre una capa construida sobre una capa. Capas que creo que en gran medida tendrías que estar loco para construir desde cero.

Piense en lo que desea construir y cuántas capas de sistemas operativos y protocolos existen entre usted y la electricidad. ¿Cuántas cosas se ocupan de usted que ignora casi por completo?

Todas esas capas existen por una razón, para resumir lo que no necesita saber de lo que hace para entregar. Cualquier marco o API es solo una capa más entre usted y él, ¿por qué de repente se opondría a eso?

Algunas personas tienen dificultades con la abstracción. Quieren profundizar en lo que está sucediendo y tratar de entenderlo. En algunos niveles, esta curiosidad intelectual es buena, pero en otros es increíblemente disruptiva. Ser un desarrollador de software exitoso a menudo requiere que aceptes que no sabes cómo funciona, pero funciona.

No necesito entender el código de otras personas para usarlo. Mucha gente diría que sí, pero no estoy de acuerdo. No me puedo imaginar la construcción de software de importancia y comprender cada pieza que entró en él.

En cierto nivel, debes aceptar que hay cosas que solo usas sin saber realmente lo que son. Solo estás hablando de dónde eliges ese nivel.

La consideración importante para usar cualquier cosa, un marco o de otro tipo, o codificarlo desde cero es cuán central es para el propósito central de su software. Realmente se reduce al control fino. Si necesita un control completo sobre lo que sea, codifíquelo usted mismo. Si no lo hace, entonces probablemente no debería.

He usado este ejemplo antes, pero ahora estoy creando software que grafica un montón de cosas. Yo uso un componente gráfico de terceros. Estoy extremadamente feliz de haber elegido hacerlo porque no solo hace todo lo que necesito, sino que incluso más de lo que necesito. Había una persona en el proyecto que quería codificar los gráficos desde cero y el otro día me estaba señalando algunas cosas geniales que podemos hacer con nuestros componentes, cosas que tal vez le hayan llevado semanas desarrollar.

Si solo está interesado en aprender, y por su comentario de tiempo infinito, me pregunto si ese es el caso, entonces codifíquelo usted mismo. Pero si realmente quieres construir algo o lo que quieres aprender no tiene nada que ver con codificarlo tú mismo, entonces no lo hagas.

En general, la respuesta es no. Enviar en su lugar.

depende, como usar principalmente frameworks / CMS ayuda al trato, además todas las empresas usan una base u otra, pero si está planeando algo nuevo y un framework tal vez esté cumpliendo la mitad de su trato, podría escribir un módulo para ese trabajo, haciendo así una contribución y ayudar a otros por las mismas cosas, pero si realmente está dispuesto a algo diferente y está a la vanguardia, ESCRIBA LIMPIO, ¡VAYA SOLO! Espero que el consejo ayude.

Esto es como uno de esos “¿Debo construir mi propia PC?” preguntas

Si lo codifica desde cero, sabrá su código por dentro y por fuera. Tendrá acceso a cualquier cosa, y si necesita llamar a algo o lo que sea, lo tiene y comprende cómo hacerlo.

Sin embargo, alguien más podría no: y por lo tanto, los marcos. Si necesita ser algo universal, entonces seguiría esta ruta.

Espero haber ayudado!

No soy codificador, no codifico. Pero supongo que la codificación desde cero le dará una curva de aprendizaje mejor y más grande que usar un marco. Pero un marco le permitiría codificar algo más rápido que desea crear.

Realmente depende de lo que quiera.

Tiendo a codificar todo desde cero para mis propios proyectos, si los estoy disfrutando. Eso es solo porque me gusta deambular por las posibilidades y me encanta usar juguetes geniales unos años antes de que estén ampliamente disponibles. Pero, lleva años poner en marcha la cosa, y nunca he recomendado hacerlo de esta manera a nadie. No va a comenzar ahora.

Tiendo a usar código de terceros afap para proyectos de trabajo (aunque a veces rompo esa regla, bajo mi propio riesgo).

Entonces, la prueba para mí es: ¿estás haciendo una cosa (sitio / aplicación) o estás haciendo un montón de partes para una cosa que se convertirá en una cosa una vez hecho todo? Esta es la misma pregunta con un enfoque diferente, y la forma en que responde esa pregunta le dice dónde está su enfoque. Si desea hacer la cosa, hágalo de la manera más fácil / de menor riesgo posible. Si está enfocado en hacer algo de eso (por ejemplo, tuvo un sueño y realmente quiere probar algo), entonces no lo cambie por un listo para usar solo porque lo hará más rápido.