The Journey from POC to MVP to PMF: 5 things that every startup founder needs to know

The concept of a minimum viable product (MVP) is now pervasive. But it is not the only way to think about market development for new products. What’s the right way to be entrepreneurial, especially if you work in a highly regulated industry like finance?

MVP reflects a widely acceptable view that innovation is often experimental, and perhaps nowhere more experimental than in the startup community where entrepreneurs are, in effect, building a hypothesis about a product and its suitability for the market.

Product-Market Fit is an on older idea. It has much more fluidity about it – rather than proposing a series of iteration cycles it better reflects the reality of much entrepreneurship.  Whatever the merits of  product, and however aligned with customers, there is nonetheless an x factor that allows some products fly while others stay grounded.

The challenge to startup growth can be the presence of oligopolies or market entry barriers that come from deeply entrenched incumbents.  This is very much the case in financial services. To date very few startups have managed to breakthrough as alternative providers. The banking community, by and large, already has a tier of suppliers in its core system portfolio. Why would they need another? The answer is process model innovation. Banks, and financial service companies, need processes that radically reduce costs and, potentially, provide new services.

But in a game where oligopolies still rule what do terms like MVP and Product Market Fit mean for startups?

1. Market Validation

Andreessen is not the only one who has emphasized the importance of so-called product-market fit in determining a startup’s success or failure. Research from CBinsights supports this notion, finding that 42% of startup failures were due to a lack of market need. The lesson we can distill from this is, “don’t offer something people don’t want.”

Essentially, those failed startups did not achieve market validation.

Market validation is the way to confirm that your idea is a solution to a problem people actually have.

Some business advisors define market validation as a survey distributed to specific user segments, testing their attachment to your solution. However, we take the view that market validation is not a single action or event, but the thread that ties your whole business model together from proof of concept (POC) to product-market fit (PMF).

You don’t need a minimum viable product (MVP), or even a prototype, to start market validation. You just need an idea, open ears, and honest tongues. As soon as you have an idea you want to execute, you should talk about it!

First, you can ask friends, family, and other founders and entrepreneurs you know. Then, to the greatest extent possible, reach outside of your network to hear from people that are more likely to give it to you straight. If you get to this point, and everyone has told you it’s a stupid idea, you should probably consider the possibility that it is, indeed, a stupid idea.

If your idea is validated through your internal and external network, you should design and write a plan to continue market validation through your product development cycle. An initial step is to define your market. Who will be using your product? Whose pain point are you helping to alleviate?

Here are some basic questions to help you construct customer profiles and define your market:

  • What types of companies do potential customers work for?
  • How big is the company?
  • What is their job title?
  • How will this product improve their lives/jobs?
  • How can you find them?

If you can answer these questions, you are on your way to defining your market. This will be helpful when you are ready to launch a beta and reach out to your potential users. But we’re getting ahead of ourselves! Before any testing: alpha, beta, or otherwise, you will need to prove your concept.

2. POC: Proof Of Concept

A proof of concept (POC) is an exercise in which work is focused on determining whether an idea can be turned into a reality. A proof of concept is meant to determine the feasibility of the idea or to verify that the idea will function as envisioned.

It is sometimes also known as proof of principle.

A proof of concept is not intended to explore market demand for the idea, nor is it intended to determine the best production process.

Rather, its focus is to test whether the idea is viable — giving those involved in the proof-of-concept exercise the opportunity to explore the idea’s potential to be developed or built.

In software development, for example, a proof of concept would show whether an idea is feasible from a technology standpoint. For startups, a proof of concept would demonstrate financial viability.

Developing a proof of concept generally requires some investment of time or other resources, such as supporting technologies or necessary physical components to complete. Going through this process, however, enables companies to determine an idea’s viability before putting production-level resources behind an untested idea.

Developing a proof of concept can help a product owner to identify potential technical and logistical issues that might interfere with success. It also provides the opportunity for an organization to solicit internal feedback about a promising product or service, while reducing unnecessary risk and exposure and providing the opportunity for stakeholders to assess design choices early in the development cycle.

