Hola. Te doy la bienvenida al curso, y deseo que pronto puedas estar desarrollando tu propia aplicación "mobile" multiplataforma, con todas las buenas prácticas y técnicas que aprenderemos en el curso. Utilizaremos NativeScript, que es un conjunto de herramientas que nos permiten desarrollar aplicaciones "mobile", con una única base de código fuente, pero permiten compilar a código nativo en muchas plataformas a la vez; en este caso, con iOS y Android. Además, utilizaremos Angular que es un "framework" de Google que nos permite desarrollar páginas basadas en componentes gráficos y librerÃas. Es decir, que nuestra página será la resultante del trabajo en conjunto de muchos elementos especializados, algunos desarrollados por nosotros mismos y otros desarrollados por Angular. Uso de comunidad de código abierto, o bien incluso, utilizando paquetes de NPM. NPM, es un gestor de librerÃas para el lenguaje "NodeJS" que nosotros estaremos utilizando de manera indirecta, ya que utilizaremos TypeScript. En el primer módulo, aprenderás a crear un proyecto de Native Script utilizando Angular y TypeScript. Aprenderás sus principales caracterÃsticas y lo que deberás tener en cuenta como más importante para crear un proyecto de cero. Iremos profundizando temas para que domines a fondo los conceptos técnicos, y luego utilizaremos librerÃas y herramientas que simplifican el proceso de desarrollo. Finalizado el primer módulo, tendrás un conocimiento general de TypeScript y buen criterio para estructurar en componentes una aplicación "mobile". También aprenderemos a previsualizar la aplicación "mobile" a medida que desarrollamos, y hacemos cambios sobre la misma. También aprenderemos a visualizar los "logs" y errores que ocurran. En el módulo 2, trabajaremos con formularias y validaciones, con el fin de hacer aplicaciones interactivas. Además, aprenderemos los principios de programación de animaciones y gestos, y utilizaremos librerÃas y recursos para iconos y botones, como también personalizar la pantalla de "splash" o pantalla de bienvenida, para lograr aplicaciones que manejen un estado a estilo global, uniforme en la interfaz de usuario. En el módulo 3, veremos cómo manejar almacenamiento local de datos y también veremos cómo manejar bases de datos locales, tanto SQL como no SQL. También aprenderemos el uso de librerÃas para programación reactiva, basándonos en el uso de observables sobre el estado global de la aplicación a través de la librerÃa Redux. Para finalizar, aprenderemos cómo personalizar iconos de las aplicaciones y qué buenas prácticas debemos tener en cuenta para desarrollar nuestra aplicación con reutilización de código. En el módulo 4, aprenderemos acerca de interacciones avanzadas de nuestra aplicación para con el usuario. Por ejemplo, realizar notificaciones, enviar correos electrónicos, y compartir en redes sociales. Además, utilizaremos la cámara de los dispositivos móviles, y para ejemplificar el uso de componentes externos avanzados o complejos, censaremos el estado de la red de datos, y usaremos mapas. Por último, veremos el uso de librerÃas de pruebas automáticas para hacer más robusto nuestro sistema. Por eso veremos Jasmine, para realizar pruebas unitarias. También realizaremos pruebas funcionales de extremo a extremo. Para finalizar, integraremos nuestro repositorio de GIT con CircleCI para implementar un ciclo de integración continua que nos garantice la salud de nuestra aplicación a medida que nosotros y nuestro equipo trabajamos sobre un mismo repositorio. Durante todos los módulos, programaremos mucho juntos y también lo harás por tu cuenta. Al finalizar cada módulo, habrá tareas obligatorias necesarias para aprobar cada módulo. La práctica es clave, por lo que si dedicas suficiente tiempo, lograrás, sin duda, el éxito en este curso.