2. Come up with a mobile strategy. Which platforms are you supporting? Will your app be cross platform? The answers to these questions affect the tools that you choose for development. Which OS versions for each platform will you offer to provide current and future support? Have a plan for maintenance and OS updates. Apps may seem like small development efforts, but they can quickly balloon into a huge challenge for any unprepared development team.
3. Use the right architecture and design patterns. At MetroStar, we use a layered architecture with Model View Controller (MVC) or Model View ViewModel (MVVM) design patterns for certain projects. Always think about two things when architecting the app: maintainability and reusability. These two aspects cover future enhancements, bug fixes, dependencies, and maintainability.
Here’s a simple checklist to get started:
- Is the code structure logical and easy to understand?
- Can you swap out dependencies that have a high likelihood of changing in the future?
- Is it going to be easy to implement a UI redesign? (UI redesigns can be more frequent in the mobile world)
- Did you abstract away common use cases, such as web services, data storage, custom control implementations, and animations?
4. Test thoroughly. Mobile app users have been proven to be unforgiving of app crashes. 80% of users will only retry a problematic mobile app 3 times or less. 55% of users hold mobile apps responsible for performance issues instead of the hardware, connectivity, or other factors. On top of that, 49% of users expect mobile apps to respond in 2 seconds or less. Keeping users engaged means having a low margin of error and a high level of performance. This can be a challenge on older devices, so be sure to test frequently and squash any performance issues early on.