SlideShare a Scribd company logo
Xamarin Technical Assessment
Against Native for Cross
Platform Mobile Development .
White Paper
Background
With an aim to become competitive and responsive
in the market, mobile application development
companies are trying to deliver applications on as
many platforms as possible and within budget. Since
the mobile market is dominated by iOS, Android and
Windows devices, if one wants to develop a particular
application, it must atleast be developed for one of
these three devices unless you can afford to ignore
one or all these devices. The standard approach
that companies follow for developing applications is
native development.
What modern companies and app developers are
doing is ‘write once and run anywhere’ with cross-
platform development, as it allows to develop
applications that can run on multiple platforms. With
cross-platform development, you can reduce the cost
of development below the threshold of the total sum
of native development costs for each platform.
Introduction
Objective C, Swift, and Java are a natural choice for
the development of mobile applications on iOS and
Android platforms. It’s impossible to ignore Xamarin
when talking about the important approaches
to mobile application development. Xamarin is a
cross-platform framework that has picked up the
development market with its own IDE. It works on C#
within the NET framework and allows you to create
native apps by utilizing native APIs and UIs of each
platform.
Xamarin is unique in this space as it offers single C#
class library and runtime library that works across all
three mobile platforms while still compiling native
(non-interpreted) applications that are performant
for applications like demanding games.
This research report is based on findings in regards
to the evaluation of Xamarin v/s Native platforms and
their development methodologies.
Comparative Technical Assessment
of Xamarin vs. iOS
Methodology
(Comparative Feasibility Check)
A survey on cross-platform mobile development
shows that he grew by more than 200% in 2016.
Considering this surge, businesses have started using
latest cross-platform application development tools
like Xamarin. These tools allow developers to create
basic native apps using a single codebase which in
turn saves their time, energy and money.
The primary purpose of this comparative assessment
is to determine if Xamarin tool can be an alternative
to developing native mobile applications. For
this assessment, a proof of concept application is
developed in both iOS (representing native application
approach) and Xamarin (representing cross-platform
application development approach) and then
compared against a list of criteria mentioned below.
The criteria selected fell under the following broad
areas:
Use Cases
The use cases were carefully selected to demonstrate
key technical implementation strategies. Following
use case scenarios are used for this comparative
assessment.
•	 Architecture & Design
•	 Development Methodology
•	 Infrastructure and Performance
•	 Support and Costs
•	 Login/Authentication process
•	 Read data from a secured web service
•	 Update data via a secured web service
•	 Send/Receive an alert to a mobile device
Architecture & Design
High Level Architecture
Criteria Xamarin iOS
Integration with back-end services
•	 Web Services are consumed using NSURL.
•	 Additional step is required for parsing the
data using NewtonSoft.JSON
•	 Web Services are consumed using
NSURL classes.
•	 Data is parsed using JSON Framework.
Separation of presentation from
business logic
•	 Uses MVVM •	 Uses MVC architecture.
Security *
•	 All iOS Security features are available.
•	 All Android Security features are available.
•	 IOS supports whole set of security
features (see references).
Local storage *
•	 iOS using SQL Lite DB and android using
Android File System and SQL Lite.
•	 SQLite DB
Authentication
•	 Authentication using service method call,
additional step is required for parsing the
data.
•	 Authentication achieved using service
method call.
Authorization *
•	 Authorization is typically embedded in
Middle ware.
•	 Authorization is typically embedded in
Middle ware.
Session Management
•	 Maintained using NSURLConnection and
NSURLSession in IOS
•	 Maintained using Shared preferences in
Android.
•	 Maintained using NSURLConnection
and NSURLSession
User Experience
Criteria Xamarin iOS
Native look & feel
•	 All the UI elements have the same look and feel like
native app as Xamarin uses Native UI controls for
rendering on each platform.
•	 This is native development (X-Code,
objective-c and iOS SDK) so the
application has rich look and feel.
Action Sheet* •	 Based on iOS UIAlertControllerStyleActionSheet.
•	 Based on
UIAlertControllerStyleActionSheet.
Form Inputs*
•	 Xamarin.Forms can be used for basic form input
applications
•	 Based on iOS UIView and its Subclasses , forms are
created in the application
•	 UIView and its Subclasses are used to
create forms in the application.
Gestures and Events*
•	 Based on iOS UIGestureRecognizer Class. Supports
recognizing tap, pinch, pan, rotate, swipe etc,. Custom
gestures can also be added.
•	 Based on iOS UIEvent Class, Supports touch events,
motion events, and remote-control events
•	 Gestures based on UIGestureRecognizer
Class
•	 Events based on UIEvent Class touch
events, motion events, and remote-
control events.
Keyboard* •	 Based on iOS UIKeyBoard •	 Based on UIKeyBoard.
Lists
•	 Based on iOS UITableView
•	 List view with custom list adapter for Android.
•	 Based on UITableView.
Modal*
•	 Based on iOS ViewController and
ModalPresentationStyle.
•	 Based on UIViewController and
ModalPresentationStyle.
Navigation
•	 Based on iOS UINavigationController and
ViewControllers.
•	 Activity lifecycle for Android are used for controlling
Navigation.
•	 Based on UINavigationController and
ViewControllers.
Popover* •	 Based on iOS UIPopOverviewController. •	 Based on UIPopOverviewController.
Popup* •	 Based on iOS UIViewController, popups can displayed.
•	 Based on UIViewController, popups can
displayed.
Scroll* •	 Based on iOS UIScrollView. •	 Based on UIScrollView.
Tabs
•	 Based on iOS UITabBarController.
•	 Tabhost for Android.
•	 Based on UITabBarController.
Tap & Click*
•	 Based on iOS UITapGestureRecognizer, supports
recognizing Tap and Click events.
•	 Based on UITapGestureRecognizer,
supports recognizing Tap and Click
events.
Side Menu*
•	 Container view controllers can be used for creating Side
Menu.
•	 Container view controllers can be used
for creating Side Menu.
Device Specific Features
Development
Criteria Xamarin iOS
Camera *
•	 Based on iOS AV Foundation Framework.
•	 Uses native library API in Android.
•	 Based on AV Foundation framework.
GPS *
•	 Based on iOS Core Location framework.
•	 Uses native library API in Android.
•	 Based on Core Location framework.
NFC (Near Field
Communication) *
•	 NFC is not supported in iOS.
•	 Limited support for Android phones using Android Beam.
•	 Not Supported.
Accelerometer *
•	 Using Core Motion for iOS.
•	 Native library API in Android.
•	 Based on UI Accelerometer.
Multi-Touch
support*
•	 Based on iOS UI Kit
•	 Native device framework for Android.
•	 Based on UI Kit.
Criteria Xamarin iOS
Development
Infrastructure
For the PoC we deployed Tamarin as follows
•	 Install Xamarin.iOS on Mac machine.
•	 Inst Xamarin. Windows on Windows 7.
•	 Pairing of Windows and Mac machine achieved with
Bonjour service.
•	 Install X-Code on Mac machine for .Xib changes.
•	 IDE: X-Code.
•	 Programming language: objective-C/
Swift.
•	 SDK: iOS SDK 8.x.
•	 Instruments to debug memory, battery,
time and network related performance
parameters.
IDE
•	 Xcode Interface Builder for Xamarin.iOS
•	 Xamarin studio for Xamarin.Android
•	 Xamarin studio for Xamarin.Forms targeting windows
apps & Windows store apps
•	 Photoshop or any other image editing software.
•	 X Code
•	 Photoshop or any other image editing
software.
Testing Tools except
TDD
•	 http://xamarin.com/test-cloud
This is in addition to simulators and provides access
to 300 + device types.
•	 iPad and iPhone simulators are available
and updated with every version of
X-Code.
Short update cycles
•	 This is based on the target platform, Ex. iOS updates can
take 2 weeks while Android can be 24 hrs.
•	 An approval process on app store takes
around two weeks. Here, we can provide
update for apps every two weeks if
required.
Defect Management •	 GitHub, Bugzilla,TFS •	 GitHub, Bugzilla
Ease of maintaining
multiple Platforms
•	 Shared business logic serves the purpose of maintaining
multiple platforms (iOS, Android, Windows).
•	 Sharing Business logic is not applicable
as it is native development for iOS only.
Source Management
•	 Xamarin has integration with Source Management tools
like GitHub, Bugzilla, TFS.
•	 X-Code has integration with Source
Management tools like GitHub, SVN or
Bit-bucket).
Deployment Process
•	 App-store for IOS and Play store distribution for Android
apps.
•	 Apps can be deployed to the enterprise store also.
•	 Ad hoc Distribution for beta testing.
•	 App-store distribution for users.
•	 Apps can be deployed to enterprise
store also.
Push Updates
•	 Push Updates to the application can be done using
•	 APNS for iOS if distributed through App-Store.
•	 Play store for Android
•	 For enterprise program/stores, licensee needs to send out
updates to the users.
•	 Push Updates to the application can be
done using APNS if distributed through
App-Store.
•	 For enterprise program / stores, licensee
needs to send out updates to the users.
Distribution Channel
•	 Using App Store for iOS and Play Store for Android
•	 Enterprise deployment.
•	 Using App Store
•	 Enterprise deployment
Performance
Support
Costs & Overheads
Criteria Xamarin iOS
Speed at Start up/
Run time
•	 Tested initial load time of PoC application for
6 runs. Average launch time + login screen
display time ~ 300 ms.
•	 Tested initial load time of PoC
application for 6 runs. Average
launch time + login screen
display time ~ 200 ms.
Responsiveness on
user interaction
•	 Responsiveness of Xamarin app is same as that of native
app.
•	 Involves additional effort as the UI files (.xib) need to be
edited with X-Code to resemble iOS Native app.
•	 Asynchronous calls on background
thread do not block the user interface
and provides excellent user experience
and responsiveness.
Performance
and robustness
to support
interruptions *
•	 Based on iOS. Core Telephony Framework
•	 To handle Call interruptions iOS uses
Core Telephony Framework
Criteria Xamarin iOS
Support of newest
versions of mobile
operating systems
•	 Xamarin releases a newer API for
target OS within couple of days.
•	 Major updates rolled out annually, beta preview releases
in June/July to developers to test their apps for the latest
iOS versions and for end users the updates are released in
September giving 2-3 months to check and update our apps
on the app-store.
•	 Changes in API are updated in the related framework
documents.
Active community
with many
developers
•	 https://forums.xamarin.com/ is
the forum for Xamarin developers
community.
•	 Developer.apple.com,
•	 WWDC Video Sessions,
•	 Stanford University lectures.
•	 http://www.raywenderlich.com/tutorial-archive
•	 http://www.objc.io
Commercial
supporters for the
framework's on-
going development
•	 Xamarin is not an open source
developer plwatform.
•	 developer.xamarin.com and other
reference sites are available.
•	 Apple provides support for the new development through
Apple website (developer.apple.com); also the above links can
be used to stay updated.
Target OS/ Devices.
Apps targeting IOS , Android, Windows
can be developed
Apps Targeting iPad/IPhone devices can be developed using
XCode IDE
Frequency of
frameworks updates.
Xamarin framework is not updated too
frequently. But the API are updated as
per iOS and Android updates
Normally once a year, new iOS SDK is released and supporting
documentation and updated libraries are available on the
developer community site.
Criteria Xamarin iOS
Licensing
Three types of licenses are available:
•	 Indie[Individual]-
•	 Business
•	 Commercial
•	 Free
Development
System Size
•	 64 Bit Processor + 8 GB Ram •	 MAC OS Based devices (Mac Pro , Mac Book , Mac Mini)
Reliability & performance of the assessment
During implementation and testing of the sample application, no
relevant crashes were found with any of the frameworks and native
SDKs, apart from the memory management of loaded thumbnails
from large pictures.
Key findings based on comparative assessment
There is still a discussion going on about Xamarin vs native
app development. Yet, any technology has its own benefits and
drawbacks. To make an informed decision about your technology
choice, let’s weigh all the pros and cons of Xamarin application
development.
•	 Xamarin provides a single codebase and hence
reduces the cost for support and new functionalities
that need to be introduced.
•	 Xamarin test cloud allows you to automatically test
your iOS and android apps on hundreds of devices,
test for performance, UI testing, integration testing
and UI and UX testing.
•	 Xamarin allows building applications on C# and
C# is a simple, modern, general-purpose, object-
oriented programming language.
•	 Xamarin provides a simple development
environment for cross-platform mobile apps.
•	 Xamarin delivers high performance compiled code
with full access to all the native APIs so you can
create native apps with device-specific experiences.
•	 Using Xamarin technology allows you to keep native
UI across all major Mobile platforms, therefore
providing excellent performance.
•	 Xamarin is integrated with the SDKs of leading
mobile OS for developers to utilize native controls
that exist for the iOS, android or windows.
YASH-Xamarin-Mobile-WP-0517
© 2017 YASH Technologies. All rights reserved. Referred products/ services may be registered trademarks of belonging companies.
About YASH Technologies
YASH Technologies focuses on customer success. As a leading technology services and outsourcing partner for large and fast growing
global customers, the company leverages technology and flexible business models to drive innovation and value throughout its customer’s
enterprise. YASH customer centric engagement and delivery framework integrates specialized domain and consulting capabilities with
proprietary methodologies and solution offerings to provision application, infrastructure and end user focused Right-Sourcing services.
YASH is a SEI CMMI (Level 3) and an ISO 9001:2015 certified company with U.S. and India headquarters and regional sales and development
offices globally with customers spread across 6 continents.
.
YASH Technologies Global Presence	 www.yash.com/contactus
AMERICAS | EUROPE | APAC | MEA
World HQ: 605-17th Avenue East Moline IL 61244 USA | Toll Free: 877-766-8934 | Tel: 309-755-0433 | Fax: 309-796-1242
For more information contact YASH today at info@yash.com or visit www.yash.com
Conclusion
To summarize, for native apps tool
or cross-platform development
tool, there are diverse ways to
cater to the needs of the mobile
user. There is no unique best
solution: each of these has their
strengths and weaknesses. The
choice of one versus the other
depends on each company’s
individual needs.
This comparative assessment
can serve as a baseline research
document for deciding on which
mobile application development
tool/platform is the most suitable
to choose.