The individual or team going through this process can then use a successful proof of concept to convince stakeholders, managers or investors that the idea is worth pursuing further.

3. Prototype — Demonstrate the “How” of your Software Project

Prototyping is the fourth phase of both design thinking and design sprints. It’s an essential part of user experience (UX) design that usually comes after ideation, where you/your team have created and selected ideas that can solve users’ needs. In prototyping, you craft a simple experimental model of your proposed product so you can check how well it matches what users want through the feedback they give. You should consider prototyping from early on—using paper prototyping, if appropriate—so the feedback you gather from users can help guide development.

The advantages of prototyping are that you:

  1. Have a solid foundation from which to ideate towards improvements—giving all stakeholders a clear picture of the potential benefits, risks and costs associated with where a prototype might lead.
  2. Can adapt changes early—thereby avoiding commitment to a single, falsely-ideal version, getting stuck on local maxima of UX and later incurring heavy costs due to oversights.
  3. Show the prototype to your users so they can give you their feedback to help pinpoint which elements/variants work best and whether an overhaul is required.
  4. Have a tool to experiment with associated parts of the users’ needs and problems—therefore, you can get insights into less-obvious areas of the users’ world (e.g., you notice them using it for additional purposes or spot unforeseen accessibility issues such as challenges to mobile use).
  5. Provide a sense of ownership to all concerned stakeholders—therefore fostering emotional investment in the product’s ultimate success.
  6. Improve time-to-market by minimizing the number of errors to correct before product release.

4. MVP: Minimum Viable Product

A minimum viable product (MVP) is a concept from Lean Startup that stresses the impact of learning in new product development. Eric Ries, defined an MVP as that version of a new product which allows a team to collect the maximum amount of validated learning about customers with the least effort. This validated learning comes in the form of whether your customers will actually purchase your product.

A key premise behind the idea of MVP is that you produce an actual product (which may be no more than a landing page, or a service with an appearance of automation, but which is fully manual behind the scenes) that you can offer to customers and observe their actual behavior with the product or service. Seeing what people actually do with respect to a product is much more reliable than asking people what they would do.

The primary benefit of an MVP is you can gain understanding about your customers’ interest in your product without fully developing the product. The sooner you can find out whether your product will appeal to customers, the less effort and expense you spend on a product that will not succeed in the market.

Teams use the term MVP, but don’t fully understand its intended use or meaning. Often this lack of understanding manifests in believing that an MVP is the smallest amount of functionality they can deliver, without the additional criteria of being sufficient to learn about the business viability of the product.

Teams may also confuse an MVP–which has a focus on learning–for a Minimum Marketable Feature (MMF) or Minimum Marketable Product (MMP)–which has a focus on earning. There’s not too much harm in this unless the team becomes too focused on delivering something without considering whether it is the right something that satisfies customer’s needs.

Teams stress the minimum part of MVP to the exclusion of the viable part. The product delivered is not sufficient quality to provide an accurate assessment of whether customers will use the product.

Teams deliver what they consider an MVP, and then do not do any further changes to that product, regardless of feedback they receive about it.

Proper use of an MVP means that a team may dramatically change a product that they deliver to their customers or abandon the product together based on feedback they receive from their customers. The minimum aspect of MVP encourages teams to do the least amount of work possible to useful feedback (Eric Ries refers to this as validated learning) which helps them avoid working on a product that no one wants.

5. PMF: Recognizing Product-Market Fit

Product-market fit describes a scenario in which a company’s target customers are buying, using, and telling others about the company’s product in numbers large enough to sustain that product’s growth and profitability.

According to entrepreneur and investor Marc Andreesen, who is often credited with developing the concept, product-market fit means finding a good market with a product capable of satisfying that market.

Alex Schultz, Facebook’s VP of Growth, says the biggest problem he sees facing the companies he advises is that they don’t have product-market fit when they think they do.

