Ahora ni siquiera puedo hacer un sitio web pequeño





En resumen, recuerdo bien cómo en 2013 me senté y escribí un pequeño sitio web en un día.



Era un sitio sobre los eventos de mi ciudad natal. Todos los eventos de la próxima semana se muestran en una página.



Hice una página con eventos y un pequeño panel de administración donde se editaron. Tenía un libro sobre PHP, así que escribí el sitio en PHP, conecté la base de datos MySQL, lo distribuí en HTML y CSS y lo cargué en un alojamiento compartido. Se utilizó el sitio, y agregué diligentemente eventos todas las mañanas hasta que entré en el ejército, sin dejar a nadie para apoyar. Entonces el sitio murió.



La idea del sitio todavía me parecía buena y decidí revivirla. Parecería, tómalo y hazlo, pero lo que jugó en mi contra fue que realmente no recordaba PHP, y ya había logrado ganar experiencia en desarrollo en empresas muy grandes, medianas y pequeñas.



Decidí ponerme manos a la obra y comencé a pensar.



Hmm, no puedo simplemente tomar PHP y escribir algunas páginas mezcladas con HTML. ¿Cómo voy a soportar esto sin OOP y la división de código normal en general? Además, todo el mundo dice que PHP no es muy bueno, ¡y cuántas versiones nuevas han salido!



Supongo que necesito tomar algo más moderno, Node.js o Python. Pero, por supuesto, no solo escribiré sobre ellos porque no son las mejores prácticas. Quizás tome algún marco, por ejemplo, Django o Express.js. Sin embargo, estos son los frameworks más populares, pero hay otros, más modernos, que debes buscar.



Habiendo decidido que usaría Python o Node.js, me di cuenta de que regalar páginas enteras del servidor no es bueno. ¿Cómo puedo hacer ventanas emergentes de autorización o carga dinámica en este caso? Bueno, no con jQuery, ¡Dios no lo quiera! Probablemente usaré React o Vue.js para escribir una interfaz adecuada basada en componentes. Angular será exagerado, por supuesto. Usando un marco, necesito conectarme al backend a través de una API, así que estoy usando Django REST Framework o algo así. Es bueno que Express.js pueda hacer esto por sí solo, tal vez valga la pena elegir Node.js al final. En la interfaz, debería conectar Axios, aunque ahora existe Fetch, pero ¿es compatible con todos los navegadores? ¿O tal vez debería usar Svelte para aprender algo nuevo al mismo tiempo?



Ahora vale la pena configurar el IDE correctamente para respetar los estilos de código, corregir la sangría y nunca olvidar escribir triple igual en lugar de doble. La configuración es difícil porque los complementos IDE discuten entre sí y ponen punto y coma en los lugares incorrectos.



Habiéndolo descubierto, entiendo que mi código debe almacenarse en algún lugar. Como ya estoy bastante cansado, elegiré el GitHub más popular. Después de configurar la autorización de Git y ssh en mi computadora, me doy cuenta de que no sé qué sistema de bifurcación usar. GitFlow es demasiado redundante mientras estoy solo, pero ¿no compromete todo con la rama maestra? Nunca se sabe, alguien se unirá al proyecto, o si muestro el repositorio en la entrevista, todos se reirán. También hay una pregunta no inactiva de qué escribir en las descripciones de las confirmaciones y en qué idioma, pero dejémoslo para más adelante.



Vale la pena pensar en cómo implementar todo esto en un hosting. Si el backend está en Python, entonces necesita crear un entorno virtual y trabajar en él. Por alguna razón, esto no funciona completamente en el servidor, siempre falla algo. Por cierto, ¡debes ejecutar la aplicación como un servicio para que todo se reinicie después de un bloqueo! ¡Todo, ahora definitivamente nos llevaremos a Noda! Para respaldar en Node.js, necesita encontrar un alojamiento donde funcione Node.js, y todos están basados ​​en la nube y son muy modernos. Allí debe configurar la implementación del proyecto desde el repositorio en GitHub, pero no puedo simplemente conectar la rama maestra, porque entonces todos mis cambios irán inmediatamente al servidor, lo cual no es muy bueno. Por supuesto, puede implementar manualmente, pero esto también está desactualizado de alguna manera. Quizás vuelva a pensar en el sistema de ramificación.



¡Oh, sigue siendo el mismo DB! Parece que PostreSQL es bueno, e incluso trabajé con él, pero ¿tal vez necesito una base de datos nosql? La pregunta sigue siendo cómo implementarlo en el servidor y cómo mantener la misma estructura en mi computadora y en la nube sin perder datos, pero esto todavía está muy lejos.



Ah, casi lo olvido. Dado que la interfaz está en marcos JS, entonces debe pensar en la representación del lado del servidor, es importante que mi proyecto esté indexado. Hmm, ¿no necesitas usar Next.js o Nuxt.js para esto? Necesidad de pensar.



Como ya comencé a olvidar algo, también necesito atornillar un rastreador de tareas para rastrear las tareas y el progreso. ¿Debería utilizar las metodologías Scrum o Kanban? O mientras estoy solo, ¿puedo hacer eso? Entonces, ¿cómo realiza un seguimiento de los plazos?



Tampoco he pensado en TS, ES6, SASS, PUG, GraphQL, OOP, programación funcional, inmutabilidad y todo eso. ¡Y será necesario fijar el certificado HTTPS! ¿Quizás debería conseguir un par de amigos en el equipo para que todo salga bien? Entonces no puede prescindir de Scrum y Pull Requests.



En esta nota, finalmente estaba cansado y pensé que tal vez debería buscar un viejo libro sobre PHP y hacer todo como en 2013, cuando no tenía idea de nada de lo anterior y la mitad de las tecnologías aún no habían aparecido. Parece que estoy pensando demasiado en el futuro. Resolveré todo esto más tarde, ahora veré la serie y me iré a la cama, y ​​mañana definitivamente comenzaré a programar.



All Articles