AG • Focus on – Mobile & web-based application architectures – Interoperability, cross-device – Pragmatic end-to-end solutions • Microsoft MVP for ASP.NET (Architecture) ASP.NET Web API / vNext Advisory Board Member ASPInsider, AzureInsider • Google GDE for AngularJS • http://blogs.thinktecture.com/cweyer [email protected] @christianweyer 2
But what is mobile-first, anyway? – Mobile lifestyle & work – Data & processes travel – Reach • We need UX & technologies to realize the Continuous Screen – Adaptive user interfaces with optimized user experience – Ideally, with one code base & target architecture 6
Simple yet powerful programming framework for HTTP-based services – Not just for Web clients • Lightweight – At runtime – At development time – At supported feature set • Highly interoperable 13
– Or TypeScript for – well… - types • AngularJS as application framework: MVVM & components – Alternatives like EmberJS, KnockoutJS; ReactJS • UX: Common-base layout system – Bootstrap or more app-like UX frameworks like WinJS or Material 16
with JavaScript • We can have IntelliSense with JavaScript • We can debug & profile JavaScript • We can use JavaScript for real-time 3D • We can have a fresh look at JavaScript – Upcoming ECMAScript6 is a big leap forward – TypeScript accepted by competitors 17
JavaScript SPA framework – Tries to take away complexities – Tries to prepare the way for ECMAScript6 – Prepares the way for Web Components • Focus on separation of concerns with patterns – Dependency injection & Services – ViewModels – Views – Directives 18
create native apps from HTML5/JS codebase – Wrapping your HTML5 code into native app shell – Hook into platform features & events with APIs – Extend app functionality with plugins • CLI tools for project automation • Still needs native SDKs 20
interface used across all platforms – Native implementations with platform-specific plugin interfaces – Core Cordova APIs are implemented using this architecture • Installation via CLI • Configuration via config.xml • AngularJS integration via ng-cordova 22
extension for building Cordova applications (CTP) • Built-in support in Visual Studio 2015 • Easy to setup – Takes care of all necessary dependenices in one installer • Offers project template to integrate with Cordova • Debug Windows Store, Windows Phone, Android, and iOS straight from VS 23
similar approach as Cordova but aiming at desktop applications – Windows, Linux, MacOS X • Use specific version of Chromium and node.js/io.js – Deploy independent from installed browsers 24
in browser (primarily) • Build native apps with gulp tasks using Cordova CLI & nw.js commands • One HTML5 code base results in various platform binaries – „With a single mouse click“ – erm: batch file 26
vNext) – Lightweight web dev framework – Complete rewrite of ASP.NET – Runs on .NET/Mono and on CoreCLR • Angular 2 – Component-oriented lib to create web-based applications – Complete rewrite of AngularJS – Based on new browser standards 28
Mobile, and Mobile-First != Phones/Tablets • HTML/JavaScript-based frameworks like AngularJS enable real applications based on browser techs • Cordova & nw.js offer platform & tools for native integration & deployment • Secure target architecture with Web APIs, Push services and authorization servers 30