Why Platform Independence Is Awesome
There are a lot of opinions out there about the advantages and disadvantages of mobile apps built with Swift or Java (native) vs. apps built with React Native or Titanium (hybrid native), and apps built with HTML/CSS/JS & Cordova/Phonegap (web). These development opinions are largely based on preference and loosely based on actual results, so beware of companies touting the “better” option without much explanation.
We have a ton of experience with systems of all kinds, ranging from Windows desktop applications back in the day to Node.js apps in the present. All this experience allows us to sift through the various technology pros & cons, and we’ve chosen to go with React Native for all of our mobile projects. Just like everyone else, our choice is based on preference and loosely based on actual results, but the advantages we see are pretty overwhelming. Using cross-platform technologies is key for bootstrapping companies looking to manage development costs, and it also makes a lot of sense for anyone building from the ground up.
Let’s Tackle The Obvious Question First
What is the best choice of technology for user experience? When it comes to user experience, the best technology choice is always the one targeted at a single platform, or even better, a single device. So, the very best choice of technology for an iPhone is Swift. Furthermore, if there were Swift specifically for the iPhone X, that would be the best choice for an app bound for the iPhone X. There is no argument about this. The very best user experience for any given device is provided by the technology that has been written specifically for it.
But (there’s always a but)… Using the tech that is capable of providing the very best user experience is not necessarily guaranteed to do it. Accomplishing this takes a lot of skill and effort.
And… You might not always want to try and provide the very best user experience! So, the not-so-obvious question is: When should you attempt to create the very best user experience for your customers?
So why would someone choose technology that may not provide the very best user experience? The answer is simple, and it is related to the way we run our development cycles, as well as the way we run our own business, and our lives. Take small steps and iterate so you don’t make giant blunders.
We all tend to think that the plans we make in our heads will most certainly lead to the outcomes in our heads — a fantastic and full-featured app that everyone will want. The fact is that plans only pan out well if we try things on a small scale and work slowly towards the bigger picture. But how does this relate to choice of technology?
Very few apps are targeted for a single device, with no plans to have some functionality duplicated on other platforms. The fantastic outcome we envision for our projects usually involves mobile, laptops, tablets, watches, smart TVs, and other devices that have yet to gain popularity. Our app will be everywhere people live, work, and play, because that is the way people use it and love it.
But how do we accomplish such a spectacular goal?
We do it piece by piece because very few people have the means to go about it all at once. At BOUNDLESS, we say you shouldn’t go about it all at once even if you have the means! We don’t like waste, and taking giant steps is a recipe for a massive waste of time and money.
Build For The Future
Nobody really knows how long any given technology will last, but there are a number of smart decisions that can be made anyway. Frameworks that help you build faster and cheaper hybrid apps are popping up all over. We avoid frameworks where possible because they are intrusive and restrictive. Once you start using them, doing anything else is pretty much a re-write. So instead of using “the next great framework”, we stick with the basics.
Make Improvements When The Time Comes
Once a business has been up and generating revenue for a while, it might be time to look at improvements. New features will compete with unseen improvements in architecture, infrastructure, and chosen technologies. Now is the time to circle back and weigh how important it is to add that native Android app into the mix. This might happen relatively quickly based on user feedback, or it may never happen at all. The important thing to note is that the business has not bitten off more than it can chew at this point, and can make a decision based on what has happened instead of what might happen in the future. And the entire year’s budget was not blown on four different versions of the app which now need to be maintained separately!
We make many decisions based on budget/time vs. features and user experience during the life cycle of a startup business. The smart money is on hybrid native apps built with React to start, so there’s budget left to expand with the greatest need down the road.