When you start a new project, one of the main concerns is development time. After all, your market is changing all the time, and the longer you wait, the bigger the likelihood that someone else will implement the idea before you, thus getting the competitive advantage. But if you have a working version of your product, either to show to investors or to gain traction of your business, you can get ahead of your competition. Many companies also start with an MVP to get to know the real needs of the users. In this article, we’d like to check if using Flutter for MVP hybrid app development is a good idea.
What’s an MVP?
A Minimum Viable Product is a simple version of your product solving one problem. Building an MVP is a great way for a startup to valid a business idea. Remember that 70% of tech startups fail, usually about 20 months after their first round of financing. One of the main reasons is no market need following a lack of proper market research. Using an MVP to run a test can be a huge step towards avoiding failure. You’ll be able to gather feedback and identify the users’ needs. It will help you to see the true potential of your idea and plan the best direction of the development process.
MVPs allow companies to launch products fast and gain traction before the competition does. It's also an effective way to promote your brand early on (giving early adopters a way to interact with your product) and can be the best option for discovering the real expectations of your niche. Knowing your users’ preferences you’ll be able to prioritise your development process better. Finally, it will be easier to attract investors (with a proof of concept and a tangible result of your work) and you won’t waste the resources on the features your users aren’t interested in. Overall, starting with an MVP is a solid basis for a well-designed go-to-market strategy.
You’d be surprised by how many businesses you know started with an MVP. Buffer, the social media account management and scheduling tool, started as a minimal, two-page website. The creator of Buffer followed the lean methodology and presented his idea on the website to test whether people would be interested in his product. When the time came to develop Buffer, the team built a simple web app with a Chrome extension, supporting only Twitter.
Dropbox, the file sharing and cloud storage giant, is another example. In the company’s early days, the founders of Dropbox faced a monetary challenge: they needed funds to overcome significant technological issues before they would be able to launch the MVP. Investors were unable to understand their pitch, as they couldn’t try out the solution, and it was too innovative to imagine. To overcome this problem, Drew Huston created a video MVP, explaining what Dropbox can do.
Remember life before Uber, when we had to call a taxi company well ahead of time and wait for an available car? The aim of Uber’s MVP was to test if ordering a taxi by phone, without a call centre, would work. They built an app that connected users with drivers and used GPS to share their locations. The app was extremely simple: it tested only one feature. Yet its success was the beginning of Uber's expansion and a good reason for building one of the most successful startups in the world.
Instagram launched at a time when the market for image editing tools was already fairly saturated. The same was true for social media platforms focused on sharing photos. The genius of Instagram’s MVP was in its simplicity: they launched an app that allowed users to share only square photos with a limited number of filters. The app was published only on iOS, further limiting costs and improving focus. Clearly, the approach has proved its worth.
What is Flutter?
Flutter is a mobile app SDK (software development kit) provided by Google. It comes with a framework, widgets, and tools necessary for easy and fast deployment. The end result is a beautiful app that works on both Android and iOS. Flutter’s main advantage for startups is the efficiency of mobile development. It’s also open source and entirely free, so you can use it in a straightforward manner.
Developing an app with Flutter means a very rapid environment setup. It’s a cross-platform tool, with a dedicated UI widgets engine which draws UI components that look like native ones. Moreover, the team can write one codebase for both platforms (iOS and Android). Thanks to hot reloading, developers can see how the application changes when they change the code in real time. This makes Flutter development much faster and more dynamic.
Flutter’s widgets allow for the creation of aesthetically-pleasing, flexible UIs that can be easily changed and improved. They are well-structured almost by default. Existing widgets can be customized, and it’s easy to create your own custom widgets. Also, if you’re worried about performance, don’t be. Flutter apps are fast and smooth, offering very nice performance.
Why Flutter is perfect solution for MVP development?
There are many ways in which Flutter can facilitate cost-effective MVP development. Firstly, Flutter app development is a lot like building with blocks thanks to widgets, and as a result, you can quickly make changes. Because you’ll be developing a cross-platform app, you’ll be able to skip the complicated decision-making process of choosing the best platform for your business, and you’ll have a larger pool of users for gathering feedback. Both of these factors are very important for MVPs.
Flutter also comes with the opportunity for very useful integrations. Thanks to Supernova, you can export Sketch designs directly to pixel-perfect code and focus on delivering value rather than tweaking the visuals. Because Flutter is compatible with Firebase, you don’t need to build your own backend for a simple MVP. Thanks to Firebase Remote Config, you can instantly modify your app without waiting weeks for a new app store deployment. This helps when you want to test various approaches with your MVP and test them all on real users.
Case study: how we implemented a Flutter app in 4 weeks
At the very beginning we started with two native mobile developers - a Senior Android Developer and a Senior iOS Developer. They researched possibilities of the platform and created architecture guidelines. Next we’ve confronted their findings with React Native developer knowledge because we’ve noticed that Flutter takes what’s best from the native and cross-platform approaches. In the preparation phase we gathered a lot of educational materials for developers to let them get into the new framework smoothly.
We noticed that Flutter has a low entry threshold for mobile developers, so they got familiar with the SDK very quickly. Dart, the programming language used for Flutter development, also has a low barrier to entry despite its limited popularity.
Then we started working on an application. It was our first time using Flutter, so we needed one week to set up our internal infrastructure, and spent around four weeks on actual development.
In the end, the project was delivered by two developers - a Senior Android Dev and a React Native Dev. If we count the entire process, including familiarising ourselves with Flutter and implementing the food delivery MVP app, it took us two months.
Why you should build your MVP with Flutter
We’ve already answered the question why Flutter is a perfect solution for creating mobile MVPs (speed, flexible UI, performance, and ease of integration), but how do you know whether it’s the right choice for your business? In our opinion, Flutter offers more benefits than risks for businesses and development teams. There are very few situations in which we would advise against using it, so it’s probably safe for you to do so. And the benefits speak for themselves.
Flutter allows for building beautiful, high-performance mobile apps, tailored to your project’s custom needs and requirements. If you want to build a cross-platform app for Android and iOS, Flutter is one of the top tools for the job. It’s a cost- and time-effective solution, and a great tool for product owners who want to test their ideas with no time wasted. Want a cross-platform mobile MVP? Go with Flutter, you won’t be disappointed.