SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Journey into cross mobile apps
development
Xamarin.Forms – case study
Lukasz Jarmulowicz © 2017
https://www.linkedin.com/in/jarmulowicz/
Story
- About project
- Why Xamarin.Forms
- Pros and Cons
- Result
Background
- Techs deciding
- No hybrid app. Only native vs Forms
- Lack of mockups
- Integration with ready API
- Team:
- 2 .NET developers
- iOS developer
- Product owner
- Business analysts
- Project start March-April 2016
Xamarin
Framework that allows developers to create cross platform user interfaces.
Abstraction for the user interface that will be rendered using native controls on iOS, Android, Windows, or Windows Phone.
This means that applications can share a large portion of their user interface code and still retain the native look and feel of
the target platform.
Xamarin vs Xamarin.Forms
It’s all about code sharing
Xamarin.Forms
Xamarin.Forms
Xamarin.Forms
Xamarin.Forms promise (Q2 2016)
- Native experience
- Share as much code as possible (also Windows Mobile app was planned)
- Fast cross platform development (iOS, Android, Windows)
- Easy move from .NET (no need to learn all native frameworks)
- Fallback to renderers for complex UI
- Free since February 2016
Xamarin.Forms promise (Q2 2016)
Reality
Xamarin challenges
Setup working dev environment with Andorid, iOS emulators, devices etc.
takes days
Xamarin challenges
- Learning Xamarin Forms API (shouldn’t be .NET ??!!)
- Compatibility Issues with Third-Party Libraries and Tools
- Larger App Size
Xamarin challenges
- Preparing design (icons with proper sizes, themes) specific for iOS + Android
(including learning platform specific solutions and requirements)
Mobile apps development challenges
- Mobile apps UI/UX patterns
- Still required basic knowledge of native languages and platforms specifics
Development challenges*
- Switching between projects
- Understanding not yet defined domain (domain mix)
- Working with API
- Two laptop crashes (complete reinstall needed)
* Mostly team/company internal
First mockups - mobile UI
Renderers
Allowing customize the appearance and behavior
of Xamarin.Forms controls on each platform
(separate code for iOS and Android).
Html editor:
- Webview with Kendo JS
- Road to load data into view:
Javascript onReady
C# event handler
C# invoke Javascript
Javascript load data
Renderers
Drawing editor:
- Native code separate for Android
and iOS
Keyboard scrolling
issues
- Fixed in Q2 2017
What was good
- One UI for all platforms
- Decision to not make Windows app
- Easy and fast delivering prototypes
- Learning new technology and gaining experience
- Learning API + Holte .Net portable library
- Sharing knowledge between team members
- TFS builds and releases automation
Release management
- Fully automated iOS and Android builds and releases
- Using TFS 2017
Build management - Android
Release management - iOS
Summary
- Learning time same as separate learning of Android + iOS
- Good for unified UI across mobile apps
- Not good for heavy graphics and custom flows
- In 2017 it’s mature technology
- Well integrated with VS 2017 & TFS
Result
Thank you
https://www.linkedin.com/in/jarmulowicz/
l.jarmulowicz@gmail.com

Weitere ähnliche Inhalte

Was ist angesagt?

Chris Odom 2016 Resume
Chris Odom 2016 ResumeChris Odom 2016 Resume
Chris Odom 2016 Resume
Chris Odom
 
Cross Platform Mobile Dev with C# and Xamarin 3 (RADNUG 8/19/14)
Cross Platform Mobile Dev with C# and Xamarin 3 (RADNUG 8/19/14)Cross Platform Mobile Dev with C# and Xamarin 3 (RADNUG 8/19/14)
Cross Platform Mobile Dev with C# and Xamarin 3 (RADNUG 8/19/14)
Ed Snider
 

Was ist angesagt? (20)

Xamarin Forms
Xamarin FormsXamarin Forms
Xamarin Forms
 
