Fictizia formación especializada

Aplicaciones single-page con AngularJS

Curso de

AngularJS (v1.x)

Desarrollo frontend de aplicaciones web single-page basadas en MVC

AngularJS te permite extender el lenguaje HTML para añadir vistas dinámicas a tus aplicaciones web de forma sencilla y rápida de programar.

Con AngularJS podrás actualizar los cambios en tus modelos de datos directamente sobre la vista final, sin necesidad de recurrir a métodos JavaScript de manipulación del DOM, automatizando el trabajo con el mismo, y facilitando su integración con otras librerías o entornos de trabajo.

Programa de contenidos

¿Qué es AngularJS?
  • Documentación
  • Centrarse en el modelo y no en el DOM (el mantra a repetir si vienes de jQuery)
  • Armar un HTML sencillo para usarlo
Angular Bootstrapping
  • Automático
  • Manual
Inyección de dependencias
  • ¿Qué es?
  • Notación simple
  • Notación array de strings
  • ngAnnotate
  • Obtener la instancia de injector desde el DOM
  • Lazy loading
Templates
  • Expresiones
  • ¿Qué pasa con los valores indefinidos?
  • Directivas y filtros
  • template vs templateUrl
  • Servicios $parse y $compile
  • Servicio $templateCache
  • Directivas ng más usadas
    • ngRepeat (track, filter, order)
    • ngHide/ngShow vs ngIf
    • ngSwitch
    • ngStyle
    • ngClass
    • ngClick
    • ngSanitize
Constantes y valores
  • ¿Qué son?
  • ¿En qué se diferencian?
  • ¿Cómo se definen?
  • ¿Cómo se usan?
Controller
  • ¿Qué son?
  • Usarlos con la directiva ngController
  • Usarlos con un router
  • Pasar valores y métodos a través del $scope
  • Pasarlos usando la nomenclatura de alias "as"
Servicios
  • ¿Qué son?
  • ¿Cómo se definen?
  • ¿Qué diferencia hay entre factory y service?
  • ¿Cómo se usan?
  • ¿Cuándo me planteo tener un servicio?
Filtros
  • ¿Qué son?
  • ¿Cómo se definen?
  • ¿Cómo se usan?
  • El servicio $filter, o ¿cómo uso un filtro dentro de mi controller?
Formularios
  • La directiva ngModel
    • Formatters
    • Parsers
  • La directiva ngSubmit
  • La directiva ngChange, ngBlur, ngFocus...
  • Validadores y mensajes de error
    • Los más usados
    • Mostrar errores
    • Síncronos
    • Asíncronos
    • ngMessages
Animaciones con ngAnimate
  • CSS
  • JS
  • CSS + JS
  • Servicio $animate y promesas, o ¿cómo saber cuando termina?
  • Animaciones emparejadas con ngAnimateRef
Directivas
  • ¿Qué son?
  • ¿Cómo se definen?
  • ¿Cómo se usan?
  • Configurar el scope
  • Template
  • Otras configuraciones
  • Las fases de compilación: compile, preLink, postLink, controller...
  • Transclusion
  • ¿Cómo exponer métodos hacia otras directivas?
Promesas
  • ¿Qué son?
  • ¿Cómo se usan?
    • Thenables
    • Try Catch
    • Chain
    • All
  • Servicios relacionados: $http y $q
  • ¿Cómo abortar una llamada ajax en curso?
Scope
  • ¿Qué es?
  • $rootScope y sus descendientes
  • Obtener el scope del DOM
  • Digest y template rendering
  • Apply y evalAsync
  • Watch (deep) y sus primos watchCollection, watchGroup
  • Eventos
    • Emit
    • Broadcast
    • On
    • Off
    • Enviar datos
    • $destroy
Misc
  • El método config y los providers
  • Providers muy útiles: enableDebug, html5...
  • Organizar en módulos
  • Browserify/Webpack vs concatenate!
  • Debugging: sourcemaps, Batarang, ngInspector...
  • jQlite vs jQuery
  • ¿Cuándo tocar directamente el DOM?
  • ¿Cuándo refactorizar en servicios?
  • Usar directivas para llegar al DOM
ui-router
  • ¿Por qué ui-router si tenemos ngRouter?
  • Estados
  • Vistas anidadas
  • Referencia padre, relativo
  • Directivas
  • Servicios
  • Más sobre configuración
  • Navegación HTML5 y el servidor
Testing
  • Unit testing
    • httpBackend
    • timeOut
  • e2e testing
    • Protractor
    • Phantomjs

Solicitar más información:

Ponte en contacto con nosotros y resolveremos tus dudas

Completa el formulario para recibir más información sobre un curso o taller de fictizia y si quieres plantearnos alguna otra cuestión puedes indicárnosla en los comentarios.
Te responderemos a la mayor brevedad posible. Recuerda que, si lo prefieres, también puedes contactar con nosotros por teléfono llamándonos al 91 172 33 13 ( 10:00 a 19:00 ).