Today, when I was browsing Zhihu, I saw such a question, which I found very interesting and worth sharing. It is as follows:
To be honest, this question itself is problematic. There is no saying that one technology can completely replace another technology. Each technology has different focuses and advantages. Different technologies can be selected for different needs, scenarios, and experiences. There is actually no such thing as a complete replacement between technologies. This is just a technology selection that we need to make when facing products, projects, and the technical capabilities of the entire team. The reason why I say it is worth sharing is because I saw the answer written by Zhihu master "Yu Sangeng", which is very comprehensive. He made different advantages and disadvantages and technical characteristics analysis from the selection of native development, hybrid development, "pseudo-hybrid development" represented by RN/Weex, and APICloud. These answers can make everyone understand these technologies more deeply and clearly. For future development, technology selection can have certain reference and learning value. The answer from Zhihu master "Yu Sangen" APICloud and native application development are not mutually exclusive. Different scenarios and different requirements naturally require different technologies. What we need to understand is what scenario we are in and what advantages and pain points there will be if we choose different technologies. Strictly speaking, this question should be a technology selection question that compares four aspects: native development, hybrid development, "pseudo-hybrid development" represented by RN/Weex, and APICloud. Why separate hybrid development from APICloud? Because APICloud is a complete APP development ecosystem that includes cross-platform APP development engines, development tools, cloud services, module markets and other services. Currently, APICloud has launched Deep Engine for Web developers, SuperWebView for existing native applications, module markets, as well as cloud service rapid development environments such as data cloud and operation cloud. It cannot be viewed as just a "tool" or a single technology. Below we briefly list the advantages and disadvantages of the four technical options: Native development Advantages:
Disadvantages:
Hybrid Development Advantages:
Disadvantages:
RN/Weex Advantages:
Disadvantages:
APICloud Before talking about the advantages and disadvantages, let's first explain the difference between APICloud and the original hybrid. Hybrid technology is the core technical means of APICloud "end" development, but APICloud has done a lot based on hybrid. From the perspective of the project development process, using existing open source hybrid technology or building a hybrid framework is more like buying groceries and cooking by yourself. The cost of building and maintaining a technology stack and accumulating know-how for various problems is relatively high. However, using APICloud for development is more like using an enterprise-level development technology stack such as .net and java, or ordering food at a restaurant. What you get is already quite complete and you can focus directly on the application. Advantages:
Disadvantages:
In terms of technology, the current client technology of APICloud is very similar to the hybrid development solution electron for desktop. It is based on HTML5 and eliminates the differences between different platforms and operating systems through a unified standard API to achieve the purpose of cross-platform APP. However, compared with pure technical solutions, APICloud is a commercial-grade development platform that "has products, ecology and operations". The features we see today are mainly born from this. Back to the original point, APICloud is not a replacement technology for native development. APICloud is essentially a platform system that improves efficiency and empowers mobile app development. Whether to build applications based on APICloud or embed APICloud in native applications is actually a choice of different technologies for different scenarios. The core concept behind it is "adapting to local conditions". What kind of scenario and what kind of technology I use to achieve the purpose of improving efficiency and empowerment is the only criterion for technology selection. One more thing, domestic large-scale Internet companies generally adopt the "big middle platform" strategy, hoping to build a strong middle platform to support the business. Similarly, as a small and medium-sized team, choosing a technology does not mean statically looking at the advantages and disadvantages of the current technology, but to look at it dynamically from the perspective of "external middle platform". A technology stack can determine your R&D model and team composition in the long run, so this is not the most convenient tool. |
<<: Tech Neo October Issue: Concurrency Optimization
>>: Stop cleaning up "zombie fans" WeChat official: This is a scam and is extremely harmful
Instant messaging technology, referred to as IM, ...
As you know, writing articles is my hobby in my s...
On July 11, 2022, the first color picture of the ...
We are all so tired of hearing the words 3D and &...
[[127178]] Produced by GitHuber.info team Preface...
Every knowledge payment company and self-media fa...
Shrimp pre-cooking is troublesome, so fully proce...
At 17:00 on the 8th, more than half of the provin...
“Farmed shrimp cannot metabolize harmful substanc...
According to the quarterly mobile phone report re...
With the promotion competition so fierce today, s...
There are actually not many e-commerce opportunit...
This article uses four steps to help newbies in e...
[[248687]] Recently, foreign media published an a...
As a coder, you must be familiar with source code...