FlexiMvvm
Based on the experience gained building mobile cross-platform applications with Xamarin and leveraging this framework's major advantages, implementing FlexiMvvm became crucial to address the minimal time to market demand and maintain overall product quality constrained to high standards for our clients.
The following aims were pursued while developing FlexiMvvm:
- Proper application architecture is driven and consistently reused across different projects, by different teams
- Proper code sharing approach is incorporated, introducing clear decomposition of application layers
- Flexibility and reasonable level of abstraction from native platform APIs is established, preserving an easy way to access capabilities with less code
- Smooth learning curve for new members during onboarding, simplifying a range of challenging mobile-specific tasks
- Infrastructural efforts are minimal as typical functionality is provided
Cloning Instruction
git clone https://github.com/epam-xamarin-lab/FlexiMvvm.git
Current Status
Current state should be considered as a Preview version. Some of compatibility breaking changes are still possible due to continuous enhancements based on the early usage. According to current plans, first release is considered in 2019 Q1. Preview release notes are available here.
Authors
- Yauhen Papou (EPAM Systems), https://github.com/ypapou
- Aliaksei Safonau (EPAM Systems), https://github.com/Aleksey7151
Dependencies
- FluentValidation (https://github.com/JeremySkinner/FluentValidation): for accelerating Validation features implementation
- Cirrious.FluentLayout (https://github.com/FluentLayout/Cirrious.FluentLayout): for a better way to build constraint-based layouts in Xamarin.iOS.
- Android Support Library v7 AppCompat: for better support of Android Material Design and guidelines
More
More details, tutorials, reference are on GitHub Pages
License Information
Licensed under Apache 2.0, LICENSE