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
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.
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
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…
To solve 2 main issues of native development about development cost, time and dynamic content, cross-platform technologies occur. Major categories:
- Own rendering engine: Neither WebView nor native control bridge, this technology offers a high-performance rendering engine.
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”.
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.
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.
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.
AR is a technology that composites virtual objects into the real world. Its wide application uses in gaming, entertainment, advertising and, Medical.
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.