Since the early days of mobile development, many have asked: "but could we just code it once so that it's cheaper". Many different solutions have been offered, like Xamarin (2011), React Native (2015) and Flutter (2017).
On the surface level, having only one codebase to manage both iOS and Android applications feels excellent. The unfortunate truth is that both platforms have their own practices and UI particularities often requiring custom development.
There is also the question of developers who have experience with these languages and those platforms. As these languages are relatively rare (besides JavaScript for React Native) and new, you can't find many developers with a lot of experience with them. And you don't want just any developers but developers that have mobile experience, as it is quite a different thing to make a great website than to make a great mobile app.
In my opinion, in 2022, there is also a giant elephant in the room that everyone seems hell-bent on ignoring or, for some reason being afraid of: a solution that would serve iOS, Android and Web (mobile and desktop browser) users. The most straightforward answer, in my opinion (and it is a somewhat controversial opinion), is to just make whatever you want in a website and then show that in your mobile application inside a WebView. This is by far the most cost-effective way of serving your business logic to as many customers as possible.
Back when I was a consultant, I was vehemently against this approach as it did not make the best possible experience. As a Startup Founder, I got more experience in Time To Market or calculating app costs and benefits. Now I constantly push back when someone is trying to tell me that a better user experience (UX) is just better, without considering the costs. With infinite time and money, anything is possible. If either is in short supply, I often find the end product to be of superior quality. The limitations force us to find better solutions, not infinite possibilities.
I love the ability to use the best of both worlds, something I don't think I have done in many cases outside Choicely. And for whatever reason, experienced IT professionals ignored them. It might be that people think the transition from the native part of the app to embedded WebView would be too jarring, but it is not. And you don't have to take my word; book a meeting with us and let us show you.
As of this writing, Apple does not yet allow push notifications for web PWAs. In my opinion, Progressive Web Applications would be the ideal solution in many cases if push messages were possible on both Android and iOS. If only it were not for those pesky users and their insistence to go to their device's default application store (Google Play or App Store) to search for the application and at least that Apple will not allow you to do, post a PWA to App Store that is. You would also have to forgo using native elements with your web application if you only relied on PWA; that's why I feel that the fusion of Native and Web is the best option with very few surprises or traps.
How do we bridge web and native technologies? This is done often by adding JavaScript callbacks that transfer required information between web and native code parts. Quite often, this is just moving user ID from the web to native or the other way around. In the simplest case, this allows targeting push messages correctly to individual users.
Sometimes more complex integrations are needed. Choicely offers webhooks to deliver purchase information to customer servers. We can also easily add native code or server-side automation to access customer APIs to automate content delivery or check user entitlement.
Typically the cost for this kind of development work is just a few days of work compared to weeks or months of making a complete application from scratch. Choicely technologies are designed to be modular, customisable and extendable when needed. We understand the customer's requirements and limitations and have many ways to solve them. Choicely always focuses on providing the best and most cost-effective solution to the customer with many short and long-term options.
Image: Choicely no code app builder - content for web, iOS & Andoid
After over a decade of creating mobile applications, I have amassed a wealth of experiences with all kinds of projects. At one point, I even felt depressed because I should have learned web development instead, as it seemed much easier to serve many more users than with native mobile development. But I am incredibly thankful for my mobile path, as it has taught me more about user interfaces and user experience than I think I could have learned by building web solutions. The limitation of battery size, processing power and screen real estate forces you to adapt and overcome.
I have concluded that with the current widely used technologies that I am familiar with, the best solution for mobile applications today is a hybrid approach. The most substantial reason for this is the flexibility of technologies and the true reusability of solutions between web and mobile.
To better communicate the cost benefits of Choicely technology we have also launched the Choicely Startup initiative. With this initiative, we hope to lower the app costs and threshold for new startups to get their business into mobile.
There is absolutely a point in any business where it makes sense to A/B test every button and cut down all unnecessary user waiting times. Facebook, for example, wants you to be in their infinite scroll forever to see the advertisements. Every millisecond spent loading content is a millisecond where thoughts of doing something else might pop up. So if you have the money and can capitalise on the benefits, then optimise away. But just remember that this is costly work.
Choicely uses native technologies for both iOS and Android. We also have extensive experience in bringing web solutions inside mobile apps. As the CTO and designer of the Choicely no code platform, I can confidently say that anything that can be accomplished with native applications can also be done with Choicely apps. I promise all of our clients that they are not painting themselves into a corner when choosing Choicely. We offer clients the option to buy native development from us, they can do it by themselves or buy it from any third party. We are happy to work with others and find the best solution for everyone.
Good article about Native vs Cross-Platform development
Read more about No Code App Development: what it is and how to get started