2. Build an app
View Newsfeed
Post new Status
View Profile
…
Access data through API
Allow user to pick gallery image
Allow user to pick location
Allow offline working
…
Run on multiple platforms
4. App High-Level Architecture
Presentation
Layer
View
Model Controller
Business
Layer
Business
Workflow
Business
Components
Application Facade
Business
Entities
DataAccess
Layer
DB Access
Components
API Access
Components
CROSS-CUTTING
Security
Logging
ExceptionHandling
APP
5. Why you should choose Xamarin?
Native
with Kotlin/Swift
Cross-platform
with ReactNative
Cross-platform
with Xamarin
10. Native Pros & Cons
• Fluid user interface
• Great user experience
• Great performance
• Full customization and access
• No code sharing across
platforms
• Needs totally independent
teams
• Double development time
• More maintenance cost
11. ReactNative way
Build a real mobile app that's indistinguishable from an
app built using Objective-C or Java.
13. ReactNative Pros & Cons
• Leverage JS dev
• Ease of update
• Native UI
• Big community
• Free and powered by
Facebook
• Learning curve
• No native API access from JS
• Bigger App size
• Tools not as good as native
• Lack of native view
customization in JS
14. Xamarin – All in one
Anything you can do in Objective-C, Swift, or Java can be done in
C# with Xamarin using Visual Studio
15. Xamarin.iOS
MapKit UIKit iBeacon CoreGraphics CoreMotion
System.Data System.Windows System.Numerics System.Core System.ServiceModel
System.Net System System.IO System.Linq System.Xml
100% API
Coverage
17. ✓Always Up-to-Date
Same-day support:
• iOS 6
• iOS 7
• iOS 7.1
• iOS 8
• iOS 9
• iOS 10
Full support for:
• Apple Watch
• Google Glass
• Android Wear
• Amazon Fire TV
• and much more
19. Native Performance
• 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.
20. C# - A powerful programming language
It’s very easy to learn and powerful
It’s very easy to move from other language, especially OO language
It’s top 10 programming languages
It’s now available on almost every platform
C# 7 is rolling out to have a lot of Swift sweet features
C# 8 is coming by the end of this year to cover all Swift sweet features
24. Mobile Center – Continuous everything
Continuous Build Integration
Continuous Test Integration
Continuous Distribution Integration
Analytics
Crashes
25. Xamarin – Coming soon
SwiftnetifierOfficial Swift Support Embeddinator Xamarin inside Native
Xamarin.Forms
3.0
Performance Boot Xamarin.Forms inside Xamarin.Native
26. Xamarin – Pros & Cons
• All native pros
• All ReactNative pros
• Free & Powered by Microsoft
• Bigger App size
• Tools not as good as native
- UI: Apps are built with standard, native user interface controls. Apps not only look the way the end user expects, they behave that way too.
- API Access: Have access to the full spectrum of functionality exposed by the underlying platform and device, including platform-specific capabilities like iBeacons and Android Fragments.
- Performance: Leverage platform-specific hardware acceleration, and are compiled for native performance. This can’t be achieved with solutions that interpret code at runtime.
You can think of iOS and Android development the same with Xamarin. You can see we have all of our .NET namespaces and libraries, but Xamarin give us 100% api coverage of each iOS API in it’s SDK that we access view C#.
The same is true for Android as well.
Apple has a developer preview where Xamarin has alphas ready. Google does not offer this.
Android versions are usually 4 to 8 weeks out for a stable release, but alphas and betas are usually earlier.
Xamarin realizes how important having iOS ready because within 24 hours a large portion of iOS users upgrade
Android on the other hand is much different. After 4 months on the market Android 4.4 only had 1% adoption
There is no compromise on performance.
Xamarin apps look and feel native because they are native.