Hybrid Mobile App Development - Xamarin
- 5. Write Once, Run Anywhere Approach
Black Box
• Mobile Web site
• PhoneGap/Cordova/Appcelerator/RhoMobile
OCS Software
- 6. Write Once, Run Anywhere Approach
• Build a mobile version of an existing
Web site
• No apps to deploy to the stores
OCS Software
- 7. Write Once, Run Anywhere Approach
• Use PhoneGap/Cordova with HTML5
• Basically, a native app with a Web
viewer displaying HTML5 pages
• Native look is simulated with CSS
• Apps are packaged as native apps
- 10. Xamarin’s Unique Approach
• Native User Interface
• Native Performance
• Shared code across platforms
• C# & .NET Framework
• Full API Coverage
OCS Software
- 11. Xamarin History
Over a Decade of Enterprise Production Use
2000
Ximian
Founded
2001
Mono
Started
2003
Ximian
Acquired
by Novell
2009
First iOS
product (now
Xamarin.iOS)
launches
2011
Xamarin
Founded
First
Release of
Xamarin.Android
2012
First
release of
Xamarin.Mac
Launch
Partner
Program
2013
Xamarin 2.0
Component
Store
Evolve 2013
Xamarin Test
Cloud
Microsoft
Partnership
Reach 200,000
Developer
Mark
500,000+
Developers
100+ Partners
100+ Components
2014
Xamarin 3.0
Xamarin Forms
Evolve 2014
Insights
Simulator
- 12. Microsoft and Xamarin Partner Globally
With Xamarin, developers combine all of the
productivity benefits of C#, Visual Studio 2013 and
Windows Azure with the flexibility to quickly build
for multiple device targets.”
S. Somasegar, Corporate Vice President, Microsoft
OCS Software
- 14. Why C#
• Shorter, Simpler, More Maintainable
• LINQ
• Lambdas
• Events
• Generics
• Async/Await
OCS Software
- 15. Write Everything in C#
iOS, Android, Windows, Windows Phone, Mac
2.5+ Billion Devices!
OCS Software
- 16. 100% API Coverage
•Anything you can do in Objective-C or
Java can be done in C# and Visual
Studio with Xamarin!
Windows API Android API iOS API
- 17. Xamarin.iOS does full Ahead Of Time
(AOT) compilation to produce an
ARM binary for Apple’s App Store.
Native Performance
Xamarin.Android takes advantage
of Just In Time (JIT) compilation on
the Android device.
- 18. Code Sharing: Accelerate Development
Code-sharing stats from iCircuit, built with Xamarin and featured on the App Store.
Source: http://praeclarum.org/post/42378027611/icircuit-code-reuse-part-cinq
• Up to 90% Code Reuse
• Leverage existing libraries
NuGet Support
OCS Software
- 22. Platform Specific UI
• UI Is platform specific
• Tuned for each platform
• UI code is non sharable
• Best to get the optimal UI on
each platform
OCS Software
- 23. Xamarin.Forms
• Cross-platform UI
toolkit abstraction
• Share UI code across
platforms
• Rendered natively on
each platform
• 95% code reuse
• OK for many apps styles
but not for everything
OCS Software
- 26. Cost - Hardware
• Android
Development can be done on Windows or Mac
• iOS
A Mac is required
Development can be done on a Windows
machine but compilation MUST be done on a
Mac
Compilation can be done on a networked Mac
OCS Software
- 27. Cost – Hardware - Testing
•Cloud Test Solution
•Emulators are OK for
development
•But always test on
physical devices
OCS Software
- 28. Xamarin Studio
• Optimized for cross-platform
mobile development
• Explore native APIs with code
completion
• World class Android and iOS
designers
• Powerful debugging on
simulator or device
OCS Software
- 29. Android Designer
• Worlds best Android designer
• Available in:
• Xamarin Studio
• Visual Studio
• Create UI with drag & drop
simplicity
• Target multiple screen sizes,
resolutions and Android
versions
• Layouts saved in standard
Android XML files
OCS Software
- 30. iOS Designer
• World’s first iOS Designer
available in Xamarin Studio
and Visual Studio
• Follows familiar Visual Studio
designer idioms
• Supports all UIKit elements
• Edit custom and 3rd party
components
• Live preview of changes to
properties
OCS Software
- 31. Visual Studio Integration
A single solution:
• iOS
• Android
• Windows Phone
• Windows Store
Leverage the entire
Microsoft ecosystem:
• ReSharper
• Team Foundation Server
• Your favorite code coverage
and profiling tools
OCS Software
- 32. Visual Studio Integration
Debug to:
• Emulators
• Devices
Integrated into toolbar
• Status
• Logs
• List of devices
Just Click Start Debugging!
OCS Software
- 33. Xamarin benefits
• Xamarin enables developers to reach all major mobile platforms!
Native User Interface
Native Performance
Shared Code Across Platforms
C# & .NET Framework
Editor's Notes
- Xamarin Introduction!
- Let’s talk about the state of mobile development today
- Multiple Teams
Multiple Code Bases
Expensive & Slow
Positive = Great apps delivered to user’s platform
Negative = Development hampered by multiple code bases & fragmentation
- Unhappy Users
Unhappy Developers
Increase in Abandoned Apps
Limited to what is implemented
- Let’s talk about the state of mobile development today
- Let��s talk about the state of mobile development today
- UI build natively per platform, leveraging C#
C# + XAML
C# + XML
C# + XIB
One shared app logic code base, iOS, Android, Mac, Windows Phone, Windows Store, Windows
- Full History of Xamarin
- Major announcement at the end of 2013:
Truly Portable Class Libraries
Support for VS 2013
Special offers for MSDN Subscribers
20 City Roadshow!
- Let’s talk about the state of mobile development today
- Take advantage of everything great about C# and now write code that can be shared across all platforms
iOS
Android,
Mac
Windows (WPF, Store, Phone, ASP.NET, etc)
- Xamarin offers 100% API coverage on iOS and Android
If you want to do something specific on a platform it is all available
NFC, iBeacon, WiFi, Bluetooth, you name it the API is available
Xamarin beautiful bindings for every API in Android and iOS
- There is no compromise on performance.
Xamarin apps look and feel native because they are native.
- iCircuit is made by Frank Krueger, a long time Mono & Xamarin developer.
Sharing code lead to 70 to 90% code reuse across platforms speeding up development
Real-time circuit simulator and editor used to design analog and digital circuits
http://praeclarum.org/post/42378027611/icircuit-code-reuse-part-cinq
- Portable Class Libraries are awesome!
You can write all of your C# code in one assembly and share across all platforms
Before the Xamarin & Microsoft Partnership PCLs were limited ONLY to Windows Platforms
Now add official support to create and use PCLs in Visual Studio and Xamarin Sudio
- Compiles down to APK or IPA that you can distribute anywhere, any store.
Or even internal enterprise
- Let’s talk about the state of mobile development today
- UI build natively per platform, leveraging C#
C# + XAML
C# + XML
C# + XIB
One shared app logic code base, iOS, Android, Mac, Windows Phone, Windows Store, Windows
- Generates a full report of all method calls to determine compatibility with Xamarin.Android, Xamarin.iOS, Windows Phone, and Windows 8.
- Xamarin Studio
PC -> Android
Mac -> iOS, Android, Mac
Visual Studio: iOS, Android Windows
- Xamarin Studio is available for Android development on the PC.
Xamarin Studio on Mac offers: Android, iOS and Mac development
World Class IDE with great features:
Code Analysis
Upload to Test Flight
Git & Subversion Integration
Code Completion
Code Navigation
Easy transition from Visual Studio
The same Solution & Projects open in BOTH Xamarin Studio and Visual Studio!
- State of the art features:
View different Themes
View different device sizes
Multi-view editing!
Better than Android UI desginer
- Additionally Supports Visual Studio 2010, 2012, & of course 2013
Additionally support desktop apps on Windows: WPF, ASP.NET, Silverlight, WinForms!
The same Solution & Projects open in BOTH Xamarin Studio and Visual Studio!
- Connect to Mac build host for iOS development
Show list of all iOS devices and Simulators to debug on
Shows all Android devices and emulators
X86, Arm, Genymotion..
Take advantage of all debugging power of VS
- Let’s talk about the state of mobile development today