Estándares de Construcción Aplicaciones Angular v1.0
Estándares de Construcción Aplicaciones Angular v1.0
Estándares de Construcción Aplicaciones Angular v1.0
Versión: 01
Estándares de Construcción Aplicaciones Fecha:
Rev.:
Angular v1.0 Aprob.:
Versión: [1.0]
Antamina Página 1
FORMATO
Versión: 01
Estándares de Construcción Aplicaciones Fecha:
Rev.:
Angular v1.0 Aprob.:
HOJA DE CONTROL
REGISTRO DE CAMBIOS
Versión Causa del Cambio Responsable del Cambio Fecha del Cambio
Antamina Página 2
FORMATO
Versión: 01
Estándares de Construcción Aplicaciones Fecha:
Rev.:
Angular v1.0 Aprob.:
1 INTRODUCCIÓN .............................................................................................................. 4
1.1 Alcance ........................................................................................................................ 4
1.2 Objetivo ....................................................................................................................... 4
2 Definición de elementos de programación Front-End........................................................ 5
2.1 Configuración .............................................................................................................. 6
2.2 Módulo ......................................................................................................................... 8
2.3 Componentes Web ....................................................................................................... 9
2.4 Routes ........................................................................................................................ 11
2.5 Core Guard ................................................................................................................. 13
2.6 Interceptores ............................................................................................................... 15
2.7 Services ...................................................................................................................... 17
3 Estándares de desarrollo de Front-End ............................................................................. 20
3.1 Anatomía de un módulo ............................................................................................. 20
3.2 Anatomía de un componente ..................................................................................... 21
3.3 Componentes públicos o privados ............................................................................. 24
4 Proyecto Demo ................................................................................................................. 25
4.1 Inicialización .............................................................................................................. 25
5 ANEXOS .......................................................................................................................... 30
5.1 Glosario de Acrónimos y Abreviaturas ...................................................................... 30
Antamina Página 3
FORMATO
Versión: 01
Estándares de Construcción Aplicaciones Fecha:
Rev.:
Angular v1.0 Aprob.:
1 INTRODUCCIÓN
El presente documento se basa en la necesidad que existe por parte de los equipos de trabajo
de no contar con un lineamiento que permita construir aplicaciones Front-End basado en el
lenguaje TypeScript.
1.1 Alcance
Proporcionar un documento que permita iniciar con una línea base para la construcción de las
aplicaciones Front-End.
1.2 Objetivo
Proporcionar al equipo de desarrollo una convención de nomenclaturas para los diferentes
elementos que encontramos en la etapa de desarrollo, a continuación se presenta las reglas y
recomendaciones a considerar.
Antamina Página 4
FORMATO
Versión: 01
Estándares de Construcción Aplicaciones Fecha:
Rev.:
Angular v1.0 Aprob.:
Antamina Página 5
FORMATO
Versión: 01
Estándares de Construcción Aplicaciones Fecha:
Rev.:
Angular v1.0 Aprob.:
2.1 Configuración
package.json: contiene todas las librerías instaladas en el proyecto. También tiene un atributo
llamado script, el cual sirve para tener atajos de comandos personalizados.
Si nos fijamos en la instalación inicial, tenía estos scripts:
Luego de personalizar nuestro archivo se puede observar (la personalización del comando se
ajusta según la necesidad que tenga el proyecto)
Antamina Página 6
FORMATO
Versión: 01
Estándares de Construcción Aplicaciones Fecha:
Rev.:
Angular v1.0 Aprob.:
Antamina Página 7
FORMATO
Versión: 01
Estándares de Construcción Aplicaciones Fecha:
Rev.:
Angular v1.0 Aprob.:
2.2 Módulo
Atributos Definición
Nombre Se debe declarar el nombre lo más sencillo, descriptivo y corto posible.
Definición Son contenedores para almacenar los componentes, servicios, Directi-
vas, Pipes. Desde un módulo o raíz se enlazan otros módulos en la pro-
piedad “Imports” y se externalizan hacía otros módulos con la propie-
dad “Exports” (ver Figura 1).
Idioma Ingles
Estilo Variable kebab-case
Nomenclatura <component-name>.module
Ejemplo:
app.module.ts module Padre
detail-case.module.ts module Hijo
Longitud
Consideraciones No usar espacios, tildes, caracteres especiales, ni la letra ñ.
Evitar el uso de abreviaturas o acrónimo.
Figura 1.
Antamina Página 8
FORMATO
Versión: 01
Estándares de Construcción Aplicaciones Fecha:
Rev.:
Angular v1.0 Aprob.:
Idioma Ingles
Estilo Variable kebab-case
Nomenclatura <component-name>.component
Ejemplo:
app.component.html
my-meeting.component.ts
Consideraciones No usar espacios, tildes, caracteres especiales, ni la letra ñ.
Evitar el uso de abreviaturas o acrónimo.
Antamina Página 9
FORMATO
Versión: 01
Estándares de Construcción Aplicaciones Fecha:
Rev.:
Angular v1.0 Aprob.:
Figura 2.
Figura 3.
Antamina Página 10
FORMATO
Versión: 01
Estándares de Construcción Aplicaciones Fecha:
Rev.:
Angular v1.0 Aprob.:
2.4 Routes
Atributos Definición
Nombre Se debe declarar el nombre lo más sencillo, descriptivo y corto posible.
Definición Es una matriz que se usa para definir rutas, podemos encontrar las
siguientes propiedades:
path: define la ruta de un componente
component: se coloca el nombre del componente de salida.
loadChildren: referencia a rutas secundarias cargadas de forma
diferida.
redirectTo: se hace referencia a una URL para redirigir la URL
coincidente. (ver Figura 4)
canActivate: es un guardia para dar acceso o no a la ruta.
Idioma Ingles
Estilo Variable kebab-case
Nomenclatura <name>-routing.module.ts
Ejemplo:
principal-routing.module.ts
app-routing.module.ts
Consideraciones No usar espacios, tildes, caracteres especiales, ni la letra ñ.
Evitar el uso de abreviaturas o acrónimo.
Antamina Página 11
FORMATO
Versión: 01
Estándares de Construcción Aplicaciones Fecha:
Rev.:
Angular v1.0 Aprob.:
Figura 4.
Gráficamente podríamos entenderlo como un diagrama que sigue una secuencia según el PATH que se
defina o declare.
Figura 5.
Antamina Página 12
FORMATO
Versión: 01
Estándares de Construcción Aplicaciones Fecha:
Rev.:
Angular v1.0 Aprob.:
Antamina Página 13
FORMATO
Versión: 01
Estándares de Construcción Aplicaciones Fecha:
Rev.:
Angular v1.0 Aprob.:
Idioma Ingles
Estilo Variable kebab-case
Nomenclatura <nombre>.guard.ts
Ejemplo:
auth.guard.ts
Consideraciones No usar espacios, tildes, caracteres especiales, ni la letra ñ.
Evitar el uso de abreviaturas o acrónimo.
Antamina Página 14
FORMATO
Versión: 01
Estándares de Construcción Aplicaciones Fecha:
Rev.:
Angular v1.0 Aprob.:
2.6 Interceptores
Atributos Definición
Nombre Se debe declarar el nombre lo más sencillo, descriptivo y corto posible.
Definición Tiene como tarea inspeccionar/modificar las peticiones que va de la aplicación
al servidor así como también la que va del servidor a la aplicación.
Una vez creado el archivo se implementa la interfaz HttpInterceptor.
Antamina Página 15
FORMATO
Versión: 01
Estándares de Construcción Aplicaciones Fecha:
Rev.:
Angular v1.0 Aprob.:
token.
Hay que recordar que los interceptores es ejecutan en cada llamada al
servidor siempre y cuando estén registrados en el providers del módulo
raíz, en este caso el app.module.ts como se muestra en la imagen.
Idioma Ingles
Estilo Variable kebab-case
Nomenclatura <nombre>.service.ts
Ejemplo:
interceptor.service.ts
Consideraciones No usar espacios, tildes, caracteres especiales, ni la letra ñ.
Evitar el uso de abreviaturas o acrónimo.
Antamina Página 16
FORMATO
Versión: 01
Estándares de Construcción Aplicaciones Fecha:
Rev.:
Angular v1.0 Aprob.:
2.7 Services
Atributos Definición
Nombre Se debe declarar el nombre lo más sencillo, descriptivo y corto posible.
Definición Es una parte fundamental en el desarrollo de un componente ya que será la
que comunique la parte front-end con la parte back-end.
Al generar un archivo del tipo service por defecto se instanciara de
esta forma.
Antamina Página 17
FORMATO
Versión: 01
Estándares de Construcción Aplicaciones Fecha:
Rev.:
Angular v1.0 Aprob.:
Antamina Página 18
FORMATO
Versión: 01
Estándares de Construcción Aplicaciones Fecha:
Rev.:
Angular v1.0 Aprob.:
Idioma Ingles
Estilo Variable kebab-case
Nomenclatura <name>.service.ts
Ejemplo:
general.service.ts
case.service.ts
Consideraciones No usar espacios, tildes, caracteres especiales, ni la letra ñ.
Evitar el uso de abreviaturas o acrónimo.
Antamina Página 19
FORMATO
Versión: 01
Estándares de Construcción Aplicaciones Fecha:
Rev.:
Angular v1.0 Aprob.:
Tipo Definición
number Los datos de tipo number, almacenan valores numéricos. Estos pueden
ir expresados como números sin más.
string Son datos que almacenan cadenas, se declaran como string.
const Cumple con la misma función que una variable “let”, con la diferencia
que su valor no es reasignable.
Datos Enum, class, interface.
Figura 6.
Antamina Página 20
FORMATO
Versión: 01
Estándares de Construcción Aplicaciones Fecha:
Rev.:
Angular v1.0 Aprob.:
Figura 7.
Antamina Página 21
FORMATO
Versión: 01
Estándares de Construcción Aplicaciones Fecha:
Rev.:
Angular v1.0 Aprob.:
Ejemplo
Figura 8.
Figura 9.
Figura 10.
Antamina Página 22
FORMATO
Versión: 01
Estándares de Construcción Aplicaciones Fecha:
Rev.:
Angular v1.0 Aprob.:
Figura 11.
Antamina Página 23
FORMATO
Versión: 01
Estándares de Construcción Aplicaciones Fecha:
Rev.:
Angular v1.0 Aprob.:
Ejemplo
Figura 12.
Antamina Página 24
FORMATO
Versión: 01
Estándares de Construcción Aplicaciones Fecha:
Rev.:
Angular v1.0 Aprob.:
4 Proyecto Demo
4.1 Inicialización
Comenzaremos con la creación de un proyecto haciendo uso de algunos comandos.
Abrimos la consola de nuestra interfaz de desarrollo, en este caso haremos uso del IDE Visual
Studio Code. Se puede usar el cmd (Windows), git (bash y cmd)
Antamina Página 25
FORMATO
Versión: 01
Estándares de Construcción Aplicaciones Fecha:
Rev.:
Angular v1.0 Aprob.:
2. Component: esta carpeta contendrá todos los componentes dinámicos que serán
reutilizados por diferentes vistas de la aplicación.
3. Core: esta carpeta tendrá la función de controlar la existencia y validación del token.
4. Home: esta carpeta contendrá las diferentes vistas que tendrá la aplicación después de
pasar por la pantalla del login.
5. Shared: esta carpeta contendrá las carpetas directivas, modelos, servicios y los archivos
constant.ts, shared.module.ts, útil.ts
Antamina Página 26
FORMATO
Versión: 01
Estándares de Construcción Aplicaciones Fecha:
Rev.:
Angular v1.0 Aprob.:
Directive: en esta carpeta almacenaremos funciones que sean generales y utilizables por
toda la aplicación, por ejemplo la creación de funciones que validen caracteres, números,
letras, correo, etc.
Models: esta carpeta almacenara los modelos que serán utilizados por diferentes vistas en
la aplicación, podemos entender como modelos a las entidades que se trabajan a nivel del
back-end.
Services: esta carpeta almacenara los archivos del tipo services que tendrán las llamas al
back-end, podemos observar un servicio para la autenticación del login.
Antamina Página 27
FORMATO
Versión: 01
Estándares de Construcción Aplicaciones Fecha:
Rev.:
Angular v1.0 Aprob.:
enviroment para diferente ambiente (dev, qa, prod) con la finalidad que al ser probado en
cada ambiente estas variables podrían tener diferente valor (Ver Figura 13).
Figura 13.
7. Assets: en esta carpeta podemos almacenar todo lo referente a archivos del tipo css,
imágenes, plugins (que no se instalen como una dependencia a través de un comando
npm).
Además se trabajara con un archivo de tipo .json, en este se definirán todos los labels que
se mostraran en la aplicación con el fin de tener todo organizado en un solo archivo y evitar
duplicidad de labels que hagan mención a un mismo texto en diferentes vistas (Ver figura
14).
Antamina Página 28
FORMATO
Versión: 01
Estándares de Construcción Aplicaciones Fecha:
Rev.:
Angular v1.0 Aprob.:
Figura 14.
Antamina Página 29
FORMATO
Versión: 01
Estándares de Construcción Aplicaciones Fecha:
Rev.:
Angular v1.0 Aprob.:
5 ANEXOS
S
Antamina Página 30
FORMATO
Versión: 01
Estándares de Construcción Aplicaciones Fecha:
Rev.:
Angular v1.0 Aprob.:
Antamina Página 31