2. Frameworks de desarrollo
R01.01.01
En este apartado se enumeran y describen los frameworks más habituales para el desarrollo de PWA i que son permitidos por el Ayuntamiento para sus productos. En caso de que un proyecto requiera el uso de otro framework diferente a los expuestos, será necesario, de forma previa al iniciar los Desarrollos, justificar a la OSAM el motivo de esta necesidad basada en aspectos técnicos.
2.1.React
Es una librería Javascript desarrollada por la comunidad de código abierto y mantenida por Facebook. Es un framework que utiliza su propio sistema de componentes, opera totalmente en Javascript y utiliza el DOM virtual para renderizar la aplicación. La PWA es muy fluida gracias a este sistema.
Es un framework con una sintaxis muy semántica, tiene muchísima documentación y su comunidad es muy activa y participativa.
Para más información: https://reactjs.org/
2.2.Ionic
Es una librería Javascript (Angular o transcripción) para desarrollar apps híbridas de código abierto. Es un framework con componentes propios de mucha calidad y listos para usar. Para facilitar su desarrollo, dispone de una herramienta de línea de comandos, ésta permite generar código desde el terminal muy fácilmente, además, tiene un SDK propio, muy cómodo para cualquier desarrollador.
Dispone de un gran volumen de documentación y una comunidad activa existente.
Para más información: https://ionicframework.com/
2.3.Vue
Es una librería Javascript modular, es decir, permite comenzar con un paquete muy sencillo de código (74KB), y escalando el paquete con diferentes módulos propios, según la necesidad de la app. Tiene un sistema de renderizado y ciclo de vida de componentes parecida a React, de ahí que la app es muy fluida.
Es un framework basado en Javascript, HTML, y CSS, tiene una comunidad cada vez más activa y con documentación.
Para más información: https://vuejs.org/
2.4.Polymer
Es una librería JavaScript de código abierto mantenida por Google. Es el único framework que utiliza la API nativa de navegador de Componentes Web, por lo que siempre tiene la última tecnología disponible. Utiliza un sistema de renderizado de componentes propio, similar al DOM virtual. Polymer actualiza sólo la parte del componente que cambia, y no el componente entero.
Al utilizar la API de Componentes Web, sus componentes se pueden exportar a otras apps o webs, y también se pueden compartir con la comunidad, para que otros desarrolladores los utilicen. Polymer tiene una serie de componentes con estética "Material Design", para facilitar su desarrollo.
Para más información: https://www.polymer-project.org/
2.5.Adopción de nuevas versiones de los frameworks
R01.01.02
Se requiere mantener las aplicaciones actualizadas a la última versión estable de los frameworks utilizados, así como las actualizaciones de versiones minor que incorporen cambios de seguridad o correcciones de errores. De este modo se incorporarán las mejoras de rendimiento, seguridad, usabilidad, etc. que incorporen. Desde la publicación oficial del framework hasta la actualización de la versión en producción debe transcurrir un período de tiempo acotado:
- Actualizaciones de seguridad o corrección de errores: una semana
- Actualización para nueva versión estable: un mes
2.6. Lenguajes de programación
R01.02.01
Se requiere el uso de transcripción como lenguaje de programación, por los beneficios que aporta:
- Detección de errores en tiempo de compilación
- Facilidad para el desarrollador debido a su integración con los IDE: asistente de código, validaciones, linters...
Siguiendo este razonamiento, el tipo no se puede omitir y no se podrá utilizar el tipo año, ya que entonces no obtendríamos los beneficios comentados.
En caso de que el proveedor necesite utilizar un lenguaje de programación diferente al indicado, deberá justificar a la OSAM esta necesidad y será necesario la aprobación de esta para continuar con el proyecto.