SlideShare a Scribd company logo
1 of 16
Advantages and Opportunities
of Cross-Platform Development
नमस्ते – I’m “JoKi”
Jochen Kirstätter
4x Microsoft MVP
Founder of an IT community in Mauritius
Get 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 platforms
Desktop
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 Business
Software App
Line of Business
Software App
Line of Business
Software 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/extensions
Camera
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 APIs
JSON 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 – jochen@kirstaetter.name
C# Corner, LinkedIn, Facebook, Google+, GitHub, Blog, etc…

More Related Content

Similar to Advantages and Opportunities of Cross-Platform Development

J2 Me Gaming Using Netbeans
J2 Me Gaming Using NetbeansJ2 Me Gaming Using Netbeans
J2 Me Gaming Using Netbeans
strongdevil
 
Os Henrikson
Os HenriksonOs Henrikson
Os Henrikson
oscon2007
 
Cross platform development
Cross platform developmentCross platform development
Cross platform development
dftaiwo
 

Similar to Advantages and Opportunities of Cross-Platform Development (20)

Keynote Microsoft: The new Microsoft in a cloud-first, mobile-first open worl...
Keynote Microsoft: The new Microsoft in a cloud-first, mobile-first open worl...Keynote Microsoft: The new Microsoft in a cloud-first, mobile-first open worl...
Keynote Microsoft: The new Microsoft in a cloud-first, mobile-first open worl...
 
Cross platform development with C#
Cross platform development with C#Cross platform development with C#
Cross platform development with C#
 
webOS App by Example: Sorting Thoughts
webOS App by Example: Sorting ThoughtswebOS App by Example: Sorting Thoughts
webOS App by Example: Sorting Thoughts
 
J2 Me Gaming Using Netbeans
J2 Me Gaming Using NetbeansJ2 Me Gaming Using Netbeans
J2 Me Gaming Using Netbeans
 
Delivering HTML5 and Modern Apps
Delivering HTML5 and Modern AppsDelivering HTML5 and Modern Apps
Delivering HTML5 and Modern Apps
 
Apps vs. Sites vs. Content - a vendor-agnostic view on building stuff for the...
Apps vs. Sites vs. Content - a vendor-agnostic view on building stuff for the...Apps vs. Sites vs. Content - a vendor-agnostic view on building stuff for the...
Apps vs. Sites vs. Content - a vendor-agnostic view on building stuff for the...
 
Training - Managing .NET/J2EE Projects
Training - Managing .NET/J2EE ProjectsTraining - Managing .NET/J2EE Projects
Training - Managing .NET/J2EE Projects
 
Anton Sakharov: The risks you take when develop cross-platform apps using HT...
 Anton Sakharov: The risks you take when develop cross-platform apps using HT... Anton Sakharov: The risks you take when develop cross-platform apps using HT...
Anton Sakharov: The risks you take when develop cross-platform apps using HT...
 
As Pdotnet
As PdotnetAs Pdotnet
As Pdotnet
 
Os Henrikson
Os HenriksonOs Henrikson
Os Henrikson
 
multi platform mobile development using titanium
multi platform mobile development using titaniummulti platform mobile development using titanium
multi platform mobile development using titanium
 
Cross platform development
Cross platform developmentCross platform development
Cross platform development
 
An introduction to Titanium
An introduction to TitaniumAn introduction to Titanium
An introduction to Titanium
 
Native Mobile Application Using Java Script
Native  Mobile  Application  Using  Java ScriptNative  Mobile  Application  Using  Java Script
Native Mobile Application Using Java Script
 
Android Introduction on Java Forum Stuttgart 11
Android Introduction on Java Forum Stuttgart 11 Android Introduction on Java Forum Stuttgart 11
Android Introduction on Java Forum Stuttgart 11
 
Mobile Development with Visual Studio by Sergey Seletsky
Mobile Development with Visual Studio by Sergey SeletskyMobile Development with Visual Studio by Sergey Seletsky
Mobile Development with Visual Studio by Sergey Seletsky
 
Titanium Overview (Mobile March 2011)
Titanium Overview (Mobile March 2011)Titanium Overview (Mobile March 2011)
Titanium Overview (Mobile March 2011)
 
Windows 10 pentru dezvoltatori - InfoEducație 2015
Windows 10 pentru dezvoltatori - InfoEducație 2015Windows 10 pentru dezvoltatori - InfoEducație 2015
Windows 10 pentru dezvoltatori - InfoEducație 2015
 
