Understanding mobile development

Alvaro Perez
3 min readFeb 17, 2021

--

This is the first of a two-piece article. Here in the first part, we’ll discuss the types of apps and development languages. In the next, we’ll introduce no-code and other tools for non-techies.

Years ago there were only two ways to build a mobile app. One for iPhone’s iOS (Objective-C) and one for Android (Java). Kotlin is now Google’s preferred language for native Android development. You guessed: it is based on Java. And Swift is its counterpart for iPhone applications.

But let’s not go that fast. Let’s start with the kind of apps that you can develop. We have three types.

  • Native apps. As its name implies, these are apps coded in a native language, designed or intended for a specific device’s operating system.
  • Hybrid apps. You guessed. Apps coded in programming languages can be either interpreted by many different operating systems or can be embedded into capsules or platforms that can be read by the different OS.
  • PWAs, the acronym for progressive web applications. These are websites coded in web-specific languages — HTML, CSS, Javascript — that are framed into a mobile’s view. So they look like an app, but in essence, they are websites read by a browser, not code run by the OS.

Natives apps are fully performant, get the most of your device and OS, and flexible to develop. If you have unlimited resources, this is the Ferrari you were looking for. Since they are coded, as long as you or your developer knows how to translate your needs into code, it can be done.

However, they work only on one OS, so if you are planning a product for everyone, this choice will double your development effort. Here you’ll need to carefully take into account who are you developing your app for. You should know that they are differences between the people using iOS and android and your app should be pointed to that segment. There is one extra drawback: the maintenance cost, although this depends on many different variables.

With hybrid apps, on the other side, you write once the code and then you deploy it to different platforms. The main advantage is that it is much easier to find developers for that kind of language is that you will be using, mainly Javascript and its gazillion libraries (Ionic, React, Cordova, and friends). For the C# and .NET, a very popular framework is Xamarin, in case you plan to cover Microsoft’s users, too.

(Disclaimer: There is a huge discussion In the community about whether hybrid apps are how much less performant and convenient than native apps.)

One of the most popular hybrid frameworks is Flutter. Flutter is Google’s toolkit for building beautiful web and desktop from a single codebase.

Google had kicked off the PWA (aka progressive web apps) concept back in 2015. As you were already wondering, this is the fast/cheaper but less performant option of all three. But PWAs are getting better and better every day. They are a fair choice when the business looks for a cross-platform app to reach a large audience, or there is a limited budget and you don’t want anything fancy or complex, so there is no need for close integration with the device hardware (including push notifications).

In the next part of this two-fold article, I’ll go in-depth with some more tools. Stay tuned!

--

--

Alvaro Perez

I blog about innovation, technology and digital transformation. Check my site at sagabria.com