More Related Content

What's hot (20)

PPTX
Introduction to Mobile Development
Pragnesh Vaghela
 
PPTX
Xamarin Platform
Liddle Fang
 
PDF
Introduction to xamarin
Daniel Fikre
 
PDF
Web App VS. Hybrid App VS. Native App?
Justin O'Neill
 
PPTX
Introduction to hybrid application development
Kunjan Thakkar
 
PDF
iOS App Development and Marketing
Changwon National University
 
PPTX
Hybrid Mobile App
Palani Kumar
 
PDF
Xamarin Platform
Rui Marinho
 
PPTX
Introduction to Hybrid Application Development
Dotitude
 
PDF
Cross Platform Mobile App Development
Annmarie Lanesey
 
PDF
Lublin Startup Festival - Mobile Architecture Design Patterns
Karol Szmaj
 
PPTX
Introduction to xamarin
Alejandro Ruiz Varela
 
PPTX
Development of Mobile Application -PPT
Dhivya T
 
PPTX
Introduction to Xamarin - Confoo 2015
Guy Barrette
 
PPTX
Introduction to mobile application development
Chandan Maurya
 
ODP
Introduction to Mobile Application Development
shikishiji
 
PDF
The Great Mobile Debate: Native vs. Hybrid App Development
Nick Landry
 
