Cross-platform mobile app development is gaining momentum. A large number of people including entrepreneurs, start-ups and other SMEs are exploring the potentials of cross-platform frameworks.
Faster development is one of the reasons why developers are shifting from native to cross-platform development. At the same time, it has provided initial relief to investors, entrepreneurs as they need to invest one time for multiple platforms.
However, everything does not go well with all cross-platform technologies, though it also depends on the project. A certain framework will be suitable for specific projects only. For example, Ionic will not be ideal for gaming projects.
Similarly, React Native is not a good choice for heavy industry applications (We’ll discuss why React Native not suitable for larger projects later in this article).
These are some of the reasons why investors and developers both surrounded with perplexities whether they should go with native or hybrid or cross-platform technologies.
It is essential for developer and investor to know how the project will behave in the long run.
That’s where we all stuck, right…?
So, keeping all these questions in mind, we have opted out to come with some hard facts that you hardly get to hear or read. After going through the post, you will be able to;
- Take the right decision for your app development
- Make the right choice as far as the selection of framework is concerned
- Explore the potential of native and hybrid applications
- Save time and cost in the long run
So, here we go;
We Start Wrong…?
To understand this, we’ll have to think from both -developers and investor point of view how they develop and invest respectively on projects.
Developers’ Point of View
Developers choose a framework based on the following terms;
- Types of Projects
- Available Resources
Investors’ Point of View
Investors choose a framework based on the following terms;
- Fast Solutions
- Effective Services
- Low Maintenance
- Cost Effective
These are the primary things that every developer considers before creating applications. However, it is the accountability of the project manager to explore and foresee how the application will benefit to the investor or clients.
“When we deal with our clients, we hear the requirement, and then we ask some certain questions to our clients such as the company’s detail, what it deals in, what the purpose of the application is and to name just a few. Having gone through these questions, we explain everything in detail regarding which technology or framework will be good enough for the project and how it will help the company in the long run. Now, it is our clients who have to take the final call,” said CTO Saurabh Barot
These are some of the requirements of investors including entrepreneurs, enterprises, and start-ups before they choose a framework.
So, the questions remain where do we go wrong?
You have seen what the primary focuses of both developers and investors are. But, you can see that the actual target questions are missing.
“We, sometimes, have to focus on demand of investor, not the requirement of the project,” explained Saurabh while talking about the significance of frameworks in mobile application development.
That’s the Route Cause Attributions!
Developers develop the application as suggested by the team manager while the investors’ demand binds the manager. So, the solution here is that when you want to build a project for your business, you need to think in the long run (if you run a business or own a start-up company) instead of focusing on short term goal.
The fact of the matter is the application must suit your;
Setting aside these requirements can jeopardize your efforts while if you keep this in mind, you surely achieve success. You must ensure that the application you are getting developed will be practical and engaging in the long run.
There are frameworks which functions very fast, scalable and effective but whether they will be a good choice, depends on the business types. Don’t just go behind fast and cost-effective development.
Where Do We Go Wrong in Technology/Framework Selection?
When it comes to technology selections, investors blow with the wind while it should be that you go with a consistent plan.
In the case of mobile app development, we have a choice either chooses native or cross-platform. Well, when you select native app development, then you have to hire a separate developer for each platform.
If you decide to use cross-platform, to say, at the initial stage, you don’t need to employ two or more developers.
That’s the turning point for most investors to go with Cross-platform
No doubt, cross-platform is the first choice of investors as it provides as cost-effective and fast cross-platform solutions.
Well, everything will go as lovely as you perceive it to be if you have a small project. But, it may not be the best selection for every investor.
The choice may go wrong, and you may have to face drawbacks like some of the most popular company faced recently. Let’s talk about some of the cases in details.
Case-Study of Airbnb with React Native
Airbnb was one of the first adapters of React Native, and initially, the company was happy with the performance it received.
But, after some time, the company started facing a lot of issues, and that forced it to drop React Native and turn back to the native framework. It is interesting to know what the reasons were.
AirBnB in its post on Medium has explained everything in detailed explanations why it dropped React Native, what are problems it faced in two years (from 2016-2018) and what it do to overcome the loss.
React Native Immaturity:
In its series of post, AirBnB wrote that React Native is immature framework as compared to iOS and Android. Being a newer framework in the market, it is moving quickly and that created some excellent but lost bad issues to the company.
As it was at its immature stage, the company had to deploy a team to patch the React Native source as well as maintain a fork. In two years roughly 50 commits were added by AirBnB.
Learning New Frameworks/Libraries
As cross-platform suggest that if you are a manager, you don’t need to hire two developers and if you are a developer you don’t need to learn two languages. But, it happens opposite in case of React Native. 100% codes are not shareable across the platform, and therefore you need to modify it. React Native libraries use natural bridges to render such maps, video and to name just a few. There you need a developer who has equal knowledge of native technologies. You hardly find developers having mastery in two or more languages. So, what will you do here? Hire separate developers: that’s the only solution you are left with.
Three Development Environments
As a company, if you shift to cross-platform, you are just a beginner to the framework, and if it is established infrastructure, you have to create bridges for all existing infrastructures. That may also create some uninvited circumstances.
Many similar circumstances such as Crash monitoring, Native bridge, Initialization Time, Rendering time, App size, and to name a few were creating issues.
AirBnB has given complete explanations in 5 series of posts, you can refer here for more details.
Udacity, as is famously known for best e-learning portal, was also on React Native but due to the similar problem it shifted to the native framework.
What is the Outcome?
Having gone through the case, you will come to know that cross-platform frameworks or hybrid solutions are useful to a certain level only. You have heard the argument of React Native.
However, everything is not against the React Native. It can be the best solutions for start-ups and SMEs projects. For example, AirBnB also said that React Native Development went well in terms of performance, fast solutions, and many others.
What about the other Cross-Platform Frameworks
Well, there some of the most talked and popular CS frameworks are;
- React Native
- Framework 7
- Sencha Touch
- Onsen UI
React Native and Flutter are the talk of the town. We have learned that React Native went well with large or heavy industry scale projects.
However, as far as Flutter is concerned, we can tell you that it is good to go framework as even Google’s own app is developed on Flutter. Apart from that, there are some other top companies that use Flutter includes;
- Google Ads
- App Tree
- Hamilton Musical
- My Leaf
- JD Finance
But, you should not go all out trusting the application unless it achieves maturity. Remember, React Native was published in 2015 and was existed since 2013; even then AirBnB dropped it citing immaturity as a primary concern.
Therefore, you cannot trust even Flutter at this stage. So, it’s a very nice framework, and you can utilize it but keep it balanced.
Does it mean Cross-platform frameworks not worth using?
Cross-platform is the need of time, and you cannot work without implementing it. For start-ups, small enterprises and investors, it is like lifeblood.
However, if you want to utilize the CP frameworks for larger projects, then you need to wait unless React Native comes up with a little stable solutions and Flutter matures.
What are Solutions Then?
If you are an investor, there are certain things you need to keep in mind while selecting frameworks. For example,
Honestly speaking, if you are looking for permanent solutions, then native is the best option to opt. However, if you want to go with hybrid solutions, then keep the suggestions here in mind.
If you are attracted to the hybrid framework, then you need to see this from both aspects. For example, it is possible that initially it will cost you less and you get it developed at the lowest price.
But it will cost more as and when maintenance and feature upgradation come in to place. However, opting hybrid mobile app development will useful for smaller project, as of now.
Availability of Developers
Well, you need to keep developers in mind as well. If you opt for Cross-platform applications, then you need to have three developers at your place.
One developer will be enough for CP, but there will some instances when you need separate developers for each platform.
Investors look for the application that requires less maintenance. Cross-platform development requires low maintenance, though the selection of the right frameworks will play a vital role.
Well, this is the most important thing that you need to keep in mind. Flexibility allows taking a shift from one framework to another if the situation arises. So, ensure that the framework you select is flexible.
Which Cross-Platform Frameworks to Go with?
Well, we have explained that native is unbeatable when it comes to performance. However, the high-quality framework such React Native, Flutter, Ionic, PhoneGap are good to go.
Hence, before you select the framework, you need to take in-depth research on the similar type of applications developed on the framework you want to adopt. Here are the tips;
- Find out some similar apps
- Go through official docs
- Compare it with the resources available with you
- Then take a final call
Critically yours, this article is for our clients who are looking analytical post on native and non-native frameworks.
When you go through the entire article, you will find that Cross-platform framework such React Native (as we have only explained the case of React Native) did not go well with site like AirBnB. So, you can assume that React Native is not practically efficient solutions for larger projects.
However, it does not mean that React Native will not be capable. In fact, the company is working on its drawbacks and coming up with stable solutions. Similar is the case with other frameworks too. Hope you like the post. If you have any suggestion, you can suggest to us. We highly appreciate your views.
Further feel free to contact us in case if you require any consultation regarding your dream projects. Guess what! It’s free… We always love to solve queries with respect to Web/App development.