So, why is achieving it so important? Why do many venture capitalists demand evidence of product-market fit before investing in a company? Why does Andreesen, in fact, believe in the division of every startup’s life into two key stages: before product-market fit (BPMF) and after product-market fit (APMF)?

The answer is simple: Before you develop a product that you confirm enough people are willing to pay for, your team cannot afford to focus on other important strategic objectives such as growth or upselling existing users. Those initiatives could even be counterproductive, in fact, if you haven’t first determined that your product has enough of a market to sustain itself and generate a profit.

We generally associate the concept with marketing and product management. In reality, achieving it is a shared responsibility across the company. Sales, business development, support, finance, and all other departments help the company reach this important milestone.

No single set of metrics can tell any business when it achieves product-market fit. But Andrew Chen, a venture capitalist, offers some signals that a company is heading in the right direction with its offering:

  • When surveying potential customers or allowing them to test your product, does some segment indicate they will switch to your product?
  • Are some users who have rejected similar products on the market willing to try yours?
  • When user testing, do people group your product accurately with the right competitive offerings?
  • Do users demonstrate an understanding of your product’s differentiators or unique value proposition?
  • How do your underlying metrics (such as retention rates of users) measure up against those of your competitors?

Chen’s signals represent a mix of both qualitative and quantitative metrics. This is by design. Whatever methods your team uses to gauge success, you will want to include a mix of both as well. For example:

Quantitative:

  • NPS score
  • Churn rate
  • Growth rate
  • Market share

Qualitative:

  • Word of mouth. (As Andreesen says, if your customers talk about your products with others, they effectively become your product’s sales reps.)
  • Calls from the media or industry analysts come in much more frequently, and coverage of your product and company increases.

Just as the best way to measure product-market fit will differ for each company, there is no single path to achieving it. In his book, The Lean Product Playbook, Dan Olsen offers one high-level method that can help get your team started:

1. Determine your target customer

2. Identify underserved needs of that customer

3. Define your value proposition

4. Specify your minimum viable product (MVP) feature set

5. Develop your MVP

6. Test your MVP with customers

Then, based on those user tests and surveys, use metrics like the ones suggested above, from Andrew Chen, to determine if you’re headed in the right direction.

6 reasons why you should develop products like a startup

Every business founder, CTO, CEO, or product owner has to find the right product development strategy to suit their company’s business goals.

There are lots of different product development strategies out there and no real one size fits all rule when it comes to product management and development. 

One definite thing is that the complete product development strategy is crucial for any business if it wants to get out ahead of the competition by building a better product. 

Startups move faster, collaborate better and aren’t trapped by corporate bureaucracy or hidebound ways of thinking. But if you want your company or business units to act more like startups in their software development process, it helps to understand how startups really work and at what stages of their development. As you adopt the things that work for startups, you’ll need to be cognizant that your business units will need to grow and mature just like successful startups do.

Here are six ideas to innovate like a startup while avoiding common startup pitfalls:

1. Form smaller teams with leaders that carry a deep product understanding and are steeped in innovation ideas.

Amazon famously popularized the “two-pizza rule” in its early days. If you couldn’t feed the people in your meeting with two pizzas, you had too many people in the project for it to be productive.

The same holds true when forming product and development teams. Six to eight people on a team is plenty; five is even better for faster decision-making and higher productivity. Just make sure you have the right leaders in place for these teams. Team leaders at this stage or size have to be hands-on player-coaches who are innovative thinkers, passionate about understanding the solution and eager to interact with end users to collect feedback. 

2. Listen to your customers (clients)

You can’t have a successful software development initiative without understanding customers’ pain points and how other tools in the market are failing to meet those needs.

Don’t be afraid to allow your customers to participate in the innovation process as opposed to developing solutions in search of problems. This will also help you to take your products to where the market opportunity is and avoid the single-product mindset, instead developing complementary product lines on the same codebase.

3. Measure success based on innovation, not on people or budgets.

Since you’ll be keeping your teams small and lean like any startup worth its salt, staff and budget numbers shouldn’t be the defining barrier. Innovation is the only metric that counts. Are you expanding your product’s capabilities? Are you introducing new technology into the market before the competition? Are you reusing software assets to develop new product lines and move beyond the single-product mindset?