PDF
Hybrid mobile apps
Erik Paulsson
 
PDF
Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...
Bala Subra
 
PDF
Mobile application development strategy and execution
InnoTech
 
Introduction to Mobile Development
Pragnesh Vaghela
 
Xamarin Platform
Liddle Fang
 
Introduction to xamarin
Daniel Fikre
 
Web App VS. Hybrid App VS. Native App?
Justin O'Neill
 
Introduction to hybrid application development
Kunjan Thakkar
 
iOS App Development and Marketing
Changwon National University
 
Hybrid Mobile App
Palani Kumar
 
Xamarin Platform
Rui Marinho
 
Introduction to Hybrid Application Development
Dotitude
 
Cross Platform Mobile App Development
Annmarie Lanesey
 
Lublin Startup Festival - Mobile Architecture Design Patterns
Karol Szmaj
 
Introduction to xamarin
Alejandro Ruiz Varela
 
Development of Mobile Application -PPT
Dhivya T
 
Introduction to Xamarin - Confoo 2015
Guy Barrette
 
Introduction to mobile application development
Chandan Maurya
 
Introduction to Mobile Application Development
shikishiji
 
The Great Mobile Debate: Native vs. Hybrid App Development
Nick Landry
 
Hybrid mobile apps
Erik Paulsson
 
Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...
Bala Subra
 