Dia 4.1 shared asset projects and portable class library (pcl) projects
Dia 4.1   shared asset projects and portable class library (pcl) projectsDia 4.1   shared asset projects and portable class library (pcl) projects
Dia 4.1 shared asset projects and portable class library (pcl) projects
 
Xamarin Forms: O caminho para 100% de código compartilhado em aplicativos móveis
Xamarin Forms: O caminho para 100% de código compartilhado em aplicativos móveisXamarin Forms: O caminho para 100% de código compartilhado em aplicativos móveis
Xamarin Forms: O caminho para 100% de código compartilhado em aplicativos móveis
 
Cross platform development with c# and xamarin
Cross platform development with c# and xamarinCross platform development with c# and xamarin
Cross platform development with c# and xamarin
 
Xamarin.forms
Xamarin.forms Xamarin.forms
Xamarin.forms
 
Dia 4 introduction to cross platform mobile development
Dia 4   introduction to cross platform mobile developmentDia 4   introduction to cross platform mobile development
Dia 4 introduction to cross platform mobile development
 
Customizing Xamarin.Forms UI
Customizing Xamarin.Forms UICustomizing Xamarin.Forms UI
Customizing Xamarin.Forms UI
 
Chris Odom 2016 Resume
Chris Odom 2016 ResumeChris Odom 2016 Resume
Chris Odom 2016 Resume
 
PhoneGap Framework for smartphone app developement
PhoneGap Framework for smartphone app developementPhoneGap Framework for smartphone app developement
PhoneGap Framework for smartphone app developement
 
Cross Platform Mobile Dev with C# and Xamarin 3 (RADNUG 8/19/14)
Cross Platform Mobile Dev with C# and Xamarin 3 (RADNUG 8/19/14)Cross Platform Mobile Dev with C# and Xamarin 3 (RADNUG 8/19/14)
Cross Platform Mobile Dev with C# and Xamarin 3 (RADNUG 8/19/14)
 
Intro to appcelerator
Intro to appceleratorIntro to appcelerator
Intro to appcelerator
 
Hybrid Mobile Development
Hybrid Mobile DevelopmentHybrid Mobile Development
Hybrid Mobile Development
 
Xamarin.Forms Introduction
Xamarin.Forms IntroductionXamarin.Forms Introduction
Xamarin.Forms Introduction
 
dot net
dot netdot net
dot net
 
Cross Platform Mobile Development with C# and Xamarin
Cross Platform Mobile Development with C# and XamarinCross Platform Mobile Development with C# and Xamarin
Cross Platform Mobile Development with C# and Xamarin
 
Designing mobile applications with xamarin
Designing mobile applications with xamarinDesigning mobile applications with xamarin
Designing mobile applications with xamarin
 
Xamarin Dev Days - Xamarin.Forms
Xamarin Dev Days -  Xamarin.FormsXamarin Dev Days -  Xamarin.Forms
Xamarin Dev Days - Xamarin.Forms
 
Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#
Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#
Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#
 
C# everywhere: Xamarin and cross platform development
C# everywhere: Xamarin and cross platform developmentC# everywhere: Xamarin and cross platform development
C# everywhere: Xamarin and cross platform development
 
Native iOS and Android Development with Xamarin
Native iOS and Android Development with XamarinNative iOS and Android Development with Xamarin
Native iOS and Android Development with Xamarin
 

Ähnlich wie Journey into cross mobile apps development - Xamarin Forms case study

Evolution of Xamarin.Forms!
Evolution of Xamarin.Forms!Evolution of Xamarin.Forms!
Evolution of Xamarin.Forms!
All Things Open
 

Ähnlich wie Journey into cross mobile apps development - Xamarin Forms case study (20)

State of Mobile Development
State of Mobile DevelopmentState of Mobile Development
State of Mobile Development
 
Why does .net maui deserve your attention if you’re planning to use xamarin
Why does .net maui deserve your attention if you’re planning to use xamarin  Why does .net maui deserve your attention if you’re planning to use xamarin
Why does .net maui deserve your attention if you’re planning to use xamarin
 
