Under the rules of App filing, the developer's technology selection is more important

Website ICP filing has been implemented for a long time, and we are also very clear that only after ICP filing can the website operate legally in the mainland, and users can normally access the website through the domain name.

insert image description here

However, new regulations came out at the beginning of the month. From next year, domestic apps will also be filed like websites. Presumably everyone has already heard the news of this swiping screen, and so is the small program if you just talk about it.

In the context of increasingly strengthened management, developers will also face some new difficulties and changes.

Impact on developers

1. Raised the development threshold

It is difficult for small-scale individual developers to complete the filing process alone, and may need to cooperate or provide services through Alibaba, Tencent and other company platforms. Generally, the filing entrance will be delegated to cloud vendors.

2. Affect the development cycle

Developers are also closely related to the fact that the filing rules will require the MD5 value of the installation package, which means that formally each update may be filed once. (The following is a picture posted on the Internet)
insert image description here

3. Emphasis on information security

The filing regards information security as an important evaluation criterion. In the process of obtaining user privacy information, developers need to pay attention to the collection and use of information in the product in compliance with privacy protection regulations, and do not collect excessive information.

Of course, there is another possibility that app filing is not a version review, but like a website that needs to be inaccessible during the review period. In the end, no matter what content the website presents, it is mainly the front-end review qualification process.

But no matter what the final filing rules look like, for the technology itself, there will definitely be more solutions than difficulties. If you have to fill out a filing form for every update and release, then finding a development model that complies with the rules is also an inevitable choice.

Development mode selection

From my point of view, App hot update capability will become a must in the future, and there are two paths for hot update:

1. Mixed application

Webview loads webpages as a hybrid application, which is actually the well-known "native + HTML5" mode. Its working principle is that the server side of the App needs to monitor the updates of these contents, and then send them to the App on the device side by some technical means. The content update notification, and then some components inside, need to synchronize some page content fragments to the client through the network, and inject the downloaded content, usually HTML and JavaScript, into the holes dug before.

In addition, there are many technical solutions for intermediate network synchronization, such as through bidirectional Web-Socket, or through HTTPlongpolling, or through SSE, or through PushtoPull, or other custom technical means such as CMS. On the device side, HMR hot module replacement and code injection are usually used to make the updated code effective and displayed locally, avoiding App restart.

insert image description here

Another method of hybrid application development is "native + applet". In fact, I recommend this method. First, applets are very mature in China and the overall experience will be much higher than HTML5, at least freezes and white screens. It doesn't happen often. The second is that this model has been verified in super apps such as WeChat and Alipay. It is true that this kind of lightweight technology will be more flexible in hot updates, and it can be realized only by cooperating with the management background. At present, this technology is called small program container technology, which is relatively mature in the market, such as FinClip , which is out-of-the-box and more friendly to developers.

In addition, there is also a pure Web App model, which is not recommended for everyone. First, the poor performance has relatively high requirements for equipment and networks. Second, this model is only suitable for some very simple businesses, so I won’t do too much here. illustrate.

2. Class loading mechanism

Using the Java Classload class loading mechanism, the core principle is to read the bytecode from the network stream to load the Class, that is, to read the binary byte stream in the .class file through the class loader and convert it into a Class in the Java virtual machine object. The main processes include loading, validating, preparing, parsing, and initializing.

Of course, this mechanism will be more complicated than the one above, and the overall content will be more systematic, so I won’t make an in-depth introduction here. Interested students can further inquire about the introduction of relevant knowledge points.

written in the back

With the increasing number of App reviews, it will definitely have a great impact on the developer community, especially for small and medium-sized developers and some foreign developers. But in order to better adapt to changes and embrace changes, we can optimize from a technical perspective. Of course, there must be other big guys who have better ways and welcome everyone to give good suggestions.

Guess you like

Origin blog.csdn.net/POHOU23/article/details/132451777