Mobile application development strategy and execution
InnoTech
 

Similar to Xamarin Technical Assessment Against Native for Cross Platform Mobile Development (20)

PDF
Building Mobile Cross-Platform Apps for iOS, Android & Windows in C# with Xam...
Nick Landry
 
PDF
Xamarin the good, the bad and the ugly
Azilen Technologies Pvt. Ltd.
 
PDF
Mobile Cross-Platform App Development in C# with Xamarin
Nick Landry
 
PDF
How Xamarin Is Revolutionizing Mobile Development
MentorMate
 
PPTX
Xamarin Best Cross Platform Mobile App Development Solution
Ramin mohmaad hoseini
 
PDF
Xamarin for (not only) Android developers
Aleksander Piotrowski
 
PPTX
xamarin ppt m (1).pptx GENARAL SEMINAR TOPIC PPT
anuranthchala
 
PPTX
Designing mobile applications with xamarin
Jerel Hass
 
PPTX
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)
Mark Radacz
 
PPTX
Field enablement roadshow - Real World Solutions - John Pelak
BlueMetalInc
 
PPSX
Mobile App Development and Xamarin as a Complete Mobile Solution
Mukteswar Patnaik
 
PPTX
Introduction to Xamarin
Guy Barrette
 
PPTX
Xamarin Open House talk - Sela Group - Ofir Makmal
Ofir Makmal
 
PPTX
Dia 1 intro to mobile and xamarin
Hernan Zaldivar
 
PPTX
SydMobDev Feb 2014 - Cross Platform Native App Development with Xamarin and M...
Alec Tucker
 
PPTX
Xamarin - Victim of Phonegap’s horrible reputation
Gabor Wnuk
 
PDF
Hire Expert Xamarin Developers from India for Enterprise App Success.pdf
Mobisoft Infotech
 
PDF
Why Xamarin is the Best to Build Cost-Effective Mobile Apps
Rosalie Lauren
 
PPTX
DNN Connect - Mobile Development With Xamarin
Mark Allan
 
Building Mobile Cross-Platform Apps for iOS, Android & Windows in C# with Xam...
Nick Landry
 
Xamarin the good, the bad and the ugly
Azilen Technologies Pvt. Ltd.
 
Mobile Cross-Platform App Development in C# with Xamarin
Nick Landry
 
How Xamarin Is Revolutionizing Mobile Development
MentorMate
 
Xamarin Best Cross Platform Mobile App Development Solution
Ramin mohmaad hoseini
 
Xamarin for (not only) Android developers
Aleksander Piotrowski
 
xamarin ppt m (1).pptx GENARAL SEMINAR TOPIC PPT
anuranthchala
 
Designing mobile applications with xamarin
Jerel Hass
 
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)
Mark Radacz
 
Field enablement roadshow - Real World Solutions - John Pelak
BlueMetalInc
 
Mobile App Development and Xamarin as a Complete Mobile Solution
Mukteswar Patnaik
 
Introduction to Xamarin
Guy Barrette
 
Xamarin Open House talk - Sela Group - Ofir Makmal
Ofir Makmal
 
Dia 1 intro to mobile and xamarin
Hernan Zaldivar
 
SydMobDev Feb 2014 - Cross Platform Native App Development with Xamarin and M...
Alec Tucker
 
Xamarin - Victim of Phonegap’s horrible reputation
Gabor Wnuk
 
Hire Expert Xamarin Developers from India for Enterprise App Success.pdf
Mobisoft Infotech
 
Why Xamarin is the Best to Build Cost-Effective Mobile Apps
Rosalie Lauren
 
DNN Connect - Mobile Development With Xamarin
Mark Allan
 
Ad

More from YASH Technologies (20)

PDF
Enhancing customer experience through Digital Transformation
YASH Technologies
 
PDF
YASH Quality Management Technical White Paper
YASH Technologies
 
PDF
Robust SAP ERP implementation for automation of business processes for a Manu...
YASH Technologies
 
PDF
Enabled automated workflows and business processes
YASH Technologies
 
PDF
Cloud Computing Serverless Architecture
YASH Technologies
 
PDF
Why is SAP PLM a fantasy for the SME’s?
YASH Technologies
 
PDF
Preference in SAP GTS for NET COST Method
YASH Technologies
 
PDF
Distributed Caching Using Windows Azure AppFabric
YASH Technologies
 
PDF
Best ERP Testing Practices for Large Organizations
YASH Technologies
 
PDF
Reducing the complexity of your Enterprise Packaged Application Automation Te...
YASH Technologies
 
PDF
A LEADING AGRONOMIC MACHINERY MANUFACTURER GETS EMPOWERED WITH ENTERPRISE-WID...
YASH Technologies
 
PDF
YASH Services for SAP HANA Migration
YASH Technologies
 
PDF
YASH helped a large North American Railcar Manufacturer identify & retain hig...
YASH Technologies
 
PDF
Data Sciences & Analytics Discover the unknown power of the known
YASH Technologies
 
PDF
YASH Cloud Services
YASH Technologies
 
PDF
Enhanced Data Visualization provided for 200,000 Machines with OpenTSDB and C...
YASH Technologies
 
PDF
Proof of Concept: Adobe Analytics Live Stream on Amazon Web Services
YASH Technologies
 
PDF
AWS Managed Cloud Hosting and Services for SAP® Solutions
YASH Technologies
 
PDF
Big Data Services at YASH
YASH Technologies
 
PDF
Hero Future Energies Pvt. Ltd
YASH Technologies
 
Enhancing customer experience through Digital Transformation
YASH Technologies
 
YASH Quality Management Technical White Paper
YASH Technologies
 
Robust SAP ERP implementation for automation of business processes for a Manu...
YASH Technologies
 
Enabled automated workflows and business processes
YASH Technologies
 
Cloud Computing Serverless Architecture
YASH Technologies
 
Why is SAP PLM a fantasy for the SME’s?
YASH Technologies
 
Preference in SAP GTS for NET COST Method
YASH Technologies
 
Distributed Caching Using Windows Azure AppFabric
YASH Technologies
 
Best ERP Testing Practices for Large Organizations
YASH Technologies
 
Reducing the complexity of your Enterprise Packaged Application Automation Te...
YASH Technologies
 
A LEADING AGRONOMIC MACHINERY MANUFACTURER GETS EMPOWERED WITH ENTERPRISE-WID...
YASH Technologies
 
YASH Services for SAP HANA Migration
YASH Technologies
 
YASH helped a large North American Railcar Manufacturer identify & retain hig...
YASH Technologies
 
Data Sciences & Analytics Discover the unknown power of the known
YASH Technologies
 
YASH Cloud Services
YASH Technologies
 
Enhanced Data Visualization provided for 200,000 Machines with OpenTSDB and C...
YASH Technologies
 
Proof of Concept: Adobe Analytics Live Stream on Amazon Web Services
YASH Technologies
 
AWS Managed Cloud Hosting and Services for SAP® Solutions
YASH Technologies
 
Big Data Services at YASH
YASH Technologies
 