Creating the right culture and right talent to lead at this stage is critical for companies to continue to innovate, drive results and more importantly, establish a strong “product culture.” Following this course provides a foundation for a single-product company to be able to expand to a multi-product company and continue to maintain its startup culture as well as a fast pace of innovation.

4. Put a process in place that allows for continuous innovation and continuous deployment (CI/CD).

Modern agile software development requires constant updates as new features are added, tested and put into production. This process requires building a CI/CD pipeline. You establish the source code for a development project, build the software using your tool of choice, test the software to make sure it’s behaving properly and free of coding errors and, finally, deploy the software once it’s passed quality control. As you make daily changes and updates, you go through this routine continuously.

You can automate this process, using commercial or open source tools, and avoid errors that turn into bugs. Customers appreciate your innovation and ideas and expect you to be able to solve problems for them that other firms haven’t figured out yet — but they still need your product to work.

5. Use solution-minded development techniques along with agile.

Agile development methods are great for supporting collaboration among remote teams, responding to changes faster, creating a feedback loop for continuous improvement and generally speeding up the product development lifecycle. This allows for a ton of features to be developed in short order. 

As the company gets a chance to establish the early customer base for its product, processes tighten and become more disciplined. The startup now must manage the innovation cycle in SaaS in context with maintaining product quality and delivering the product to the customer efficiently.

When the innovation cycles are short and new features are added rapidly, it is critically important to tie the innovation cycle to a solution. This is where the traditional software development approach still has its place, especially in terms of setting out the solution context and persona of the end user. You can still use agile sprints, but with controls in place for solution validation so that the final software you develop looks more like what you set out to do and what your customers want.

6. Foster a spirit of collaboration between product management and product marketing.

Once you’ve developed a new product, you need to make sure that it resonates with buyers and shows them how it can solve their pain points. This is where product marketing comes in.

Getting your product management and product marketing teams on the same page will lead to better alignment of vision, strategy and tactics and make you more responsive to your customers’ needs. Product marketing principles will provide a strong wrapper around the product development and make the end users appreciate the rapid development cycle to meet their feature demands.

Adopting some of the best traits of startups can help any development organization to raise their innovation game, become more responsive to customers and bring products to market faster. But startups have enough of a track record now to know what works and what doesn’t. The above steps should give you a baseline to form innovation centers inside your organization, improve your customer relations and gain new relevancy in the market.

What is Infrastructure as Code (IaC)? How Does Infrastructure as Code on AWS work? 

Overview

Infrastructure as Code (IaC) is the managing and provisioning of infrastructure through code instead of through manual processes.

With IaC, configuration files are created that contain your infrastructure specifications, which makes it easier to edit and distribute configurations. It also ensures that you provision the same environment every time. By codifying and documenting your configuration specifications, IaC aids configuration management and helps you to avoid undocumented, ad-hoc configuration changes.

Version control is an important part of IaC, and your configuration files should be under source control just like any other software source code file. Deploying your infrastructure as code also means that you can divide your infrastructure into modular components that can then be combined in different ways through automation.

Automating infrastructure provisioning with IaC means that developers don’t need to manually provision and manage servers, operating systems, storage, and other infrastructure components each time they develop or deploy an application. Codifying your infrastructure gives you a template to follow for provisioning, and although this can still be accomplished manually, an automation tool. 

Declarative vs. imperative approaches to IaC

There are 2 ways to approach IaC: declarative or imperative. 

A declarative approach defines the desired state of the system, including what resources you need and any properties they should have, and an IaC tool will configure it for you. 

A declarative approach also keeps a list of the current state of your system objects, which makes taking down the infrastructure simpler to manage.

An imperative approach instead defines the specific commands needed to achieve the desired configuration, and those commands then need to be executed in the correct order. 

