Cross Platform Mobile App
Development Solutions
Focusing On Xamarin
Ramin Mohammad Hoseini
https://www.linkedin.com/in/raminlinkedin/
Fast Reviewing Cordova,
Ionic & React Native
Mobile apps with HTML, CSS & JS
Target multiple platforms with one code base
Pros
• You don't have to learn any new languages if
you're already a decent web developer
• Excellent platform coverage: the same code
can work for all the major mobile operating
systems like Android, iOS, Windows.
Cons
• UX isn’t native
• Performance and app size ,Well, this goes
without saying. You’re running your app in a
webview, it’s not going to reach native
performance.
How it works : With Cordova you have access to the native device APIs of android and iOS through a JavaScript sdk ,
The application is rendered in a webview , you can design your app with css and html the same way you design websites.
https://facebook.github.io/react-native/
With React Native, you don't build a “mobile web app”, an “HTML5
app”, or a “hybrid app”. You build a real mobile app that's
indistinguishable from an app built using Objective-C or Java.
React Navigation problem – Airbnb conf.
https://youtu.be/tUfgQtmG3R0?t=15m9s
Click the below image to watch
Or watch at :
Everything you need to deliver great mobile apps.
Deliver native iOS, Android, and Windows apps using existing skills, teams, and code.
Xamarin’s proud tradition
Native-first
Anything you can do with Java, ObjC or Swift you can do in
Visual Studio with C# or F#
Same-day releases for new platform capabilities
Execution modes
Xamarin.iOS does full Ahead Of Time
(AOT) compilation to produce an ARM
binary for Apple’s App Store.
Xamarin.Android takes advantage of
Just In Time (JIT) compilation on the
Android device.
ARM
BINARY
Runs
natively
.APPAOT
.NET
C#
Bindings
.APKCompile
and Link
.NET
C#
Bindings
IL
+
JIT
Runs
natively
Xamarin.iOS applications run within the Mono execution environment, and use full Ahead of Time (AOT)
compilation to compile C# code to ARM assembly language. This runs side-by-side with the Objective-C
Runtime.
Managed code is code that has its execution managed by the .NET Framework CLR, or in Xamarin’s
case: the Mono Runtime. Native code is code that will run natively on the specific platform
AOT compiles your managed code to native code.
When you compile any Xamarin platform application, the Mono C# (or F#) compiler will run and will
compile your C# and F# code into Microsoft Intermediate Language (MSIL). If you are running a
Xamarin.Android, a Xamarin.Mac application, or even a Xamarin.iOS application on the simulator,
the .NET (CLR) compiles the MSIL using a Just in Time (JIT) compiler. At runtime this is compiled into
a native code, which can run on the correct architecture for your application.
Xamarin.iOS instead uses an Ahead of Time (AOT) compiler to compile the managed code. This produces
a native iOS binary, optionally optimized with LLVM for devices, that can be deployed on Apple’s ARM-
based processor.
AOT comes to Android and Mac
ARM BINARY
Runs natively
.APPAOT
.NET
C#
Bindings
Android Platform
Integrated SDK manager
Third Party Native APIs made Easy
Android:
• Java Binding Projects
iOS:
• ObjC Binding Projects
Build native UIs for iOS, Android and Windows
from a single, shared C# codebase.
Common UI
controls and
layouts Across
All platforms
Choose markup or code.
Use code or markup to build a beautiful UI with data-binding and styles, using either C# or XAML markup.
Tap into our growing Xamarin.Forms ecosystem.
Xamarin.Forms 3.0
//new improvements introduced in //build conf.
• Xaml Standard
• URL navigation with AppLinks
• Enhanced theming and styling
• Embedding native controls into Forms apps
• Improved and extended GestureRecognizers
• Support .NET Standard
• Fast Renderers
• Memory Reduction
• Startup Performance Improvements
• XAMLC performance improvements
• New Platforms
Going beyond mobile (Android, iOS, Tizen, UWP)
Desktop: macOS, Linux and WPF.
Xamarin Best Cross Platform Mobile App Development Solution
Xamarin Best Cross Platform Mobile App Development Solution

