advantages and opportunities of cross-platform development
TRANSCRIPT
![Page 1: Advantages and Opportunities of Cross-Platform Development](https://reader031.vdocument.in/reader031/viewer/2022022415/5a6526d27f8b9a45388b4631/html5/thumbnails/1.jpg)
Advantages and Opportunities of Cross-Platform Development
![Page 2: Advantages and Opportunities of Cross-Platform Development](https://reader031.vdocument.in/reader031/viewer/2022022415/5a6526d27f8b9a45388b4631/html5/thumbnails/2.jpg)
नमस्ते – I’m “JoKi”
Jochen Kirstätter4x Microsoft MVPFounder of an IT community in MauritiusGet Blogged by JoKi – http://jochen.kirstaetter.name
Family guy, geek, entrepreneur, software craftsman: Visual FoxPro, C#, SQL Server, MySQL/MariaDB,
Linux consultant, Conference speaker
![Page 3: Advantages and Opportunities of Cross-Platform Development](https://reader031.vdocument.in/reader031/viewer/2022022415/5a6526d27f8b9a45388b4631/html5/thumbnails/3.jpg)
Brief Agenda
Current situation: Isolated platformsDesktop
Mobile
Web Browser
Gaming Console
Internet of Things
Ideal situation: One platform
Let’s do a reality check what’s possible now…
![Page 4: Advantages and Opportunities of Cross-Platform Development](https://reader031.vdocument.in/reader031/viewer/2022022415/5a6526d27f8b9a45388b4631/html5/thumbnails/4.jpg)
“Silo”-Approach
Different programming languages: C#, Objective-C, Swift, Java, C++, etc.
Individual teams and increased time overhead
Repetition Violation of DRY principle
iOSWindows macOS LinuxAndroid
![Page 5: Advantages and Opportunities of Cross-Platform Development](https://reader031.vdocument.in/reader031/viewer/2022022415/5a6526d27f8b9a45388b4631/html5/thumbnails/5.jpg)
Code Sharing aka Portable Class Library
OS 1
Abstraction Layer Technology / SDK
Line of Business / Software Application
OS 2 OS 3
![Page 6: Advantages and Opportunities of Cross-Platform Development](https://reader031.vdocument.in/reader031/viewer/2022022415/5a6526d27f8b9a45388b4631/html5/thumbnails/6.jpg)
Game Development
Unity
Unreal Engine
Phaser
Meteor
Usually SDKs are provided
Microsoft Xbox, Nintendo Wii, Sony PlayStation
App Store, Play Store, Windows Store
![Page 7: Advantages and Opportunities of Cross-Platform Development](https://reader031.vdocument.in/reader031/viewer/2022022415/5a6526d27f8b9a45388b4631/html5/thumbnails/7.jpg)
Xamarin & Xamarin.Forms
C# as common programming language
Target Platforms:Windows
iOS
Android
macOS
Linux?
![Page 8: Advantages and Opportunities of Cross-Platform Development](https://reader031.vdocument.in/reader031/viewer/2022022415/5a6526d27f8b9a45388b4631/html5/thumbnails/8.jpg)
.NET Core
.NET rewritten from scratch; New not just an upgrade
Target Platforms:Windows
macOS
Linux
UI: Eto.Forms, Xwt
Still young development platform, parts missing
Huge potential, Open Source (GitHub), Linux Foundation
![Page 9: Advantages and Opportunities of Cross-Platform Development](https://reader031.vdocument.in/reader031/viewer/2022022415/5a6526d27f8b9a45388b4631/html5/thumbnails/9.jpg)
Code Hosting
Web Browser Desktop HostMobile Host
Line of BusinessSoftware App
Line of BusinessSoftware App
Line of BusinessSoftware App
![Page 10: Advantages and Opportunities of Cross-Platform Development](https://reader031.vdocument.in/reader031/viewer/2022022415/5a6526d27f8b9a45388b4631/html5/thumbnails/10.jpg)
Web Stack
Angular
Aurelia
React
Vue.js
etc…
Mostly Single-Page Applications (SPA)
HTML5, JavaScript / TypeScript, CSS 2/3
![Page 11: Advantages and Opportunities of Cross-Platform Development](https://reader031.vdocument.in/reader031/viewer/2022022415/5a6526d27f8b9a45388b4631/html5/thumbnails/11.jpg)
Apache Cordova
Hosting Shell for mobile platforms: Android, iOS
Application Layer to provide generic access to native APIs
Hardware access via plugins/extensionsCamera
Gyroscope
Accelerometer
Location
Local Storage (File system)
Peripherals
![Page 12: Advantages and Opportunities of Cross-Platform Development](https://reader031.vdocument.in/reader031/viewer/2022022415/5a6526d27f8b9a45388b4631/html5/thumbnails/12.jpg)
Electron
Hosting Shell for desktop platforms: Windows, macOS, Linux
Chrome v8 Engine and Web view
Single-Page Application (SPA)
Commercial Store Publication possible
Samples: Atom, GitKraken, Nylas N1, Slack, Visual Studio Code, etc…
Check out: http://electron.atom.io
![Page 13: Advantages and Opportunities of Cross-Platform Development](https://reader031.vdocument.in/reader031/viewer/2022022415/5a6526d27f8b9a45388b4631/html5/thumbnails/13.jpg)
Unfortunately…
… there is a small issue!
So far it was about Client development only
![Page 14: Advantages and Opportunities of Cross-Platform Development](https://reader031.vdocument.in/reader031/viewer/2022022415/5a6526d27f8b9a45388b4631/html5/thumbnails/14.jpg)
Server-Side of Cross-Platform
Choose One Technology: .NET Core, node.js, Java, Python, Ruby, etc…
Design REST APIsJSON is first choice
XML is still strong
Furthermore:Security Token Service (STS) for Authentication & Authorisation
ODATA for data shaping and data separation
![Page 15: Advantages and Opportunities of Cross-Platform Development](https://reader031.vdocument.in/reader031/viewer/2022022415/5a6526d27f8b9a45388b4631/html5/thumbnails/15.jpg)
Resumé
Do we have a winner?
No ;-)
Do we have a recommendation?
It depends ;-)
Multiple solutions available
Advice: Build a Client MVP / prototype (max. 24 hours each)
![Page 16: Advantages and Opportunities of Cross-Platform Development](https://reader031.vdocument.in/reader031/viewer/2022022415/5a6526d27f8b9a45388b4631/html5/thumbnails/16.jpg)
बहुत बहुत धन्यवाद
Stay in touch: @JKirstaetter – [email protected]
C# Corner, LinkedIn, Facebook, Google+, GitHub, Blog, etc…