Casual Engines 2009
Casual Engines 2009Casual Engines 2009
Casual Engines 2009
 
Mobile development with visual studio
Mobile development with visual studioMobile development with visual studio
Mobile development with visual studio
 

More from Jochen Kirstätter

More from Jochen Kirstätter (9)

Lift & Shift to Azure
Lift & Shift to AzureLift & Shift to Azure
Lift & Shift to Azure
 
Open Source Options on Microsoft Azure
Open Source Options on Microsoft AzureOpen Source Options on Microsoft Azure
Open Source Options on Microsoft Azure
 
Developers Conference 2019 - Closing Ceremony
Developers Conference 2019 - Closing CeremonyDevelopers Conference 2019 - Closing Ceremony
Developers Conference 2019 - Closing Ceremony
 
Communities - The Importance of Exchange and Discussion
Communities - The Importance of Exchange and DiscussionCommunities - The Importance of Exchange and Discussion
Communities - The Importance of Exchange and Discussion
 
Developers Conference 2017 - Closing Session
Developers Conference 2017 - Closing SessionDevelopers Conference 2017 - Closing Session
Developers Conference 2017 - Closing Session
 
Developers Conference 2016 - Closing Session
Developers Conference 2016 - Closing SessionDevelopers Conference 2016 - Closing Session
Developers Conference 2016 - Closing Session
 
Mauritius Software Craftsmanship Community - DevCon 2016
Mauritius Software Craftsmanship Community - DevCon 2016Mauritius Software Craftsmanship Community - DevCon 2016
Mauritius Software Craftsmanship Community - DevCon 2016
 
Getting started with .NET Core on Linux
Getting started with .NET Core on LinuxGetting started with .NET Core on Linux
Getting started with .NET Core on Linux
 
Running Windows applications on Linux
Running Windows applications on LinuxRunning Windows applications on Linux
Running Windows applications on Linux
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

Advantages and Opportunities of Cross-Platform Development

  • 1. Advantages and Opportunities of Cross-Platform Development
  • 2. नमस्ते – I’m “JoKi” Jochen Kirstätter 4x Microsoft MVP Founder of an IT community in Mauritius Get Blogged by JoKi – http://jochen.kirstaetter.name Family guy, geek, entrepreneur, software craftsman: Visual FoxPro, C#, SQL Server, MySQL/MariaDB, Linux consultant, Conference speaker
  • 3. Brief Agenda Current situation: Isolated platforms Desktop Mobile Web Browser Gaming Console Internet of Things Ideal situation: One platform Let’s do a reality check what’s possible now…
  • 4. “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
  • 5. Code Sharing aka Portable Class Library OS 1 Abstraction Layer Technology / SDK Line of Business / Software Application OS 2 OS 3
  • 6. Game Development Unity Unreal Engine Phaser Meteor Usually SDKs are provided Microsoft Xbox, Nintendo Wii, Sony PlayStation App Store, Play Store, Windows Store
  • 7. Xamarin & Xamarin.Forms C# as common programming language Target Platforms: Windows iOS Android macOS Linux?
  • 8. .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
  • 9. Code Hosting Web Browser Desktop HostMobile Host Line of Business Software App Line of Business Software App Line of Business Software App
  • 10. Web Stack Angular Aurelia React Vue.js etc… Mostly Single-Page Applications (SPA) HTML5, JavaScript / TypeScript, CSS 2/3
  • 11. Apache Cordova Hosting Shell for mobile platforms: Android, iOS Application Layer to provide generic access to native APIs Hardware access via plugins/extensions Camera Gyroscope Accelerometer Location Local Storage (File system) Peripherals
  • 12. 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
  • 13. Unfortunately… … there is a small issue! So far it was about Client development only
  • 14. Server-Side of Cross-Platform Choose One Technology: .NET Core, node.js, Java, Python, Ruby, etc… Design REST APIs JSON is first choice XML is still strong Furthermore: Security Token Service (STS) for Authentication & Authorisation ODATA for data shaping and data separation
  • 15. 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)
  • 16. बहुत बहुत धन्यवाद Stay in touch: @JKirstaetter – jochen@kirstaetter.name C# Corner, LinkedIn, Facebook, Google+, GitHub, Blog, etc…