What's MiniApp Runtime Architecture
Tags: miniapps
Published: 2022-10-18 10:02:35

You know that in the last five years,the native apps and HTML5 website has been the game stage.

And the stretching to find the balance in performance,user experience and development flexibility.

And now we introduce the MiniApp for you.

MiniApp is a new type of mobile application.Developers can develop MiniApps with web technologies while integrating with capabilities of native apps.

MiniApp combines the advantages of web apps as well as native apps.MiniApp is similar to the web from the perspective that users can hardly felt the time of installation, while with approximating user experience to mobile native apps.

After years of development,MiniApp has made some achievements with more than 5 million MiniApps and more than 10 MiniApp vendors.

we can learn some features of MiniApp.On one hand, similar to that of web apps,the MiniApp installation process is very fast.In order to make this possible,The MiniApp package size is usually limited to a few megabytes.

On top of that,technologies like split packaging, streaming loading and many others will be used to speed up the first ever opening time.

On the other hand,MiniApp is armed with app-like experience.It provides tons of native APIs and system-level smart data,along with a lot of predefined high-level components such as map.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a43flwqhdqb4q29qwpca.png)


Besides, we can also see that MiniApp can be discovered in multi-entries,Such as Scan, and smart assistant among others.In different entries,it can be discovered by users in various ways.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1kbwp5yzrgue4oj1evrr.png)


next ，let’s take a look under the hood of the opening process.Specifically, the process of launching the MiniApp for the first time generally includes the following steps:

First of all, the MiniApp engine will parse the URI of MiniApp to extract the corresponding information from this URI, and download the corresponding MiniApp package from the server.The MiniApp engine will then unzip the package filesand check its validity.This brings us to the next step, the running process of MiniApp.The MiniApp engine creates the execution environment of the MiniApp, including the process of creation,initialization of the JS virtual machine, and so on.The MiniApp engine then parses the manifest files contained in the MiniApp package, and initializes the app as well.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jgt21fkv01q7pbdi8eqs.png)

Finally, MiniApp will The engine will be rendering the page and start proceeding the code execution in this page.

The MiniApp engine is the underlying platform supporting MiniApp execution.It is usually integrated into Host apps or the underlying OS.

In addition to the sections involved in the previous initialization process,the MiniApp engine also creates a sandbox for the MiniApp.

It will be taking care of the resource management,permission management, lifecycle management and so on.It will also be responsible for communication with other MiniApps and Apps.

This is an architecture of MiniApp.In a MiniApp,the view layer is usually separated from the logic layer.The rendering part of the interface is supported by the Render View part of Runtime.In the existing MiniApps,some will use web view as the main Render View and combine some native components to realize the map-like capability,while other MiniApp implementations will directly use native rendering as an implementation of Render View. This part of MiniApp logic as well as the JavaScript code will be running in the JS engine. The V8 engine is a common possible choice.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/flc27c407uyivndi163a.png)

During the process of running,the API that is invoked will be calling native code for the implementation through JS Bridge.

In addition to Runtime,MiniApp engine also implements the logic of platformization to support the download and management of MiniApp packages,to bring about the sandbox of MiniApps,and to manage these states of different MiniApps at runtime, among others.

## FinClip: A MiniApp Digital Content Management Platform

[FinClip](https://www.finclip.com/en), a software technology that empowers digital ecosystems and connectivity. It is a development platform to create, manage and distribute digital scenarios in the form of lightweight instant applications (”Mini-Apps”). Business organizations, cloud service providers, mobile operators, IoT device manufacturers and auto makers will find it especially useful to enable easy digital content authoring from developers, to connect with business partners and to reach consumers of all channels.

The FinClip suite consists of an embeddable secured sandbox runtime, an Integrated Development Environment (IDE), a testing assistant app for mobile developers, an app store and a management backend.

FinClip can be described as:

- an embeddable, pervasive and on-premise solution
- a technology any business organization can locally deploy and control
- supporting front-end user experience portable across a variety of terminal devices — iOS/Android mobile, Linux/Windows/MacOS desktop or car infotainment system


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/liq2uzck8noc5s40f1b7.png)

If you want to know more about [FinClip](https://www.finclip.com/en), please visit the FinClip website for more information. or contact us by email :contact@finogeeks.com