Choosing the Best Path to Mobile
There’s no doubt that the mobile market dominates in technology. Mobile browsing accounts for a growing majority of website visits worldwide. Indeed, the World Advertising Research Center estimates that “almost three quarters of internet users will be mobile-only by 2025.” It is a market we cannot ignore.
But if you’re here, you’ve already decided that your product needs to target mobile users. I’m here to help you decipher the mobile application ecosystem so you can take the next step.
What is “native”?
Before we can talk about mobile application solutions, we need to introduce a terme d’art: “native.” In the mobile world, something is “native” if it relies on device hardware or operating system-level code to execute. T hat is, it requires iOS or Android specific interactions. And that’s a big “or.” There is no native functionality that is interoperable between iOS and Android. They speak entirely different languages (they’re not even both Romance languages, to overextend a metaphor). A common example of this is your cell phone’s location services. Yes, iOS and Android devices both have this functionality, but they have yet to sit down together to agree on how to access it (and you shouldn’t hold your breath…). So with that out of the way, let’s discuss your options.
What are my mobile application options?
There are a number of ways to get your content onto mobile devices. Each option has advantages and disadvantages in terms of cost and functionality. These are your options:
Mobile Responsive Website
This is just a website. Hopefully if you’re here, you’ve already asked yourself the questions, “Is my product just a website? Do I even need a mobile app?” Here are a few things to consider. If you’re not specifically looking for a presence in the Apple App Store or Google Play Store, and you do not need native mobile functionality like accessing device media (photos, camera, video), GPS or Beacons, a mobile responsive website is a great option. Your developers can build a normal website and use a “mobile-first” methodology, which generally delivers a good experience on small screens.
If you’ve done a lot of browsing on your mobile phone or tablet, you know that this experience can sometimes be a bit sluggish. That’s because the browser has to handle a lot of code, and by necessity, mobile-based web browsers are less powerful than desktop web browsers. Additionally, aside from missing out on native device features, this approach carries the costly burden of hosting and maintaining a traditional web server.
Progressive Web Application
This is also a website, but it’s not just a website. Think of this as an advanced web app. In recent years, mobile browsers (Chrome, Firefox, Safari, etc.) have added native mobile interactions to their feature set. This allows websites to access device capabilities. This is still a website, built “mobile-first,” but with added features like device media and GPS. These are more complicated applications than simple websites. Of course, this complexity comes with a cost, as it takes time to implement and test these native features across a wide range of devices. Like the option above, website load times and interactions can sometimes be painful on mobile, and this approach also requires that the application is hosted somewhere.
Native Mobile Applications
We’ve finally left the realm of web applications. In previous options, we are counting on Chrome (or insert your mobile browser here) to retrieve and execute code that is stored on a web server somewhere. But native mobile apps utilize iOS or Android native runtimes. We have full access to all the features of a device, and can take advantage of all the computing resources the device can offer. This tends to mean smoother animations, transitions, and less loading time. These apps are downloaded from the app store onto your end user's device, and the code lives on the device. Your app is accessible from their apps screen.
Additionally, native mobile apps require no website hosting. The App Store and Google Play Store take care of giving your users access to the app, and the application runs directly on their device. But here’s the rub: remember that discussion about the meaning of “native” in mobile applications? Building a fully-native mobile application, in fact, means building two mobile applications — provided you choose to target more than one market-share. That’s one app for iOS and one app for Android. Not only does this nearly double the development time, but it often means nearly twice the number of developer skill sets needed as well. There are not a lot of iOS + Android developers out there.
Hybrid Mobile Application
For many, this is the sweet spot. A relatively new technology, hybrid mobile applications are built using special programming frameworks that use a single language, but can run on both Android and iOS devices. Probably chief among these frameworks is React Native. It uses a complicated combination of native code and traditional browser-based technologies to not only bridge the gap between Android and iOS, but also make mobile development accessible to traditional web developers. This means that you gain almost all the benefits of a fully native mobile app, but you’re building a single app, and you can rely on a development team with a more focused area of expertise.
These applications look and feel the same as most native mobile applications. Although some hybrid mobile frameworks struggle to fully implement ever-changing mobile device capabilities, React Native gets updates as quickly as mobile devices gain features. All of this does come at a cost, however — highly complex, animation-rich user interfaces can sometimes lag with this approach. But at least in the case of React Native, and with the right development team, these user interfaces need to have a lot going on before they start to suffer.
Your next steps
Each product is different, and yours will have its own unique requirements. At Caktus, we see a lot of mobile products, and they generally fall into one of these categories:
- App/Play Store presence: If having your app in the App Store and/or Google Play Store would benefit your product, you’ll need to look at either a hybrid mobile app or a native application per platform.
- Advanced device capabilities: If you need access to certain device capabilities, you’ll need to consider native or hybrid, or in some cases a progressive web application.
Still not sure which path is best for you? At Caktus we take a holistic approach to mobile development. No two apps are the same, so it can be helpful to rely on the expertise of a development partner to help you decide on the best approach. Contact the mobile experts at Caktus to learn more about your options.