I have quietly been working away over the last few months coding a solution to problems I have continued to experience with each Xamarin Forms project. After about 1.5 years of 60hr+ weeks of exclusive Xamarin Forms development, I am approaching 5,000hrs in Xamarin Forms and it was time to put that knowledge down in a framework.
The issues I have continued to encounter where no existing solution is available:
- An easy way to unit test ViewModel’s
- Enforce consistent handling and filtering of user actions
- A solid navigation service
- Handling threads for performance
- Ensuring high isolation of code
While simple apps may not face these issues, they occur frequently on any larger scale or enterprise level mobile app especially with multiple developers.
With that said, I wanted to introduce an early preview of Exrin – Xamarin Forms Framework. This is a framework with zero dependencies and you can use other MVVM Frameworks with it, however I did add in a few helper functions that means this can stand on its own without any other MVVM framework. You will have to bring your own Dependency Injection Framework, and I prefer AutoFac for this.
Is this framework opinionated? Yes, and here they are:
- PCL’s are the preferred method for creating apps
- MVVM Pattern is required
- Dependency Injection is required
- and more …
The best way to see the framework setup is to have a look at the Tesla Sample App. Far from complete but it does currently have a working pin login mechanism showing how it all fits together, along with unit tests.
Feel free to contact me if you have any queries regarding the Exrin Framework. Please see the Contact page.