ngEurope

Igor Minar

Brad Green

Script: https://docs.google.com/a/google.com/document/d/180I4J-sVGxP-HyW2hI0C6ypBKfZmxXsi6h0FMBNQ12E/edit#

Community

Google’s developers

1600+

Angular Apps

Angular developers at google: Google internal only, sorry!

ng-detector: GitHub and install via the Chrome Web Store

URLs using Angular:

Angular search popularity on trends.google.com

DoubleClick Search

Google Fiber

https://cloud.google.com/

http://netflix.com

hbo.com

amazon.com

1000+

Contributors

https://github.com/angular/angular.js

+81

UI Router

Restangular

ng-annotate

Builders

https://github.com/angular-ui/ui-router

http://angular-ui.github.io/bootstrap/

https://github.com/mgonto/restangular

https://github.com/olov/ng-annotate

Style Guide

egghead.io

Dan Wahlin

Educators

egghead.io

weblogs.asp.net/dwahlin

Google’s AngularJS style guide

John Papa’s style guide

Todd Motto’s style guide

codeschool.com

pluralsight.com

thinkster.io

CodeSchool’s AngularJS course

Just the Angular jingle video

AngularJS meetups

Full text search for ‘angularjs’ meetups: http://angularjs.meetup.com/

Writers

Via Google Shopping

Thank you!

Today

AngularJS 1.3

AngularJS 1.3 Announcement

Performance

AngularJS 1.3

DOM manipulation

Dirty checking

Memory usage

Forms

AngularJS 1.3

Flexible validation

Debouncing

Error reporting

https://docs.angularjs.org/api/ng/directive/ngModelOptions

https://docs.angularjs.org/guide/forms

ngAria

AngularJS 1.3

Automatic Aria

https://docs.angularjs.org/api/ngAria

Material Design

You can distill material design into 4 aspects:

Our goal with the Angular Material Design project is to take the design guidelines and implement as a set of easy-to-use Angular-native components.

material.angularjs.org

https://www.youtube.com/watch?v=Q8TXgCzxEnw

Specification

Mobile

http://ionicframework.com

Mobile

http://famo.us/integrations/angular/#/intro

The road ahead

Angular 2

https://docs.angularjs.org/api/ngAria

Angular 2

Keep the best parts

https://developers.google.com/events/io/sessions/325881193

Angular 2

Keep the best parts

Dependency Injection

Data binding

Directives

Router

Filters

Animations

Forms

Expressions

Material Design

Protractor

Karma

Mocks

Angular 2

Researched!

Design Docs

Angular 2

AngularDart

angulardart.org

Mobile

Angular 2

Material Design

Improved Router

Animation + touch

Native quality

Performance

Angular 2

GC pressure

Optimized DOM

Analysis tools

Scale

Angular 2

IDE support

ES6 + types + meta

Documentation tools

Keep the community party

going!

2:03

angular

all alone in the browser

has the url lost her memory?

she is staying the same

in the window

the elements respond to my clicks

and the actions

are async

javascript

We write single page web apps!

I can smile at the old days

With imperative programming

I remember

when dom manipulation was best

Let declarative

Be the way

Two way binding seems to be

An automagical thing

Some model changes

And a view just updates

Delightful and responsive

$scope.$watch

I must add to the watchlist ($$watchers)

I must check model changes

And I mustn't give in

When apply() is called,

rootScope.$digest is triggered too

Let the watchlist

Fire events

Instrumental

watchers check for dirty models

And fire their listener if needed

The watchlist ends

Another $digest cycle is over

another launches after

Watch me

It's so easy to leave me

All alone with my binding

Only going one-way

If you watch me

you'll understand what happiness is

Look a new day

Has begun