Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

谈谈小程序的优势 #59

Open
lihongxun945 opened this issue Aug 21, 2023 · 0 comments
Open

谈谈小程序的优势 #59

lihongxun945 opened this issue Aug 21, 2023 · 0 comments

Comments

@lihongxun945
Copy link
Owner

lihongxun945 commented Aug 21, 2023

有一段时间我在面试的时候经常问的一个问题:小程序相比于web的优势是什么?
很多面试者都会从体验、性能、生态等方便来回答,比如这些回答:

  1. 小程序能带来沉浸式体验,并且依托微信提供的API实现媲美原生应用的功能
  2. 小程序可以实现预加载,打开速度更快
  3. 小程序能利用微信生态获得更多用户

这些确实是小程序的优势,但是这是web无法实现的么?大家稍微想一下就知道,这些功能显然也能通过web+JSAPI来实现。那么既然web能实现,为什么还要费力的弄出一套小程序体系呢?或者换个问题来问,小程序能实现什么web无法实现的功能呢?

小程序真正无法被标准web替代的特性是两个:

  1. 生态隔离,小程序使用微信定义的一套运行时框架,无法在其他应用中运行,这样就可以构建出一套微信独有的生态系统,形成护城河。如果使用纯web实现,那么几乎任意APP都能运行,就会把微信建立的生态免费给其他应用享用,这显然不是微信愿意看到的。
  2. 审核机制,或者叫安全性。 小程序所有代码必须打包提交给微信审核,并且不允许加载远程JS,这样可以从技术层面限制APP的功能,你要做的任何功能都必须经过微信同意,避免挂羊头卖狗肉的情况。如果是纯web,除了一个域名外,很难限制其内部功能,难保今天提交的是一个小游戏审核通过了,明天给换成了一个菠菜网站。

而这两个恰恰是web的优势:跨平台和动态更新。微信借助web标准实现了小程序的跨平台和动态化,但是通过一套全新的小程序生态限制开发者享用这两个优势。
归根结底,小程序要解决的,本质上不是一个技术问题,而是一个商业问题。小程序可以借助web的能力实现,是因为web生态已经足够繁荣,它也可以借助Java等任何其他技术体系,甚至自研一套,只要这套技术体系能达到它的目的即可。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant