Elección de la arquitectura – DEV BLOG #2

Sé que ha pasado mucho tiempo desde que anuncié (con mucha intención) el comienzo del proyecto. Pero está bien, no pretendo acabarlo cuanto antes. Como lo hago simplemente por diversión, me siento libre de dedicarle tan solo el tiempo que me apetezca. Esta afición es como todo, hay veces que te llama, y hay temporadas en las que simplemente te satura. Y creo que ha llegado el momento de comenzar a entrar en materia.

Esta es la parte más crucial de comenzar a programar algo, el momento en el que tomas las decisiones irreversibles que van a encarrilar el resto del desarrollo: el alcance, la elección de tecnología y la planificación. En mi caso, como no tengo una línea de meta ni un tiempo máximo en el que cruzarla, la planificación va a ser más sencilla, ¿qué voy a hacer primero, qué necesito para lanzar una versión de la aplicación que pueda considerar acabada?

El alcance

Bien, ¿qué pretendo hacer? ¿Lo tengo realmente claro? Hasta ahora estaba claro que iba a hacer una web, pero, ¿me he planteado realmente lo que necesito? ¿Quiero que el desarrollo incluya una aplicación móvil? Lo cierto es que no, por el momento. Y sé que esa expresión es peligrosa, porque ampliar un alcance una vez comenzado un desarrollo puede ser desastroso y sobretodo ineficiente, una pérdida de tiempo que se puede evitar si se hace una buena estimación al inicio. Sin embargo en mi caso lo tengo claro: no quiero una aplicación móvil, quiero un desarrollo centrado en una sola plataforma, tan solo tengo que comprometerme a hacer un diseño responsive. La probabilidad de que merezca la pena mantener una aplicación para otra plataforma que no sea web es tan ínfima, que no vale la pena considerarla.

La tecnología

A lo largo de mi recién comenzada y por tanto corta carrera me he centrado en Java como lenguaje, y es una zona de confort de la que difícilmente saldré en un futuro cercano. Y puedo afirmar esto porque este lenguaje tiene una versatilidad amplísima y me ofrece un soporte muy seguro para hacer prácticamente cualquier cosa, y, las webs dinámicas son una de ellas.

Todo lo que necesito es un framework versátil, en una palabra: Spring. O todavía mejor, en dos: Spring Boot. Sin dudarlo ni un momento mi elección para desarrollo web en Java es este gran framework que me proporciona todas las herramientas que voy a necesitar y se integra perfectamete con lo que el proyecto necesita (autenticación, persistencia de datos, una lenguaje de inyección de HTML dinámico…). Desde que empecé a trabajar con Spring JPA, Security y Thymeleaf todos los desarrollos se han vuelto automáticamente menos imponentes y más manejables. Sé sé que el mantenimiento va a ser sencillo y que si el proyecto escala no tendré problemas.

La planificación

Como he indicado más arriba, este punto no me inquieta. Al ser un proyecto personal, sin presiones, puedo hacerlo a mi ritmo, pero tengo que tener claras unas bases, una ruta, porque subirse a las nubes en un proyecto es muy sencillo y dotarlo de una complejidad mucho mayor de lo que merece es un pozo en el que se cae con facilidad.

Por ahora voy a centrarme en unos sencillos pasos; el primero, la creación de un sistema de registro y login; el segundo, un sistema de visualizado de los regalos dinámico; el tercero, una interfaz para la creación de los propios regalos.

Y sí, aunque parezca ilógico, creo que el orden correcto es poder mostrar los regalos antes de poder crearlos, porque hasta que no conozca los detalles de lo que quiero que se muestre, no voy a saber exáctamente qué necesito que el usuario decida. Hacerlo en este orden me va a facilitar organizar las ideas; guardarme las importantes y descartar las menos necesarias.

No me quiero estancar con el diseño.

Así de sencillo va a ser el diseño provisional. Conozco mis límites, el diseño web se me da decentemente cuando se trata de aplicaciones corporativas, minimalistas… pero transmitir emoción, diversión, etc, es más complicado.

Cuando la funcionalidad esté acabada ya pensaré en decidir quién es la persona que tenga la capacidad (y el arte) de hacer un diseño más llamativo y profesional. Tengo muchas ideas acerca del mismo, pero hasta que tenga algo funcional me tendré que conformar con soñar con ellas. El que mucho abarca, poco aprieta.

Seguiré informando del progreso de este proyecto, espero más pronto que tarde. Hasta entonces, ¡nos vemos!

Sé el primero en comentar

Deja un comentario

Tu dirección de correo electrónico no será publicada.