native apps made easy with xamarin and cross-platform c#
TRANSCRIPT
![Page 1: Native apps made easy with Xamarin and cross-platform C#](https://reader036.vdocuments.us/reader036/viewer/2022062400/5878ba4a1a28ab724c8b7557/html5/thumbnails/1.jpg)
![Page 2: Native apps made easy with Xamarin and cross-platform C#](https://reader036.vdocuments.us/reader036/viewer/2022062400/5878ba4a1a28ab724c8b7557/html5/thumbnails/2.jpg)
Native apps made easy with Xamarin and cross-platform C#
Jivko PetiovChief Architect, Abilitics
@jivkopetiovlinkedin.com/in/jivkopetiov [email protected]
![Page 3: Native apps made easy with Xamarin and cross-platform C#](https://reader036.vdocuments.us/reader036/viewer/2022062400/5878ba4a1a28ab724c8b7557/html5/thumbnails/3.jpg)
There are only two hard problems in computer science:
finishing things
and getting paid
![Page 4: Native apps made easy with Xamarin and cross-platform C#](https://reader036.vdocuments.us/reader036/viewer/2022062400/5878ba4a1a28ab724c8b7557/html5/thumbnails/4.jpg)
Agenda
• 1. My Story with Xamarin
• 2. Hello World
• 3. What is Xamarin
• 4. Real world app example
• 5. Lessons learned (the hard way)
• 6. Questions
![Page 5: Native apps made easy with Xamarin and cross-platform C#](https://reader036.vdocuments.us/reader036/viewer/2022062400/5878ba4a1a28ab724c8b7557/html5/thumbnails/5.jpg)
1. My Story with Xamarin
• 2009 – working with other mobile devs
• 2010 – Purchased license and started developing
• 2011 – 2 apps released in App Store, customers paid money
• 2012 - Private App Store implementation
• 2013 – Consumer product launched
• 2014-2015 – working with other Xamarin devs
![Page 6: Native apps made easy with Xamarin and cross-platform C#](https://reader036.vdocuments.us/reader036/viewer/2022062400/5878ba4a1a28ab724c8b7557/html5/thumbnails/6.jpg)
2. Hello World
![Page 7: Native apps made easy with Xamarin and cross-platform C#](https://reader036.vdocuments.us/reader036/viewer/2022062400/5878ba4a1a28ab724c8b7557/html5/thumbnails/7.jpg)
3. What is Xamarin
• Founded in 2011 (technology exists since 2009)
• iOS, Android and Windows apps with C#
• Native UI, native API access, native performance
• Same C# code across platforms
• No need to learn the native APIs in depth
• App Store apps built with Xamarin
![Page 8: Native apps made easy with Xamarin and cross-platform C#](https://reader036.vdocuments.us/reader036/viewer/2022062400/5878ba4a1a28ab724c8b7557/html5/thumbnails/8.jpg)
Xamarin Today
• Venture capital
• 300++ employees
• 900 000++ registered developers
• Partnership with Microsoft (acquisition rumours)
• Component vendors - Telerik, Infragistics, ComponentOne, DevExpress, Syncfusion, Steema
• Mature platform
![Page 9: Native apps made easy with Xamarin and cross-platform C#](https://reader036.vdocuments.us/reader036/viewer/2022062400/5878ba4a1a28ab724c8b7557/html5/thumbnails/9.jpg)
How does it work
![Page 10: Native apps made easy with Xamarin and cross-platform C#](https://reader036.vdocuments.us/reader036/viewer/2022062400/5878ba4a1a28ab724c8b7557/html5/thumbnails/10.jpg)
Traditional Native apps
![Page 11: Native apps made easy with Xamarin and cross-platform C#](https://reader036.vdocuments.us/reader036/viewer/2022062400/5878ba4a1a28ab724c8b7557/html5/thumbnails/11.jpg)
Xamarin approach
![Page 12: Native apps made easy with Xamarin and cross-platform C#](https://reader036.vdocuments.us/reader036/viewer/2022062400/5878ba4a1a28ab724c8b7557/html5/thumbnails/12.jpg)
4. Real world app example
![Page 13: Native apps made easy with Xamarin and cross-platform C#](https://reader036.vdocuments.us/reader036/viewer/2022062400/5878ba4a1a28ab724c8b7557/html5/thumbnails/13.jpg)
![Page 14: Native apps made easy with Xamarin and cross-platform C#](https://reader036.vdocuments.us/reader036/viewer/2022062400/5878ba4a1a28ab724c8b7557/html5/thumbnails/14.jpg)
![Page 15: Native apps made easy with Xamarin and cross-platform C#](https://reader036.vdocuments.us/reader036/viewer/2022062400/5878ba4a1a28ab724c8b7557/html5/thumbnails/15.jpg)
![Page 16: Native apps made easy with Xamarin and cross-platform C#](https://reader036.vdocuments.us/reader036/viewer/2022062400/5878ba4a1a28ab724c8b7557/html5/thumbnails/16.jpg)
![Page 17: Native apps made easy with Xamarin and cross-platform C#](https://reader036.vdocuments.us/reader036/viewer/2022062400/5878ba4a1a28ab724c8b7557/html5/thumbnails/17.jpg)
5. Lessons learned (the hard way)
• Private App Stores (Sideloading)
• Hybrid vs Native
• State of hybrid platforms – shiny but young and immature
• Native is expensive and boring but stable
• Don’t use jQuery Mobile
![Page 18: Native apps made easy with Xamarin and cross-platform C#](https://reader036.vdocuments.us/reader036/viewer/2022062400/5878ba4a1a28ab724c8b7557/html5/thumbnails/18.jpg)
![Page 19: Native apps made easy with Xamarin and cross-platform C#](https://reader036.vdocuments.us/reader036/viewer/2022062400/5878ba4a1a28ab724c8b7557/html5/thumbnails/19.jpg)
App Quality
• Users expect software to just work
• Defensive programming
• Use a bug reporting tool - Xamarin Insights, Splunk MINT, etc
• printf() debugging - better than real debugger
![Page 20: Native apps made easy with Xamarin and cross-platform C#](https://reader036.vdocuments.us/reader036/viewer/2022062400/5878ba4a1a28ab724c8b7557/html5/thumbnails/20.jpg)
"One bad programmer can easily create two new jobs a year"
![Page 21: Native apps made easy with Xamarin and cross-platform C#](https://reader036.vdocuments.us/reader036/viewer/2022062400/5878ba4a1a28ab724c8b7557/html5/thumbnails/21.jpg)
![Page 22: Native apps made easy with Xamarin and cross-platform C#](https://reader036.vdocuments.us/reader036/viewer/2022062400/5878ba4a1a28ab724c8b7557/html5/thumbnails/22.jpg)
Developer: I just deployed some awesome new changes
User: I look forward to your awesome new bugs
![Page 23: Native apps made easy with Xamarin and cross-platform C#](https://reader036.vdocuments.us/reader036/viewer/2022062400/5878ba4a1a28ab724c8b7557/html5/thumbnails/23.jpg)
Don’t reinvent the wheel
• Push notifications - own implementation vs third-party vs cloud
• Components by Telerik, Infragistics, ComponentOne, DevExpress, Syncfusion, Steema
• Nuget packages, open source libraries
• Keep it simple, don’t use every new framework out there
• New iOS and Android versions - great and exciting, until you get a phone call
![Page 24: Native apps made easy with Xamarin and cross-platform C#](https://reader036.vdocuments.us/reader036/viewer/2022062400/5878ba4a1a28ab724c8b7557/html5/thumbnails/24.jpg)
Embrace C# async
But this wasn’t pretty back in 2013
![Page 25: Native apps made easy with Xamarin and cross-platform C#](https://reader036.vdocuments.us/reader036/viewer/2022062400/5878ba4a1a28ab724c8b7557/html5/thumbnails/25.jpg)
Mobile is hard
• Vesper – todo app
• Dropbox-like functionality
• Background sync
![Page 26: Native apps made easy with Xamarin and cross-platform C#](https://reader036.vdocuments.us/reader036/viewer/2022062400/5878ba4a1a28ab724c8b7557/html5/thumbnails/26.jpg)
Mobile is hard and complex …But we can make it easy and simple …with Xamarin
![Page 27: Native apps made easy with Xamarin and cross-platform C#](https://reader036.vdocuments.us/reader036/viewer/2022062400/5878ba4a1a28ab724c8b7557/html5/thumbnails/27.jpg)
Resources
• Pluralsight courses - http://www.pluralsight.com/search/?searchTerm=xamarin
• Bookshttp://www.amazon.com/Creating-Xamarin-Forms-Preview-Developer-Reference-ebook/dp/B00NXYJ8DK
http://www.amazon.com/Xamarin-Cross-platform-Application-Development-Second-ebook/dp/B00U64KQO0/
![Page 28: Native apps made easy with Xamarin and cross-platform C#](https://reader036.vdocuments.us/reader036/viewer/2022062400/5878ba4a1a28ab724c8b7557/html5/thumbnails/28.jpg)
Jivko Petiov
Please give your feedback about this session and vote for your favorite MobDemo competitor on the MobCon app!
Chief ArchitectAbilitics
@jivkopetiovlinkedin.com/in/jivkopetiov