Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

AngularJS – Extend Your Browser Peter Bacon Darwin Developer / Dad @petebd

Slide 3

Slide 3 text

3 Peter Bacon Darwin Computer Programmer / House Dad ■ Freelance Developer ■ Formerly .NET Specialist ■ Now into Open Source ■ AngularJS ■ Committer on AngularJS project ■ Founder Member of Angular-UI ■ Look after my kids, Lily and Zachary

Slide 4

Slide 4 text

Driving in London

Slide 5

Slide 5 text

Faster, Better!

Slide 6

Slide 6 text

Think Outside the Box

Slide 7

Slide 7 text

In The Beginning… 1989 Web Browsers 1995 JavaScript 2005 AJAX 2006 jQuery 7

Slide 8

Slide 8 text

In the Future… Web Browser == Application Platform

Slide 9

Slide 9 text

Single Page Applications (SPA) we need some help… Writing SPAs in JavaScript is… messy

Slide 10

Slide 10 text

JavaScript Frameworks There are plenty out there: Agreement No Progressive Enhancement MV … Whatever Data Binding Disagreement Backend Integration Binding Updates HTML vs JavaScript Views

Slide 11

Slide 11 text

The Real Problem - Browsers Designed to: Display Static Documents Navigate Hyperlinks Be Stateless Need: Model Driven Views More Powerful Widgets State Management Getting There… Object.Observe() Web Components History.pushState()

Slide 12

Slide 12 text

A Different Approach… … what HTML would have been had it been designed for applications. … a Polyfill until Browsers catch up! HTML enhanced for web apps!

Slide 13

Slide 13 text

AngularJS – Core Features Unobtrusive Data Binding Just POJOs and dirty checking HTML (DOM) Templates Use tools you know Reusable Components Extend the HTML syntax Dependency Injection Think Spring Framework Unit Testing Built-in First Class Citizens Useful Services $http, $q, $timeout

Slide 14

Slide 14 text

Exchange Rate App Demo

Slide 15

Slide 15 text

Angular-UI Project  Directives and Filters Date Picker, Key Press Events, Masked Input, Google Maps Highlight Text, Unique Array Filter, String Formatting  Bootstrap Widgets Accordion, Alert, Buttons, Carousel, Dialogs Dropdowns, Pagination, Tabs, Tooltips, TypeAhead  Data Grid Full featured grid widget  Router State based routing with nested views

Slide 16

Slide 16 text

Trending Up!

Slide 17

Slide 17 text

Buy The Book! http://www.packtpub.com/angularjs-web-application-development/book

Slide 18

Slide 18 text

Q&A