VOLVER

Mitad de periodo

2 min de lectura

La mitad del periodo de GSoC acaba de pasar. Es hora de revisar el trabajo desde que comencé el proyecto. Después de estas semanas trabajando en Jangouts y usándolo regularmente para reuniones de seguimiento, me encanta como si fuera mío. Trabajar en este proyecto es gratificante: lo suficientemente pequeño para comprenderlo, pero respaldado por una comunidad creciente. Jangouts permanece en una etapa temprana pero tiene gran potencial.

Trabajo realizado

No cumplí mi cronograma inicial, pero estoy cerca y la parte más difícil pasó. Jangouts ahora usa TypeScript con un nuevo proceso de construcción/desarrollo y funciona como aplicación híbrida Angular 1.x/Angular 2.

Jangouts está compuesto de diferentes componentes:

  • browser-info
  • chat - Migrado
  • feed - Casi migrado
  • footer - Migrado
  • notifier
  • room
  • router
  • screen-share
  • user
  • videochat
  • signin

Cada migración de componente implica conversión de Angular 1 a 2 y tests apuntando a cobertura cercana al 100%. Los componentes más complejos de migrar son feed y room porque manejan el renderizado de vídeo y la comunicación con el backend de Janus. El router probablemente requerirá una reescritura completa para el nuevo router de Angular 2.

Mentores

Solo tengo cosas buenas que decir sobre @ancorgs y @imobach. Hacemos reuniones diarias (cuando es posible), y me dan feedback mientras me permiten libertad para tomar mis propias decisiones (cuando doy razones).

Próximos pasos

En las próximas semanas, continuaré migrando componentes hasta poder eliminar Angular 1. Cuando la migración termine, Jangouts será un proyecto Angular 2 con una suite de tests completa. Mi trabajo de GSoC estará completo, pero quiero hacer más. Muchas cosas pueden mejorar:

  1. Reestructurar el proyecto moviendo lógica de componentes a servicios.
  2. Aprovechar mejor los Observables (probablemente usando @ngrx/store)
  3. Mejorar UI y UX móvil usando conceptos de progressive web apps.
  4. Mejorar comunicación y comunidad (página web del proyecto, mejores docs de contribución, etc.)