Many IaC tools use a declarative approach and will automatically provision the desired infrastructure. If you make changes to the desired state, a declarative IaC tool will apply those changes for you. An imperative tool will require you to figure out how those changes should be applied.

IaC tools are often able to operate in both approaches, but tend to prefer one approach over the other.

Benefits of IaC

Provisioning infrastructure has historically been a time consuming and costly manual process. Now infrastructure management has moved away from physical hardware in data centers, though this still may be a component for your organization, to virtualizationcontainers, and cloud computing

With cloud computing, the number of infrastructure components has grown, more applications are being released to production on a daily basis, and infrastructure needs to be able to be spun up, scaled, and taken down frequently. Without an IaC practice in place, it becomes increasingly difficult to manage the scale of today’s infrastructure.

IaC can help your organization manage IT infrastructure needs while also improving consistency and reducing errors and manual configuration.

Benefits:

  • Cost reduction
  • Increase in speed of deployments
  • Reduce errors 
  • Improve infrastructure consistency
  • Eliminate configuration drift

How IaC Works on AWS

Amazon’s market-leading, comprehensive cloud-computing platform, AWS (Amazon Web Services), combines Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and packaged Software as a Service (SaaS). It provides flexible, reliable, scalable, and easy-to-use computing power, database storage, analytics, networking, development tools, enterprise applications, and content delivery services. Launched in 2006 and built on Amazon’s internal infrastructure, AWS was also one of the first companies to introduce these services on a pay-as-you-go model. It dominates cloud computing for several compelling reasons. 

CloudFormation on AWS
Source: https://aws.amazon.com/cloudformation/

AWS covers 245 territories and countries and provides a vast array of

  • Automated services
  • Comprehensive functionality
  • State-of-the-art security
  • Cost-efficiency
  • Scalability
  • Performance
  • Quick and straightforward deployment
  • Systems integration
  • Support and proven operational expertise. 

Meet CloudFormation

So CloudFormation is the AWS IaC tool that serves as an automation platform that allows you to implement services or applications without having to set up and configure each one manually, saving you considerable time and avoiding the potential for mistakes and inconsistencies. Given its ease of use and wide-ranging capabilities, CloudFormation has helped make AWS so popular with companies of all sizes and types. Domain registrar and web-hosting company GoDaddy serves as a perfect example. 

Automating infrastructure management to focus on innovation

With more than 78 million domain names under management, more than 19 million daily entrepreneur/users, and handling more than 300,000 DNS queries per second, GoDaddy is the largest domain registrar/web hosting company in the world. And in 2018, they decided to transform their digital architecture from the on-premises, in-house, data-center model and move everything to the cloud. In doing so, they had three core objectives:

  • Accomplish the migration as quickly as possible.
  • Increase how application stacks are performed and operated.
  • Extend reliability and availability.

They did precisely that when they partnered with AWS and used CloudFormation, AWS Service Catalog and AWS Systems Manager.  

As a result, they could onboard and provision more than 200 accounts (more than 500 landing zones) within approximately one year, automatically provisioning each new onboard in under 2 hours. In addition, by automating the process through IaC, they saved approximately 25,000 hours and about $5,000 per account. They’ve saved more than 100 daily compute rotations just from automating the process and eliminating patching in terms of patching and updating.  This also freed up GoDaddy staff to spend more time working with and innovating for customers. But GoDaddy is by no means the only organization that benefits from IaC and AWS. 

Scaling as needed to support critical applications

In 2018, the Expedia Group planned to migrate 80 percent of its mission-critical apps from on-premises to the cloud. One of the world’s largest full-service online travel agencies, Expedia provides leisure and business travel services to customers around the globe. Committed to innovation and technology, Expedia began using AWS in 2010 when it launched its Expedia Suggest Service (ESS), a typeahead suggestion service that prompts customers to enter correction travel information. But ESS was not created solely for convenience. Expedia metrics showed that error pages were the greatest reason for customer site abandonment. But Expedia faced another challenge: time. 

On-premise vs cloud hosted
Source: https://www.ebcgroup.co.uk/news-insights/on-premises-vs-cloud