Xamarin Best Cross Platform Mobile App Development Solution

  • 1.
    Cross Platform MobileApp Development Solutions Focusing On Xamarin Ramin Mohammad Hoseini https://www.linkedin.com/in/raminlinkedin/
  • 2.
  • 3.
    Mobile apps withHTML, CSS & JS Target multiple platforms with one code base Pros • You don't have to learn any new languages if you're already a decent web developer • Excellent platform coverage: the same code can work for all the major mobile operating systems like Android, iOS, Windows. Cons • UX isn’t native • Performance and app size ,Well, this goes without saying. You’re running your app in a webview, it’s not going to reach native performance. How it works : With Cordova you have access to the native device APIs of android and iOS through a JavaScript sdk , The application is rendered in a webview , you can design your app with css and html the same way you design websites.
  • 4.
    https://facebook.github.io/react-native/ With React Native,you don't build a “mobile web app”, an “HTML5 app”, or a “hybrid app”. You build a real mobile app that's indistinguishable from an app built using Objective-C or Java.
  • 5.
    React Navigation problem– Airbnb conf. https://youtu.be/tUfgQtmG3R0?t=15m9s Click the below image to watch Or watch at :
  • 6.
    Everything you needto deliver great mobile apps. Deliver native iOS, Android, and Windows apps using existing skills, teams, and code.
  • 12.
    Xamarin’s proud tradition Native-first Anythingyou can do with Java, ObjC or Swift you can do in Visual Studio with C# or F# Same-day releases for new platform capabilities
  • 15.
    Execution modes Xamarin.iOS doesfull Ahead Of Time (AOT) compilation to produce an ARM binary for Apple’s App Store. Xamarin.Android takes advantage of Just In Time (JIT) compilation on the Android device. ARM BINARY Runs natively .APPAOT .NET C# Bindings .APKCompile and Link .NET C# Bindings IL + JIT Runs natively
  • 16.
    Xamarin.iOS applications runwithin the Mono execution environment, and use full Ahead of Time (AOT) compilation to compile C# code to ARM assembly language. This runs side-by-side with the Objective-C Runtime. Managed code is code that has its execution managed by the .NET Framework CLR, or in Xamarin’s case: the Mono Runtime. Native code is code that will run natively on the specific platform AOT compiles your managed code to native code. When you compile any Xamarin platform application, the Mono C# (or F#) compiler will run and will compile your C# and F# code into Microsoft Intermediate Language (MSIL). If you are running a Xamarin.Android, a Xamarin.Mac application, or even a Xamarin.iOS application on the simulator, the .NET (CLR) compiles the MSIL using a Just in Time (JIT) compiler. At runtime this is compiled into a native code, which can run on the correct architecture for your application. Xamarin.iOS instead uses an Ahead of Time (AOT) compiler to compile the managed code. This produces a native iOS binary, optionally optimized with LLVM for devices, that can be deployed on Apple’s ARM- based processor.
  • 17.
    AOT comes toAndroid and Mac ARM BINARY Runs natively .APPAOT .NET C# Bindings
  • 18.
  • 20.
    Third Party NativeAPIs made Easy Android: • Java Binding Projects iOS: • ObjC Binding Projects
  • 21.
    Build native UIsfor iOS, Android and Windows from a single, shared C# codebase.
  • 24.
    Common UI controls and layoutsAcross All platforms
  • 25.
    Choose markup orcode. Use code or markup to build a beautiful UI with data-binding and styles, using either C# or XAML markup.
  • 27.
    Tap into ourgrowing Xamarin.Forms ecosystem.
  • 28.
    Xamarin.Forms 3.0 //new improvementsintroduced in //build conf. • Xaml Standard • URL navigation with AppLinks • Enhanced theming and styling • Embedding native controls into Forms apps • Improved and extended GestureRecognizers • Support .NET Standard • Fast Renderers • Memory Reduction • Startup Performance Improvements • XAMLC performance improvements • New Platforms Going beyond mobile (Android, iOS, Tizen, UWP) Desktop: macOS, Linux and WPF.