Hero Future Energies Pvt. Ltd
YASH Technologies
 
Ad

Recently uploaded (20)

PDF
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
PDF
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
PPTX
Hardware(Central Processing Unit ) CU and ALU
RizwanaKalsoom2
 
PDF
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
PDF
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
PPTX
Agentic Automation: Build & Deploy Your First UiPath Agent
klpathrudu
 
PDF
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
PDF
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
PPTX
Human Resources Information System (HRIS)
Amity University, Patna
 
PPTX
OpenChain @ OSS NA - In From the Cold: Open Source as Part of Mainstream Soft...
Shane Coughlan
 
PPTX
Tally software_Introduction_Presentation
AditiBansal54083
 
PDF
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pdf
Varsha Nayak
 
PDF
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
PPTX
ChiSquare Procedure in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
Help for Correlations in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PDF
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
PDF
Alexander Marshalov - How to use AI Assistants with your Monitoring system Q2...
VictoriaMetrics
 
PPTX
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Shane Coughlan
 
PPTX
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
PDF
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
Hardware(Central Processing Unit ) CU and ALU
RizwanaKalsoom2
 
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
Agentic Automation: Build & Deploy Your First UiPath Agent
klpathrudu
 
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
Human Resources Information System (HRIS)
Amity University, Patna
 
OpenChain @ OSS NA - In From the Cold: Open Source as Part of Mainstream Soft...
Shane Coughlan
 
Tally software_Introduction_Presentation
AditiBansal54083
 
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pdf
Varsha Nayak
 
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
ChiSquare Procedure in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Help for Correlations in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
Alexander Marshalov - How to use AI Assistants with your Monitoring system Q2...
VictoriaMetrics
 
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Shane Coughlan
 
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 

