August 16, 2021
By: John Tomblin, Senior Solutions Architect
PhoenixBizz, a division of Sofvue, LLC
Mobile application development is changing every single second. Programming languages and processes popular ten years ago are dead today, and what's popular today didn't exist ten years ago. So, whether you are looking for mobile app development in Phoenix, or anywhere else, you need to understand the pros and cons and the continually changing dynamics impacting mobile app development.
Let's start with the why. I don't know of a single small business anywhere that's not trying to reduce operational costs 1% to 3% per year, whether it's in the choice of the coffee they buy for the community kitchen, to the copy-paper for the copiers or the light bulbs in the conference room. Costs drive everything, and mobile app development is no different. This is why Microsoft, way 1back in 2013, released Xamarin, a cross-platform development tool designed specifically to address cost issues by allowing programmers to effectively write one codebase capable of running on both Apple and Google simultaneously, and without having to write any "native" code. By 2015, "React Native", a platform developed by Facebook, followed suit, and in 2018, Flutter, a Google framework, came into the marketplace ready to disrupt the status quo. Each of these platforms shared a single goal -- allow businesses to develop mobile apps capable of running on both Android and Apple phones equally using a cross-platform codebase, and at a reduced cost.
As word spread across developer and programming circles of the cost-saving benefits of these platforms, businesses of all sizes leaped at the chance of developing cross-platform solutions, and why not? Being able to develop a mobile app capable of running on both Apple and Android was a logical progression given that before cross-platform options, most companies had to choose either the Apple path or the Google path, and for a decade, due to costs, few were able to do both.
So, is it true that cross-platform is less expensive than native development? Generally speaking, yes it is, but only for the short-haul. Typically, based on the mobile projects we've developed over the years, the comparative initial cost savings hovers between 20% and 30%. That's a lot of money when you consider that mobile projects can easily hover in the $100K+ range, thus producing a $20,000 to $30,000 reduction in development costs, but that's where the savings end. Over time, as Apple and Google (and yes, even Microsoft) update their OS's, you may find yourself on the wrong end of the development model, and although the cross-platform providers like Flutter, React and Microsoft's Xamarin have vastly improved their codebase over recent years, it doesn't mean you won't have technical challenges, especially when it comes to "crunching" the workload and defining your feature set.
According to Software Engineering Daily (www.softwareengineeringdaily.com), in an article by Adam Conrad, published September 24, 2018, "Why Airbnb is Moving Off of React Native", Airbnb decided to move away from "React Native" and opted to return to Apple and Google's Xcode and JAVA development platform. Does this mean that React Native is a bad choice for development? Certainly not, it simply means there are times when sticking with the same programming code as the source provider's codebase is the smarter, long term play, and that's exactly what happened at Phoenix Bizz, when in June of 2020, we made the switch and opted to start all-new mobile app development projects using JAVA and Xcode, the "native" development tools for the OS platforms of Google and Apple, respectively. Occasionally, we still run across mobile app development projects in Phoenix where Xamarin or Flutter is the better choice, but only when we're taking over a project where the codebase has already been established (from a prior company) or when we're developing e-Commerce or non-complex apps that need to monetize quickly. This is especially true for start-ups who have more time than money and are trying to flip their business model, so they have both more time, and more money. Sometimes, you have to take short term losses to achieve long term gains, which is why, sometimes, choosing a cross-platform framework for coding is the better choice.
So why did PhoenixBizz make the switch back to native code development? Here are our big three reasons.
There's a reason why Apple develops in the Xcode platform and Google on Android -- they work. By sticking to what Apple and Google intended to be the codebase for all mobile apps, and I stress ALL, we eliminate many development problems for our clients that often accompany cross-platform frameworks.
Once you go down the cross-platform yellow brick road... there is no turning back. Once built, you can't easily separate the codebase your app is built-in. So, if you've developed a cross-platform solution, and you want to switch back to a native codebase, much of the code originally developed is not reusable, which means you get to start over -- from the beginning -- and with all the associated costs that come along with it.
Too often, we've watched otherwise incredible mobile solutions wither away due to poor operating speed and performance, as well as issues involving poor UX and UI. Today, we treat mobile app speed as the single most important UX/UI factor of any project. If it's not lightning fast, you'll hear about it from disgruntled employees and customers.
In closing, it's fair to say that although PhoenixBizz has returned to writing code based on Apple and Google's native platform, there are still a few occasions that I might still recommend a cross-platform solution for a business. Every business is different. Every business has its own unique set of issues and challenges, and every business has budgetary constraints that can certainly impact which approach works best. What's important is that you make the best choice for your company at the moment it is needed.
For more information, contact John Tomblin at 623-845-2747.