On-premises data-center solutions could not compete with decentralized, automated cloud services in terms of eliminating user lag and delays. So, Expedia took to the cloud. In the case study Expedia Group Increases Agility and Resiliency by Going All In on AWS, Expedia Principal Architect Magesh Chandramouli explains, “If an application processes 3,000 requests per second, we would have to configure our physical servers to run at about 30 percent capacity to avoid boxes running hot. On AWS, we can push CPU consumption close to 70 percent because we can always scale-out. Fundamentally, running in AWS enables a 230 percent CPU consumption efficiency in the data processing. We run our critical applications on AWS because we can scale and use the infrastructure efficiently.” 

This kind of success prompted the migration of other Expedia services to AWS. For example, to enable continuous deployment and speed, they used a blue-green deployment approach to create parallel production environments on AWS. They also used the deployment to troubleshoot effectively, scale, and develop applications faster. Expedia Principal Software Engineer Jun-Dai Bates-Kobashigawa also highlights the multifold value of IaC for provisioning, “If there are 100 boxes running, you might have to take 20 boxes out to apply new code. Using AWS, we don’t have to take capacity out; we just add new capacity and send traffic to it.” 

Flutter vs React Native: When to Choose Flutter Over React

Flutter vs. React Native: In a nutshell

Criteria
Flutter
React Native
What is it?
A portable UI toolkit for building natively-compiled apps across mobile, web, and desktop* from a single codebase
A framework for building native applications using React
Official release
December 2018, Google I/O
March 2015, F8 Conference
Created by
Google
Facebook
Free and open source
Yes
Yes
Programming language
Dart
JavaScript
Popularity
120,000 Stars on Github (May 2021)
95,300 stars on Github (May 2021)
UI
Flutter apps look as good on the up-to-date operating systems as they do on older versions. Since they only have one codebase, the apps look and behave similarly across iOS and Android – but thanks to Material Design and Cupertino widgets, they can also imitate the platform design itself. How’s that possible? Flutter contains two sets of widgets which conform to specific design languages: Material Design widgets implement Google’s design language of the same name; Cupertino widgets imitate Apple’s iOS design. This means that your Flutter app will look and behave naturally on each platform, imitating their native components.
Application components look just like native ones (e.g. a button on an iOS device looks just like a native iOS button, and the same on Android). The fact React Native uses native components under the hood should give you confidence that, after any OS UI update, your app’s components will be instantly upgraded as well. That said, this can break the app’s UI but it happens very rarely. If you want your app to look near-identical across platforms – as well as on older versions of an operating system (as Flutter achieves) – then consider using third-party libraries (like this one). They will enable you to use Material Design components, in place of native ones.
Sharing code
With Flutter 2 (announced in March 2021), we can use the same codebase to ship native apps to five operating systems: iOS, Android, Windows, macOS, and Linux; as well as web experiences targeting browsers such as Firefox, Chrome, Safari, or Edge. Flutter can even be embedded in cars, TVs, and smart home appliances. (source). Perhaps the single largest announcement in Flutter 2 is production-quality support for the web. It can be used for: Progressive Web Apps (PWAs) that combine the web’s reach with the capabilities of a desktop app, Single Page Apps (SPAs) that load once and transmit data to and from internet services. Existing mobile apps – allowing Flutter apps to be run on a desktop.
iOS and Android – but there are select libraries that allow you to use the same code to build iOS, Android, web, and Windows10 apps. You can also extract shared code in mobile, desktop, and web apps, to a separate repository; treat it as a separate project; then inject it in the same way as another dependency. This allows a developer to focus on writing code for a specific platform without having to consider compatibility with another one. Top apps made with this technology Xianyu app by Alibaba, Hamilton app for Hamilton Musical, Google Ads app, Philips Hue, My BMW Instagram, Facebook, Facebook Ads, Skype, Tesla Time-to-market Typically much faster than native development. Possibly as fast as development with Flutter. However… React Native uses bridge and native elements, so it may require separate optimization for each platform – a problem that widget-based Flutter doesn’t run into. It may make the app development with React Native longer. Competitive advantage Great look and feel thanks to rich widgets; Rapidly growing community, and popularity; Excellent documentation with strong support from the Flutter team (which makes it easy to start developing with Flutter); Improving Flutter for Web, offering the potential for one codebase across mobile and web platforms Difficult to beat time-to-market length Stability (5+ years on the market); Many successful, prominent market players using React Native; Mature, vast community; Easy-to-learn technology; Plenty of tutorials and libraries, which allow quick and easy development; Code can be easily reused for both web app and desktop app development. When it is not the best fit If… • Your app needs to support 3D Touch (for now, Flutter doesn’t support 3D – but it features on the Flutter team’s long-term roadmap) • The design of your app is platform-specific • Your app requires multiple interactions with an OS; or requires rare, little-known native libraries • You need a minimalistic UI, but rely on significant use of the phone hardware (e.g. an application that plays music, or only takes pictures) • You want to create an instant app (small-sized app) If your app sounds like any of the above, it’s probably better you choose native app development. Read more about these cases here >> If… • Your app needs to handle less common, or ultra-specific tasks (like calculations) in the background • You require custom communication via Bluetooth (which can be tricky to implement using React Native) • You want to create an app for Android only In truth, if you want to build an iOS app and you know JavaScript, consider React Native – but if you want an Android-only app, it’s likely better to build natively with another team. Why? Right now, iOS has better support than Android. If your app sounds like any of the above, it’s probably better you consider choosing native app development.
Competitive advantage
Great look and feel thanks to rich widgets; Rapidly growing community, and popularity; Excellent documentation with strong support from the Flutter team (which makes it easy to start developing with Flutter); Improving Flutter for Web, offering the potential for one codebase across mobile and web platforms Difficult to beat time-to-market length
Stability (5+ years on the market); Many successful, prominent market players using React Native; Mature, vast community; Easy-to-learn technology; Plenty of tutorials and libraries, which allow quick and easy development; Code can be easily reused for both web app and desktop app development.

