Feliz Angular Novo

GDG Feira de Santana

19/01/2017

Esse Hangout NÃO é:

  • Sobre como programar
  • Um overview detalhado
  • Live coding

Esse Hangout É:

  • Um incentivo para você aprender algo novo
  • Um pequeno frame do que o Angular oferece 
  • Uma propaganda descarada :D

Contexto

1 ano atrás

~365 dias antes

Breaking changes

ES6

TypeScript

NO RETROCOMPATIBILITY

E 1 ano depois?

Mais ódio :P

 2.4.3v

SemVer

Roadmap

Ferramentas

E muito (muito mesmo!) mais!

Framework to Platform

  • Agnóstico
  • No DOM
  • Nem mesmo comprometido com HTML

Cross Platform

Performance

Produtividade

Cross Platform

Web

Web

  • Single Page Applications
  • Large web applications
  • Material Design
  • PWAs
npm install --save @angular/material
import { MaterialModule } from '@angular/material';
// other imports 
@NgModule({
  imports: [MaterialModule.forRoot()],
  ...
})
export class PizzaPartyAppModule { }

<md-list>
  <md-list-item>Item 1</md-list-item>
  <md-list-item>Item 2</md-list-item>
  <md-list-item>Item 3</md-list-item>
</md-list>

PWA

Confiabilidade

Veja: https://pwa.rocks

Desempenho

Engajamento

Conversão

Mobile Apps

Desktop

Electron

NW.js

Performance

Optimized

See: https://evancz.github.io/react-angular-ember-elm-performance-comparison/

Geração de código

  • Tree-shaking
  • AoT (Ahead of Time compilation)

Tree Shaking

// main.js

import { cube } from './maths.js';
console.log( cube( 5 ) ); // 125
// maths.js

export function square ( x ) {
	return x * x;
}

export function cube ( x ) {
	return x * x * x;
}

function cube ( x ) {
	return x * x * x;
}

console.log( cube( 5 ) ); // 125

AoT

  • Renderização mais rápida
  • Menos requests
  • Um Angular menor!
  • Detecção de erros bem antes
  • Mais segurança

Produtividade

Angular CLI

Geração e execução de projetos

 

 

Geração de componentes, diretivas, filtros e serviços

 

 

Testes (unitários e E2E: Karma, Jasmine e Protractor)

 

 

CSS Pre-processors

npm install -g angular-cli
ng new PROJECT_NAME
cd PROJECT_NAME
ng serve
ng generate component my-new-component
ng g service my-new-service
ng g module my-module
ng test
ng e2e
ng new sassy-project --style=sass
ng new less-project --style=less
ng new stylus-project --style=stylus

IDEs

E muito MAIS!

Roadmap

Roadmap

  • Patches toda semana
  • Versões menores todo mês (e.g. 2.4)
  • Versões maiores a cada 6 meses (5, 6, 7)
  • Angular 4: Março de 2017
  • Angular 5: Outubro de 2017
  • Angular 6: Março de 2018
  • Angular 7: Outubro de 2018
  • NO BREAKING CHANGES (como da versão 1)

It's just Angular"

@matheuscas

matheus.mcas@gmail.com

Obrigado!

(GDG FSA) Feliz Angular Novo

By Matheus Cardoso

(GDG FSA) Feliz Angular Novo

  • 187