APP technology selection, native APP, hybrid APP and cross-platform application introduction

foreword

The 50th "Statistical Report on Internet Development in China" shows a lot of interesting data.

Among them, as of June 2022, the number of netizens in my country is 1.051 billion, and the Internet penetration rate reaches 74.4%.

The average weekly online time per netizen is 29.5 hours, an increase of 1.0 hours from December 2021.

Thanks to the development of domestic smart phones and mobile Internet, the proportion of mobile Internet access is absolutely leading, accounting for 99.6% .

No matter whether you are a product manager or a developer, you need to realize that the computer in the future will become a tool more suitable for office and professionals, and the mobile phone is the final choice of the general public.

From the game industry, League of Legends -> Glory of Kings , PlayerUnknown's Battlegrounds -> exciting battlefield, to the e-commerce industry. It can be seen that mobile terminal development will dominate in the future.

The design of mobile terminal software for ordinary users needs to consider various factors such as performance, UI beautification, and development efficiency. Therefore, various development types and technologies have been born since the development of mobile terminals.

The importance of mobile terminal development in the 5G era

 Three types of development

Native APP

Also known as native APP  , for example, Ios is directly developed in Object-C and Swift languages. Android uses Java and kotlin for development .

Web App

It is a web page developed by html, which is said to be an APP but actually refers to a page on a browser

Hybrid App

Also known as  hybrid APP , Html5 shell , it uses web technology to develop pages, and then packs them into an APP. What opens is an APP, in fact, a browser is nested inside.

Architectural patterns corresponding to the three types of development

Choice of App Development Types

For developers or managers , technology selection can be made according to product requirements , performance requirements and project time ,

cross-platform development

The development in the mobile field faces problems such as different operating systems requiring different development languages, different versions of the same operating system, and different models of the same version, which adds great difficulty to mobile development. In the field of mobile development, cross-platform development technology has become the first choice of many enterprises and developers, which can effectively solve the development problems of different operating systems and different models of terminals, and save time and personnel costs for enterprises.

Cross-platform development framework recommendation

Hybrid: Domestic uni-app

uni-app is developed   using Vue as the interface. The internal framework provides a set of packages for different platform feature calls. You only need to call the corresponding functions in js to call the functions of the corresponding platforms, such as native applications: read and write mobile phone storage, top Notifications etc.

Developers write a set of code, which can be published to multiple platforms such as iOS, Android, Web (responsive), and various small programs (WeChat/Alipay/Baidu/Toutiao/QQ/DingTalk/Taobao), quick apps, etc.

As shown in the figure below, a set of codes runs simultaneously to iOS simulator, Android simulator, H5, WeChat Developer Tools, Alipay Mini Program Studio, Baidu Developer Tools, ByteDance Developer Tools, QQ Developer Tools (bottom 8 terminal tabs represent 8 terminal emulators):

Hybrid:React Native

The front end is written using the React framework, and React Native provides a set of packages for Android and Ios, allowing you to call the native functions of the mobile phone directly by calling functions in JS

Hybrid, also known as hybrid APP, basically has this design, the interface uses Html, and the framework encapsulates the underlying functions as JS for calling.

React Native is very suitable for engineers with React development experience.

Native: Flutter

Introduction

Launched by Google, the concept is: build beautiful mobile applications easily and quickly; build with C, C ++, Dart and Skia (2D rendering engine); aim to help developers easily achieve a constant 60fps The history of Flutter can be traced back to In October 2014, its predecessor was the Sky project incubated within Google

performance advantage

Flutter uses the Skia drawing engine to draw directly through the CPU and GPU without relying on any native controls.

In the Andriod operating system, the written native controls actually rely on Skia for drawing, so Flutter is even higher than native on some Andriod operating systems-because Skia in native Andriod must be updated with the operating system, and Always up to date in the Flutter SDK

Comparison of advantages and disadvantages of cross-platform frameworks

frame uniAPP React Native Flutter
study cost Low Low high
performance Low middle high
advantage There are many cross-platforms, including various small programs, and a set of codes can run everywhere The way of using React+JS not only guarantees a certain performance, but also makes it easy for web developers to learn High performance android=native ios<native
shortcoming Wide but not refined, too many platforms can not guarantee the robustness of each set of API, you need to develop it yourself if there is no plug-in There is a certain learning cost, and you need to learn the Dart language
Applicable scene Multiple sets of small programs need to be run on different platforms, or the performance requirements of the APP are not high Only Android and Ios platforms are required to run, and some React experience is required Apps with high performance requirements, such as large shopping malls or games
support platform iOS, Android, Web (responsive), and various small programs (WeChat/Alipay/Baidu/Toutiao/Feishu/QQ/Kuaishou/DingTalk/Taobao), quick apps, etc. Ios、Android Ios、Android

Although React and Flutter have also supported Windows and Mac one after another. But after all, it is not mainstream, and there is no need to make mobile applications cross-platform to PC. Even if the design size and layout are responsive, it will be very strange.

PC-side cross-platform framework recommendation

Electron | Build cross-platform desktop apps with JavaScript, HTML, and CSS.

Cross-platform framework development efficiency comparison

References

What are the advantages of Flutter over Native APP development

iOS

Android

React Native Chinese website

Weex——Thinking, Realization and Future of Mobile Dynamics

Flutter Chinese Network

Mobile cross-platform framework Flutter introduction and learning line

Guess you like

Origin blog.csdn.net/SUNbrightness/article/details/127598485