Desarrollo frontend de Bloque 64, el periodico hispano descentralizado (1)

La primera tarea que queremos alcanzar

La comunidad hispana de Cervantes en steemit está llena de personas entusiastas y emprendedoras. Con el advenimiento de los Smart Media Contract (SMT) y la posibilidad de tener contratos inteligentes dentro de la blockchain de STEEM, muchos apuestan por usar la plataforma como soporte de la interacción económica de sus innovaciones.

Tal es el caso de bloque64, un periódico que va a usar la blockchain de STEEM para administrar su lógica de negocio. Si quieres conocer sobre el potencial de esta decisión te invito a escuchar los podcast de la comunidad de Cervantes al respecto.

Ya que como comunidad nos mantenemos en contacto a través de un chat en discord, no resulta raro que @pgarcgo, creador de bloque64, algún día haya comentado sobre la necesidad de un desarrollador frontend para el periódico. Yo esuché eso, me puse en contacto con él, y aquí estamos, comenzando un viaje muy interesante y sin dudas absorvente.

Una ruta, o roadmap, o como mejor se le pueda llamar

La idea es ir publicando posts que indiquen los avances que tengamos en el desarrollo de la página web. Serán checkpoints, donde veremos hasta donde se ha llegado, usando un formato común de publicación. Hablaremos algunas cosas técnicas, y hacia donde queremos ir en el próximo paso.

Ahora la parte técnica

El lenguaje sobre el que vamos a trabajar es por excelencia el de la web: javascript. Y como framework usaremos Vue js, "el framework progresivo", con lo que vamos a crear un entorno que pueda ir escalando a medida que las necesidades del proyecto cambien o aumenten.

La herramienta que vamos a usar

Vue js nos da la posibilidad entonces de mantener el siguiente enfoque:

  • Saber en qué estado estamos (con respecto a los paquetes de Vue que estemos usando, el flujo de la lógica de datos, la manera en que se acceden a los servicios de backend, etc.)
  • Avanzar con cuidado hacia el próximo objetivo.
  • Si el paso que tomamos fue errado, estar listos para retroceder hacia el lugar donde no hay errores.
  • Ajustar el entendimiento en base a lo aprendido.
  • Volver a iterar este ciclo.

De igual manera, contamos con toda la documentación relacionada con Vue y con una comunidad entusiasta, que ama el framework.

Fase en que comienza el desarrollo

Vue con su filosofía progresiva, por defecto solo es un pequeño *core* que sabe cómo renderizar componentes. Pero para poder arrancar en una aplicación como bloqu64, necesitamos añadir cierta complejidad inicial, para que los cambios futuros sean rápidos.

Así que he tomado el código del proyecto de su repositorio en github , y le he añadido lo que personalmente considero que es necesario para un desarrollo exitoso:
  • Typescript: Un lenguaje que transpila a javascript, y que permite el uso de *features* que se ven en lenguajes de mayor complejidad, como son interfaces, clases, y otras herramientas de la programación orientada a objetos.

  • Unit-jest: Una herramienta para hacer unit test en javascript.

  • Inversify: Una biblioteca (o librería, como le gusta decir a la comunidad developer hispana), para manejar inyección de dependencias.
  • Vuex: Una herramienta para ir llevando el estado global de la aplicación.

  • Nuxt js: Una biblioteca de Vue js que envuelve a Vue, acercando al framework a proyectos que necesitan cierto nivel de complejidad, como es el caso nuestro.

  • Junto a esto, el código fuente usa vue cli (Command Line Interface), en su versión 3, la cual es algo diferente a las anteriores. Y además, la comunicación con el backend (que por ahora es Steem Engine) lo hacemos usando axios (otra herramienta).

    En fin...

    A toda decisión que tomemos, se le añade siempre la cuota de incertidumbre propia de la vida. Esto se aplica también para la innovación y los proyectos que se quieran llevar a cabo. Haremos no obstante, nuestro mejor esfuerzo por trabajar con agilidad, y tener lista pronto una página web a la medida de lo que queremos que sea bloque64, un periódico hecho por el pueblo, para el pueblo.

    El estado en que nos encontramos

H2
H3
H4
3 columns
2 columns
1 column
9 Comments
Ecency