Xamarin Mobile App Development Features & Benefits.pdf
Xamarin Mobile App Development Features & Benefits.pdfXamarin Mobile App Development Features & Benefits.pdf
Xamarin Mobile App Development Features & Benefits.pdf
 
Essential Tools for Xamarin Developers
Essential Tools for Xamarin DevelopersEssential Tools for Xamarin Developers
Essential Tools for Xamarin Developers
 
MobileDev: panoramica sullo sviluppo Mobile e sulle possibili alternative .Net
 MobileDev: panoramica sullo sviluppo Mobile e sulle possibili alternative .Net MobileDev: panoramica sullo sviluppo Mobile e sulle possibili alternative .Net
MobileDev: panoramica sullo sviluppo Mobile e sulle possibili alternative .Net
 
Building Cross Platform Mobile Applications
Building Cross Platform Mobile ApplicationsBuilding Cross Platform Mobile Applications
Building Cross Platform Mobile Applications
 
Cross platform apps using Xamarin
Cross platform apps using XamarinCross platform apps using Xamarin
Cross platform apps using Xamarin
 
Why Xamarin is the Best to Build Cost-Effective Mobile Apps
Why Xamarin is the Best to Build Cost-Effective Mobile AppsWhy Xamarin is the Best to Build Cost-Effective Mobile Apps
Why Xamarin is the Best to Build Cost-Effective Mobile Apps
 
An introduction to Xamarin
An introduction to XamarinAn introduction to Xamarin
An introduction to Xamarin
 
Top reasons why to choose xamarin for mobile app development
Top reasons why to choose xamarin for mobile app developmentTop reasons why to choose xamarin for mobile app development
Top reasons why to choose xamarin for mobile app development
 
Evolution of Xamarin.Forms!
Evolution of Xamarin.Forms!Evolution of Xamarin.Forms!
Evolution of Xamarin.Forms!
 
Mobility today & what's next. Application ecosystems.
Mobility today & what's next.Application ecosystems.Mobility today & what's next.Application ecosystems.
Mobility today & what's next. Application ecosystems.
 
The Great Mobile Debate: Native vs. Hybrid App Development
The Great Mobile Debate: Native vs. Hybrid App DevelopmentThe Great Mobile Debate: Native vs. Hybrid App Development
The Great Mobile Debate: Native vs. Hybrid App Development
 
Cross-Platform Mobile Development using Visual Studio and Xamarin
Cross-Platform Mobile Development using Visual Studio and XamarinCross-Platform Mobile Development using Visual Studio and Xamarin
Cross-Platform Mobile Development using Visual Studio and Xamarin
 
Why is xamarin the most popular framework for business app development
Why is xamarin the most popular framework for business app developmentWhy is xamarin the most popular framework for business app development
Why is xamarin the most popular framework for business app development
 
Dot net universal apps
Dot net universal appsDot net universal apps
Dot net universal apps
 
Building Native Smartphone Apps with Rhodes
Building Native Smartphone Apps with RhodesBuilding Native Smartphone Apps with Rhodes
Building Native Smartphone Apps with Rhodes
 
Deep Dive in Xamarin.Forms
Deep Dive in Xamarin.FormsDeep Dive in Xamarin.Forms
Deep Dive in Xamarin.Forms
 
Xamarin the good, the bad and the ugly
Xamarin  the good, the bad and the uglyXamarin  the good, the bad and the ugly
Xamarin the good, the bad and the ugly
 
Xamarin Platform
Xamarin PlatformXamarin Platform
Xamarin Platform
 

Kürzlich hochgeladen

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Kürzlich hochgeladen (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 

Journey into cross mobile apps development - Xamarin Forms case study

Hinweis der Redaktion

  1. b. We have only few renderers and most complicated is drawing component c. Things like file access, icons, styles are platform specific
  2. File access, icons, styles are platform specific
  3. 70-80% shared code.