Focus on § Mobile & web-based application architectures § Interoperability, cross-device § Pragmatic end-to-end solutions § Microsoft MVP for ASP.NET (Architecture) ASPInsider, AzureInsider § Google GDE for Web Technologies § [email protected] § @christianweyer Christian Weyer Echte Cross-Plattform-Anwendungen Moderne Software-Entwicklung - Episode 2 2
processes need to be mobile, not just the devices we use § Reach is important § Boundaries are blurring – and will vanish § User experience will become an even more important part of software development § Facing new challenges § Building UIs with one technology approach § But optimized for certain platforms and/or form factors “Mobile-First” Echte Cross-Plattform-Anwendungen Moderne Software-Entwicklung - Episode 2 4
JavaScript & TypeScript as application programming languages § Angular as smart client application framework – or React, or… § Flexible layouts with CSS3 & flexbox Real applications Echte Cross-Plattform-Anwendungen Moderne Software-Entwicklung - Episode 2 7
manipulate § No HTML elements styled like native components § No cross-compiling § 100% access to native APIs without writing bindings § TypeScript/JavaScript has 100% access to native APIs § Integrates with Angular § Comes with its own CLI § Primarily optimized for mobile smartphone form factors § Has its own markup language § iOS, Android Real native mobile apps Echte Cross-Plattform-Anwendungen Moderne Software-Entwicklung - Episode 2 9
§ UI components using components, directives and services § Native-focused § Modeled off of native SDKs § Built to work with Cordova § Comes with its own CLI § Primarily optimized for mobile smartphone form factors § iOS, Android, Windows 10 Optimized hybrid mobile apps Echte Cross-Plattform-Anwendungen Moderne Software-Entwicklung - Episode 2 10
our web apps § Make ‘app apps’ from ‘web apps’ J § Uses native web view components to host the original web app locally § Provides framework and APIs via plugins to interact with underlying native platforms § CLI tools for automating project creation & build § We always need the native SDKs (e.g. iOS, Android, Windows) Hybrid mobile apps with Cordova JS HTML CSS Native wrapper Deploy to devices Echte Cross-Plattform-Anwendungen Moderne Software-Entwicklung - Episode 2 15
Windows (8.1 / 10, Phone 8.1) Cordova CLI MacOS, Windows, Linux MacOS, Windows, Linux MacOS Windows a Embedded WebView a x a x x Plugin Interface a a a a a Echte Cross-Plattform-Anwendungen Moderne Software-Entwicklung - Episode 2 16
to Cordova’s base idea § Target Windows desktop, macOS, and Linux § Marriage of Chromium and node.js § Independent of installed browsers on target machines § Does not need native SDKs to build final artifact § Access to native platform features § Electron API § Node modules ecosystem § Auto-updating and platform deployment Desktop applications with Electron Echte Cross-Plattform-Anwendungen Moderne Software-Entwicklung - Episode 2 17
Web § SPA frameworks like Angular enable Java, .NET etc. developers to quickly move into the new world § Angular offers a broad range of tools to implement a spectrum of client application shapes § Purely web § Purely native § Hybrid, optimized for mobile § Hybrid, for web, desktop and mobile § Combine a microservices-based architecture with SPA GUIs – for the win! Summary Echte Cross-Plattform-Anwendungen Moderne Software-Entwicklung - Episode 2 19