Presentation about experiences and challenges in developing mobile app using Xamarin.Forms. This is a summup of project. What are good and bad sides of working with Xamarin.
3. 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
4. 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.
9. 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
13. Xamarin challenges
- Learning Xamarin Forms API (shouldn’t be .NET ??!!)
- Compatibility Issues with Third-Party Libraries and Tools
- Larger App Size
14. Xamarin challenges
- Preparing design (icons with proper sizes, themes) specific for iOS + Android
(including learning platform specific solutions and requirements)
15. Mobile apps development challenges
- Mobile apps UI/UX patterns
- Still required basic knowledge of native languages and platforms specifics
16. 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
18. 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
21. 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
25. 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