teched nz 2014: building universal angular apps
DESCRIPTION
TechEd New Zealand 2014 - WIN314 - Don Smith AngularJS has become one of the most robust, feature-rich, frameworks for building modern web applications. This positions it uniquely well for anywhere web technologies can be applied ... like building Windows 8.1 and Windows Phone 8.1 apps. This session will focus on the intersection of AngularJS and WinJS, and grapple with how to apply both technologies to address specific challenges and common requirements. For example routing, navigation, animation, data binding, dependency management, patterns, and code reuse are all fair game. The recording can be found here: http://channel9.msdn.com/events/TechEd/NewZealand/2014/WIN314TRANSCRIPT
![Page 1: TechEd NZ 2014: Building Universal Angular Apps](https://reader036.vdocuments.us/reader036/viewer/2022070321/558cbe14d8b42ad2358b46e1/html5/thumbnails/1.jpg)
Building Universal Angular Apps
Don Smith@locksmithdon
WIN314
![Page 2: TechEd NZ 2014: Building Universal Angular Apps](https://reader036.vdocuments.us/reader036/viewer/2022070321/558cbe14d8b42ad2358b46e1/html5/thumbnails/2.jpg)
Really?
Devs The Biz
Angular WinJS
Why?
![Page 3: TechEd NZ 2014: Building Universal Angular Apps](https://reader036.vdocuments.us/reader036/viewer/2022070321/558cbe14d8b42ad2358b46e1/html5/thumbnails/3.jpg)
Framing our decisions
Reuse Isolate Modular
Platform
![Page 4: TechEd NZ 2014: Building Universal Angular Apps](https://reader036.vdocuments.us/reader036/viewer/2022070321/558cbe14d8b42ad2358b46e1/html5/thumbnails/4.jpg)
A trivial sample app
Back button
Transition animation
s
Tiles & timer
controlApp bar
![Page 5: TechEd NZ 2014: Building Universal Angular Apps](https://reader036.vdocuments.us/reader036/viewer/2022070321/558cbe14d8b42ad2358b46e1/html5/thumbnails/5.jpg)
Universal hub template
Sharing Limitations One app Build
tasks
![Page 6: TechEd NZ 2014: Building Universal Angular Apps](https://reader036.vdocuments.us/reader036/viewer/2022070321/558cbe14d8b42ad2358b46e1/html5/thumbnails/6.jpg)
AngularJS
Modules $injector Providers
“Specials”
![Page 7: TechEd NZ 2014: Building Universal Angular Apps](https://reader036.vdocuments.us/reader036/viewer/2022070321/558cbe14d8b42ad2358b46e1/html5/thumbnails/7.jpg)
Dynamic Content Security
Edit the Angular source Replace jqLite with jQuery
2.x Use the ngCsp directive Use winstore-jscompat
![Page 8: TechEd NZ 2014: Building Universal Angular Apps](https://reader036.vdocuments.us/reader036/viewer/2022070321/558cbe14d8b42ad2358b46e1/html5/thumbnails/8.jpg)
Routing & navigation
Module UI-Router
Both back
buttons
window.history.back();
![Page 9: TechEd NZ 2014: Building Universal Angular Apps](https://reader036.vdocuments.us/reader036/viewer/2022070321/558cbe14d8b42ad2358b46e1/html5/thumbnails/9.jpg)
Animations
Isolates WinJS functionality
Can be defined using CSS
![Page 10: TechEd NZ 2014: Building Universal Angular Apps](https://reader036.vdocuments.us/reader036/viewer/2022070321/558cbe14d8b42ad2358b46e1/html5/thumbnails/10.jpg)
Business logic
Nearly 100% reusable code
Can isolate 3rd party libraries
![Page 11: TechEd NZ 2014: Building Universal Angular Apps](https://reader036.vdocuments.us/reader036/viewer/2022070321/558cbe14d8b42ad2358b46e1/html5/thumbnails/11.jpg)
View compositionDefault.html & layouts
in each project
Useng-include & directives
Partials shared
across apps
Define differences using CSS
![Page 12: TechEd NZ 2014: Building Universal Angular Apps](https://reader036.vdocuments.us/reader036/viewer/2022070321/558cbe14d8b42ad2358b46e1/html5/thumbnails/12.jpg)
Themes & coloursUse the resource loader
Font Awesom
eis awesome
Segoe UI Symbol
is too
\uE128
Ĩ
![Page 13: TechEd NZ 2014: Building Universal Angular Apps](https://reader036.vdocuments.us/reader036/viewer/2022070321/558cbe14d8b42ad2358b46e1/html5/thumbnails/13.jpg)
Recap
Reuse Isolate Modular
Platform
![Page 14: TechEd NZ 2014: Building Universal Angular Apps](https://reader036.vdocuments.us/reader036/viewer/2022070321/558cbe14d8b42ad2358b46e1/html5/thumbnails/14.jpg)
Bibliography AngularJS and WinJS in a Windows Phone App by Oliver Lohmann Consistency problems with APIs in JavaScript Promise Libraries by Derick Bailey AppBarCommandIcon (Segoe UI Symbol) reference on MSDN Angular app structuring guidelines by John Papa Developing Secure Apps on MSDN Defining app resources on MSDN winstore-jscompat on GitHub angular-winjs on GitHub Meditations on GitHub
![Page 15: TechEd NZ 2014: Building Universal Angular Apps](https://reader036.vdocuments.us/reader036/viewer/2022070321/558cbe14d8b42ad2358b46e1/html5/thumbnails/15.jpg)
Related contentBreakout Sessions
WIN312 Why should I care about Cordova/PhoneGap?
Hands-on LabsWIN-H203 Introduction to Building
Windows Store Apps with Microsoft Azure Mobile Services
Find Me Later At...http://locksmithdon.net@locksmithdon
![Page 16: TechEd NZ 2014: Building Universal Angular Apps](https://reader036.vdocuments.us/reader036/viewer/2022070321/558cbe14d8b42ad2358b46e1/html5/thumbnails/16.jpg)
Resources
TechNet & MSDN FlashSubscribe to our fortnightly newsletter
http://aka.ms/technetnz http://aka.ms/msdnnz
TechNet Virtual LabsFree Virtual Hands-on Labs
http://aka.ms/ch9nz
Microsoft Virtual AcademyFree Online Learning
http://aka.ms/mva http://aka.ms/technetlabs
Sessions on Demand
![Page 17: TechEd NZ 2014: Building Universal Angular Apps](https://reader036.vdocuments.us/reader036/viewer/2022070321/558cbe14d8b42ad2358b46e1/html5/thumbnails/17.jpg)
Complete your session evaluation now and win!
![Page 18: TechEd NZ 2014: Building Universal Angular Apps](https://reader036.vdocuments.us/reader036/viewer/2022070321/558cbe14d8b42ad2358b46e1/html5/thumbnails/18.jpg)
© 2014 Microsoft Corporation. All rights reserved.Microsoft, Windows and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
![Page 19: TechEd NZ 2014: Building Universal Angular Apps](https://reader036.vdocuments.us/reader036/viewer/2022070321/558cbe14d8b42ad2358b46e1/html5/thumbnails/19.jpg)
Section title
![Page 20: TechEd NZ 2014: Building Universal Angular Apps](https://reader036.vdocuments.us/reader036/viewer/2022070321/558cbe14d8b42ad2358b46e1/html5/thumbnails/20.jpg)
Section title
![Page 21: TechEd NZ 2014: Building Universal Angular Apps](https://reader036.vdocuments.us/reader036/viewer/2022070321/558cbe14d8b42ad2358b46e1/html5/thumbnails/21.jpg)
Section title