Xamarin Technical Assessment Against Native for Cross Platform Mobile Development

  • 1. Xamarin Technical Assessment Against Native for Cross Platform Mobile Development . White Paper
  • 2. Background With an aim to become competitive and responsive in the market, mobile application development companies are trying to deliver applications on as many platforms as possible and within budget. Since the mobile market is dominated by iOS, Android and Windows devices, if one wants to develop a particular application, it must atleast be developed for one of these three devices unless you can afford to ignore one or all these devices. The standard approach that companies follow for developing applications is native development. What modern companies and app developers are doing is ‘write once and run anywhere’ with cross- platform development, as it allows to develop applications that can run on multiple platforms. With cross-platform development, you can reduce the cost of development below the threshold of the total sum of native development costs for each platform. Introduction Objective C, Swift, and Java are a natural choice for the development of mobile applications on iOS and Android platforms. It’s impossible to ignore Xamarin when talking about the important approaches to mobile application development. Xamarin is a cross-platform framework that has picked up the development market with its own IDE. It works on C# within the NET framework and allows you to create native apps by utilizing native APIs and UIs of each platform. Xamarin is unique in this space as it offers single C# class library and runtime library that works across all three mobile platforms while still compiling native (non-interpreted) applications that are performant for applications like demanding games. This research report is based on findings in regards to the evaluation of Xamarin v/s Native platforms and their development methodologies. Comparative Technical Assessment of Xamarin vs. iOS Methodology (Comparative Feasibility Check) A survey on cross-platform mobile development shows that he grew by more than 200% in 2016. Considering this surge, businesses have started using latest cross-platform application development tools like Xamarin. These tools allow developers to create basic native apps using a single codebase which in turn saves their time, energy and money. The primary purpose of this comparative assessment is to determine if Xamarin tool can be an alternative to developing native mobile applications. For this assessment, a proof of concept application is developed in both iOS (representing native application approach) and Xamarin (representing cross-platform application development approach) and then compared against a list of criteria mentioned below. The criteria selected fell under the following broad areas: Use Cases The use cases were carefully selected to demonstrate key technical implementation strategies. Following use case scenarios are used for this comparative assessment. • Architecture & Design • Development Methodology • Infrastructure and Performance • Support and Costs • Login/Authentication process • Read data from a secured web service • Update data via a secured web service • Send/Receive an alert to a mobile device
  • 3. Architecture & Design High Level Architecture Criteria Xamarin iOS Integration with back-end services • Web Services are consumed using NSURL. • Additional step is required for parsing the data using NewtonSoft.JSON • Web Services are consumed using NSURL classes. • Data is parsed using JSON Framework. Separation of presentation from business logic • Uses MVVM • Uses MVC architecture. Security * • All iOS Security features are available. • All Android Security features are available. • IOS supports whole set of security features (see references). Local storage * • iOS using SQL Lite DB and android using Android File System and SQL Lite. • SQLite DB Authentication • Authentication using service method call, additional step is required for parsing the data. • Authentication achieved using service method call. Authorization * • Authorization is typically embedded in Middle ware. • Authorization is typically embedded in Middle ware. Session Management • Maintained using NSURLConnection and NSURLSession in IOS • Maintained using Shared preferences in Android. • Maintained using NSURLConnection and NSURLSession
  • 4. User Experience Criteria Xamarin iOS Native look & feel • All the UI elements have the same look and feel like native app as Xamarin uses Native UI controls for rendering on each platform. • This is native development (X-Code, objective-c and iOS SDK) so the application has rich look and feel. Action Sheet* • Based on iOS UIAlertControllerStyleActionSheet. • Based on UIAlertControllerStyleActionSheet. Form Inputs* • Xamarin.Forms can be used for basic form input applications • Based on iOS UIView and its Subclasses , forms are created in the application • UIView and its Subclasses are used to create forms in the application. Gestures and Events* • Based on iOS UIGestureRecognizer Class. Supports recognizing tap, pinch, pan, rotate, swipe etc,. Custom gestures can also be added. • Based on iOS UIEvent Class, Supports touch events, motion events, and remote-control events • Gestures based on UIGestureRecognizer Class • Events based on UIEvent Class touch events, motion events, and remote- control events. Keyboard* • Based on iOS UIKeyBoard • Based on UIKeyBoard. Lists • Based on iOS UITableView • List view with custom list adapter for Android. • Based on UITableView. Modal* • Based on iOS ViewController and ModalPresentationStyle. • Based on UIViewController and ModalPresentationStyle. Navigation • Based on iOS UINavigationController and ViewControllers. • Activity lifecycle for Android are used for controlling Navigation. • Based on UINavigationController and ViewControllers. Popover* • Based on iOS UIPopOverviewController. • Based on UIPopOverviewController. Popup* • Based on iOS UIViewController, popups can displayed. • Based on UIViewController, popups can displayed. Scroll* • Based on iOS UIScrollView. • Based on UIScrollView. Tabs • Based on iOS UITabBarController. • Tabhost for Android. • Based on UITabBarController. Tap & Click* • Based on iOS UITapGestureRecognizer, supports recognizing Tap and Click events. • Based on UITapGestureRecognizer, supports recognizing Tap and Click events. Side Menu* • Container view controllers can be used for creating Side Menu. • Container view controllers can be used for creating Side Menu.
  • 5. Device Specific Features Development Criteria Xamarin iOS Camera * • Based on iOS AV Foundation Framework. • Uses native library API in Android. • Based on AV Foundation framework. GPS * • Based on iOS Core Location framework. • Uses native library API in Android. • Based on Core Location framework. NFC (Near Field Communication) * • NFC is not supported in iOS. • Limited support for Android phones using Android Beam. • Not Supported. Accelerometer * • Using Core Motion for iOS. • Native library API in Android. • Based on UI Accelerometer. Multi-Touch support* • Based on iOS UI Kit • Native device framework for Android. • Based on UI Kit. Criteria Xamarin iOS Development Infrastructure For the PoC we deployed Tamarin as follows • Install Xamarin.iOS on Mac machine. • Inst Xamarin. Windows on Windows 7. • Pairing of Windows and Mac machine achieved with Bonjour service. • Install X-Code on Mac machine for .Xib changes. • IDE: X-Code. • Programming language: objective-C/ Swift. • SDK: iOS SDK 8.x. • Instruments to debug memory, battery, time and network related performance parameters. IDE • Xcode Interface Builder for Xamarin.iOS • Xamarin studio for Xamarin.Android • Xamarin studio for Xamarin.Forms targeting windows apps & Windows store apps • Photoshop or any other image editing software. • X Code • Photoshop or any other image editing software. Testing Tools except TDD • http://xamarin.com/test-cloud This is in addition to simulators and provides access to 300 + device types. • iPad and iPhone simulators are available and updated with every version of X-Code. Short update cycles • This is based on the target platform, Ex. iOS updates can take 2 weeks while Android can be 24 hrs. • An approval process on app store takes around two weeks. Here, we can provide update for apps every two weeks if required. Defect Management • GitHub, Bugzilla,TFS • GitHub, Bugzilla Ease of maintaining multiple Platforms • Shared business logic serves the purpose of maintaining multiple platforms (iOS, Android, Windows). • Sharing Business logic is not applicable as it is native development for iOS only. Source Management • Xamarin has integration with Source Management tools like GitHub, Bugzilla, TFS. • X-Code has integration with Source Management tools like GitHub, SVN or Bit-bucket). Deployment Process • App-store for IOS and Play store distribution for Android apps. • Apps can be deployed to the enterprise store also. • Ad hoc Distribution for beta testing. • App-store distribution for users. • Apps can be deployed to enterprise store also. Push Updates • Push Updates to the application can be done using • APNS for iOS if distributed through App-Store. • Play store for Android • For enterprise program/stores, licensee needs to send out updates to the users. • Push Updates to the application can be done using APNS if distributed through App-Store. • For enterprise program / stores, licensee needs to send out updates to the users. Distribution Channel • Using App Store for iOS and Play Store for Android • Enterprise deployment. • Using App Store • Enterprise deployment
  • 6. Performance Support Costs & Overheads Criteria Xamarin iOS Speed at Start up/ Run time • Tested initial load time of PoC application for 6 runs. Average launch time + login screen display time ~ 300 ms. • Tested initial load time of PoC application for 6 runs. Average launch time + login screen display time ~ 200 ms. Responsiveness on user interaction • Responsiveness of Xamarin app is same as that of native app. • Involves additional effort as the UI files (.xib) need to be edited with X-Code to resemble iOS Native app. • Asynchronous calls on background thread do not block the user interface and provides excellent user experience and responsiveness. Performance and robustness to support interruptions * • Based on iOS. Core Telephony Framework • To handle Call interruptions iOS uses Core Telephony Framework Criteria Xamarin iOS Support of newest versions of mobile operating systems • Xamarin releases a newer API for target OS within couple of days. • Major updates rolled out annually, beta preview releases in June/July to developers to test their apps for the latest iOS versions and for end users the updates are released in September giving 2-3 months to check and update our apps on the app-store. • Changes in API are updated in the related framework documents. Active community with many developers • https://forums.xamarin.com/ is the forum for Xamarin developers community. • Developer.apple.com, • WWDC Video Sessions, • Stanford University lectures. • http://www.raywenderlich.com/tutorial-archive • http://www.objc.io Commercial supporters for the framework's on- going development • Xamarin is not an open source developer plwatform. • developer.xamarin.com and other reference sites are available. • Apple provides support for the new development through Apple website (developer.apple.com); also the above links can be used to stay updated. Target OS/ Devices. Apps targeting IOS , Android, Windows can be developed Apps Targeting iPad/IPhone devices can be developed using XCode IDE Frequency of frameworks updates. Xamarin framework is not updated too frequently. But the API are updated as per iOS and Android updates Normally once a year, new iOS SDK is released and supporting documentation and updated libraries are available on the developer community site. Criteria Xamarin iOS Licensing Three types of licenses are available: • Indie[Individual]- • Business • Commercial • Free Development System Size • 64 Bit Processor + 8 GB Ram • MAC OS Based devices (Mac Pro , Mac Book , Mac Mini)
  • 7. Reliability & performance of the assessment During implementation and testing of the sample application, no relevant crashes were found with any of the frameworks and native SDKs, apart from the memory management of loaded thumbnails from large pictures. Key findings based on comparative assessment There is still a discussion going on about Xamarin vs native app development. Yet, any technology has its own benefits and drawbacks. To make an informed decision about your technology choice, let’s weigh all the pros and cons of Xamarin application development. • Xamarin provides a single codebase and hence reduces the cost for support and new functionalities that need to be introduced. • Xamarin test cloud allows you to automatically test your iOS and android apps on hundreds of devices, test for performance, UI testing, integration testing and UI and UX testing. • Xamarin allows building applications on C# and C# is a simple, modern, general-purpose, object- oriented programming language. • Xamarin provides a simple development environment for cross-platform mobile apps. • Xamarin delivers high performance compiled code with full access to all the native APIs so you can create native apps with device-specific experiences. • Using Xamarin technology allows you to keep native UI across all major Mobile platforms, therefore providing excellent performance. • Xamarin is integrated with the SDKs of leading mobile OS for developers to utilize native controls that exist for the iOS, android or windows. YASH-Xamarin-Mobile-WP-0517 © 2017 YASH Technologies. All rights reserved. Referred products/ services may be registered trademarks of belonging companies. About YASH Technologies YASH Technologies focuses on customer success. As a leading technology services and outsourcing partner for large and fast growing global customers, the company leverages technology and flexible business models to drive innovation and value throughout its customer’s enterprise. YASH customer centric engagement and delivery framework integrates specialized domain and consulting capabilities with proprietary methodologies and solution offerings to provision application, infrastructure and end user focused Right-Sourcing services. YASH is a SEI CMMI (Level 3) and an ISO 9001:2015 certified company with U.S. and India headquarters and regional sales and development offices globally with customers spread across 6 continents. . YASH Technologies Global Presence www.yash.com/contactus AMERICAS | EUROPE | APAC | MEA World HQ: 605-17th Avenue East Moline IL 61244 USA | Toll Free: 877-766-8934 | Tel: 309-755-0433 | Fax: 309-796-1242 For more information contact YASH today at [email protected] or visit www.yash.com Conclusion To summarize, for native apps tool or cross-platform development tool, there are diverse ways to cater to the needs of the mobile user. There is no unique best solution: each of these has their strengths and weaknesses. The choice of one versus the other depends on each company’s individual needs. This comparative assessment can serve as a baseline research document for deciding on which mobile application development tool/platform is the most suitable to choose.