Along with the speed of technology development, mobile phones have become more than a device to make a call or send SMS. Mobile phone features have been rapidly developed, and the device itself is gradually replacing camera, music player, navigation tool, virtual or augmented reality devices… Therefore, mobile app development has become an essential trend of software creation. Let’s explore mobile app development.

Popular Mobile Platforms

Apple iOS

IOS is backed by Apple and works on a specific Apple device including iPhone, iPod, and iPad. Apple provides iOS SDK with many tools and libraries to support developers, especially XCode, all you need to focus on is creating amazing apps… and a MacBook or a system that can run macOS.

Google Android

Android is the other dominant player; it launched a bit later but has gained a reasonably massive share of the mobile market.

Native Development and Cross-platform Technology

Native Development

To develop an application for a certain platform, it’s best to use the SDK and programming languages supported by that platform. For example, iOS applications that developed with the iOS SDK directly use Objective-C or Swift, and Android applications that developed with the Android SDK directly use Java or Kotlin. This is the best way to provide optimal performance and possible to access all device’s hardware APIs. But if an application needs to support both platforms, different platforms must maintain different codebases, double affords, and time. Time to market will be longer, hard to support dynamic content and business requirement changes. Of course, it will impact business scenarios like e-commerce or banking products…

Cross-platform Technology

To solve 2 main issues of native development about development cost, time and dynamic content, cross-platform technologies occur. Major categories:

HTML5 Hybrid Development

The main principle of this framework is to implement an application by HTML5 and load by WebView. The content can be changed anytime, HTML5 code only needs to be developed once after that it can work on all platforms support WebView. Using JsBridge to communicate with native API calls, Mark Zuckerberg made a statement in 2012, “The biggest mistake we’ve made as a company is betting on HTML5 over native”.

Core Native

This does not get transpile to platform-specific language, Objective-C or Java, instead there is a core framework in platform language that uses JavaScriptCore to connect to native API. The most popular framework, React Native is a cross-platform mobile application development framework that was open-sourced by Facebook in 2015 April. React Native uses JavaScript language, bring the concept of JSX, HTML, and CSS to develop mobile applications. This method is suitable for any developer who’s familiar with Web development and develops with a gradual learning curve. React Native is a derivative of React on the native mobile development. If Virtual DOM in React is mapped to browser DOM tree, Virtual DOM in React Native is mapped to the native controls by JavaScriptCore. Compare to HTML5 hybrid applications, React Native has much better performance as it’s a native control rendering. At the same time, React Native uses web development concept, which allows us to write a single codebase to support both web and mobile with the launch of React Native Web.

Own Rendering Engine

The famous framework has this approach is Flutter, which is a mobile application development framework released by Google. It allows developers to build mobile apps with Dart language, also it runs well on both iOS and Android. About the Flutter rendering engine, it uses Skia (library from. Google) as its 2D rendering engine which currently Chrome browser and Android use Skia as its drawing engine.

This approach is very interesting, we will explore in detail in another post.

Top Essential Categories

The emergence of mobile devices brings us a lot of helpful applications, not just telecommunication.

Healthcare

A portable device that users can bring anytime nowadays can be a tool for us to track the exercise record, sleep quality record, hearth rate, step tracking… are some essential examples.

Identification

With the development of biometrics (Face, Voice, Fingerprint), a mobile phone now can be a reliable device to identify users. Mobile phones and biometrics are a winning combination in the mass market, allowing the technology to become much more widely accepted.

Augmented Reality

AR is a technology that composites virtual objects into the real world. Its wide application uses in gaming, entertainment, advertising and, Medical.

Mobile commerce

Mobile commerce is more than just a simple evolution of eCommerce, it enables people to buy and sell goods or services from everywhere has an internet connection, simply using a mobile phone.

You see, there are a lot of ideas we can develop on mobile.

Hieu Tran