Pros and cons of Flutter

Pros of Flutter

We’ll start with the pros that make Flutter the best choice for the developers. Here’s the list of advantages of Flutter over React Native:

  • It looks great!
  • It’s rich in widgets;
  • The community is rapidly growing
  • Well-structured documentation
  • Permanent improvements for web development
  • It requires less testing
  • The apps are fast
  • It helps to create the same UI for older devices
  • Flutter 2 helps to build apps for the web!

Cons of Flutter

Even though the list of Flutter advantages is impressive, some disadvantages are still important to consider.

  • It is not native
  • The apps are bigger than native ones
  • It still has a limited set of tools and libraries comparing to native apps

These disadvantages are minor, and they do not interfere with app development. However, in some cases, the cons of Flutter may be decisive when choosing a cross-platform development framework.

Flutter Apps Examples

Applications are written in Flutter:

  • Google Ads.
  • Alibaba.
  • Square.
  • eBay.
  • Hamilton Musical.
  • Reflection.

Which one to pick for your next project?

As we can see now, Flutter and React Native have many things in common. First and foremost, they are both open-source frameworks that anyone can use. They both are developed by leading companies: Google created Flutter vs React Native was created by Facebook. To compare basic info about Flutter and React Native, you can check this info by NIX.

Flutter is easier to use as it is more resistant to system updates. It means that when iOS or Android update the OS, the app will remain the same. On the contrary, React Native depends on native elements, so when the update is released, some problems may appear in the launch app. Currently, Flutter supports Android 4.1+ or iOS 8+, while React Native supports Android 4.1+ and iOS 10+. 

The biggest difference between React Native and Flutter is that Flutter has plugins developed by the Google team, like geolocation and mapping. Unfortunately, React Native app works better with apps with a one-time location and does not require tracking. 

All in all, Flutter and React Native are great choices to save time and money on mobile app development. What framework to choose will depend on the preferences of the developer and the company.

viVietnamese