AG • Focus on – Mobile & web-based application architectures – Interoperability, cross-device – Pragmatic end-to-end solutions • Microsoft MVP ASP.NET (Architecture) ASP.NET Web API / vNext Advisory Board Member ASPInsider, AzureInsider • Google GDE Web Technologies • 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 implement the Continuous Screen – Adaptive user interfaces with optimized user experience – Ideally, with one code base & target architecture 6
– Or TypeScript for – well… - types • AngularJS as application framework: SPA & components – Alternatives like EmberJS, KnockoutJS, or ReactJS • UX: Common-base layout system – Bootstrap or more app-like UX frameworks like WinJS or Material 14
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 15
SPA framework – Tries to take away complexities – Prepares the way for component-based apps • Focus on separation of concerns with patterns – Dependency injection & Services – ViewModels & Views – Directives • Angular 2 is even better – Simplified concepts – Mobile-optimized performance 16
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 18
interface used across all platforms – Native implementations with platform-specific plugin interfaces • Installation via CLI • Configuration via config.xml • AngularJS integration via ng-cordova project 20
Safari Web Inspector or Google Chrome to debug HTML5/JS code – On simulator/emulator or device • Other remote debugging tools like Weinre (local/Cloud) available 21
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 • Access to native platform through node modules 22