Upload
jochen-kirstaetter
View
137
Download
0
Embed Size (px)
Citation preview
Advantages and Opportunities of Cross-Platform Development
नमस्ते – 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
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…
“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
Code Sharing aka Portable Class Library
OS 1
Abstraction Layer Technology / SDK
Line of Business / Software Application
OS 2 OS 3
Game Development
Unity
Unreal Engine
Phaser
Meteor
Usually SDKs are provided
Microsoft Xbox, Nintendo Wii, Sony PlayStation
App Store, Play Store, Windows Store
Xamarin & Xamarin.Forms
C# as common programming language
Target Platforms:Windows
iOS
Android
macOS
Linux?
.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
Code Hosting
Web Browser Desktop HostMobile Host
Line of BusinessSoftware App
Line of BusinessSoftware App
Line of BusinessSoftware App
Web Stack
Angular
Aurelia
React
Vue.js
etc…
Mostly Single-Page Applications (SPA)
HTML5, JavaScript / TypeScript, CSS 2/3
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
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
Unfortunately…
… there is a small issue!
So far it was about Client development only
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
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)
बहुत बहुत धन्यवाद
Stay in touch: @JKirstaetter – [email protected]
C# Corner, LinkedIn, Facebook, Google+, GitHub, Blog, etc…