Mobile terminal development selection

Recently, I am working on a small project for practicing hands, and the framework used is react native. Let's talk about some of our group's research at the beginning of the selection.
First of all, the reason for not choosing native development is that the time cost is limited and the development cost is high. It is likely that there will be no deep technical precipitation in the short term, and we can only make a watch case "like a cat and draw a tiger". So we consider choosing a cross-platform development framework.

I have sorted out the relatively mainstream mobile terminal development solutions currently on the market:
insert image description here
you can see that there are five main forms:

  1. web app (html5 + js)
  2. hybrid App (native development + web)
  3. language editing conversion
  4. Native rendering (RN, Weex, Quick Apps)
  5. Self-drawn UI (Flutter).

What are the differences between these five forms? You can refer to this article for a detailed explanation.

Considering the development cost and the analysis of the pros and cons of the above five mobile terminal development models, we initially considered choosing between RN and Flutter.

The following is a comparison of the advantages and disadvantages of RN and flutter at the beginning of the project:
insert image description here
At that time, react native was chosen for the consideration of hot update, ecology and framework maturity. Another reason is because of this article: Why you should keep faith with React Native?, interested students can take a look.

After one month of time-consuming, the simple and small project we implemented with react native also took shape. Of course, in the process, we inevitably encountered the above-mentioned pits, such as:

  1. Component rendering is inconsistent on ios and android
  2. The problem of mobile phone permissions (for example: photo album, camera, etc.) is inconsistent in ios and android, and a lot of hard code needs to be written, which is particularly unfriendly to developers.
  3. The compilation speed is slow (there is no comparison of flutter, I don't know how to use flutter, I don't know if using flutter will have a big improvement)
  4. ……

So when using rn, you really need to pay special attention to cross-platform compatibility.

Guess you like