There are two very different, yet very similar operating systems (OS) for popular smartphones: Android by Google (71.08% market share as of October 2021) and iOS by Apple (28.23% market share as of October 2021). Both allow you to browse the internet, make calls, take photos and install apps. Yet, writing an app for Android or writing one for iOS requires a very different set of skills and much more time, or does it?
Native and Cross-Platform apps
Difficult words, a lot of tech-talk, nerds being nerds. Let's talk pros, cons and differences for you and your users.
At this point everyone know that apps built with cross platform frameworks only ship if you compromise quality. But nobody has measured whether they save time over just half-assing two native apps.Ben Sandofsky (@sandofsky) - August 14, 2019
The most basic form of mobile application development, writing a native app. This means you are writing an app for an operating system using a programming language that the OS natively understands. iOS uses Objective-C, or more recently Swift. Android started with Java and is also shifting to the more modern Kotlin language.
Why go native?
- Speed 🏎
If you really want to squeeze every last bit of performance out of your app, native is the way to go. We're talking the smallest form of time here, but some apps do really profit from bringing content to the user that tiny bit faster.
- Stability 💪
Since the programming languages are the same as the OS's, fewer bugs will arise caused by, for example, fundamental changes in OS updates.
- That one gimmicky feature 🆕
Writing a native app allows you to use every capability of the operating system on release day. Cross-platform frameworks are catching up well though! So don't let this be the deciding factor.
Why native sucks
- Ka-ching, money 💰
Creating software costs money and creating two pieces of software costs more (basic maths here). If you want your native app to be available in both the Google Play Store and the Apple App Store, you will need to build an app for both OSes. This means, two development teams, both with their knowledge on how to create an app for their favourite platform. I can hear you coming, "But I have found one hell of a coder who is an expert in both iOS and Android". That person will still need a lot more time to build two apps instead of one. Also, this code-guru should probably check our careers page.
It's in the name; cross-platform app development allows you to write one app and run it on multiple platforms (usually Android and iOS, but some are throwing in desktop operating systems as well).
There are quite a few cross-platform solutions around. The most popular frameworks to date are Flutter, Ionic and React Native. Whether your application needs to use one framework over the other is a whole other debate.
Cross-platform does not mean you can only use features that are available on all platforms. Most frameworks integrate very well into the native part of the OS. Want to use Face ID? Sure thing. You'd like to preview some data in a home screen widget? We gotcha!
Cross-platform development is not a new thing that only small companies use. Apps from companies like Facebook, Tesla and Microsoft use cross-platform technologies. Even our development teams use cross-platform frameworks. Go ahead and take a look at The Telegraph, Carrefour, De Tijd and Maes.
Benefits for choosing cross-platform over native
- Time ⏱
- Money 💸
You need a lot less resources for building only one app. With smaller development teams, the time needed for developing one app will be reduced and the complexity will be lower. Win, win, win.
- Consistency between platforms 📲
Since you're not maintaining multiple codebases, what you get on your Android phone is what your friend will get on his iPhone. If you want, you can eliminatie visual differences and make your apps identical on every OS. Whether you should do this everywhere is highly questionable.
Where cross-platform drops the ball
- UX and UI design 🎨
Since you are creating an app for both iOS and Android, the "native feel" might get lost in the process. A talented designer and a detail oriented development team go a long way in creating a better user experience. Yet, it is not as convenient and easy as creating a native app.
- Poor native features integration and customisation 😕
Some native features need quite a lot of work and research to get them to work nicely with a cross-platform app. You might also need some patience when you want to use that one, recently released feature for the latest and greatest OS. Since the developers for your app and sometimes even the developers behind the cross-platform frameworks require some extra development time.
Unless you can not live without that one latest OS-specific feature, or you can save lives with that tiny amount more responsiveness and speed, you can probably benefit from choosing a cross-platform app.
Cross-platform apps have come a long way since the beginning. They are now faster and more stable, whilst also becoming easier to write and maintain. Even without taking the costs into account, cross-platform apps do bring forward a lot of advantages.
Want to learn more about cross-platform apps or do you want to improve your digital workflow by building one? Contact us here.
Follow us on LinkedIn - Instagram - Facebook - Twitter!