banner
Hi my new friend!

小程序

Scroll down

浅谈小程序


在 2016 年的「微信公开课 Pro」演讲中,微信事业群总裁张小龙这样描述了小程序的前景与未来:

“ 小程序是一种不需要下载安装即可使用的应用,它实现了应用 “触手可及” 的梦想,用户扫一扫或者搜一下即可打开应用。也体现了 “用完即走” 的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无须安装卸载 “。

小程序刚发布的时候要求压缩包的体积不能大于 1M,否则无法通过,在 2017 年 4 月做 了改进,由原来的 1M 提升到 2M;

2017 年 1 月 9 日 0 点,万众瞩目的微信第一批小程序正式低调上线。

什么样的应用适合使用小程序开发?

虽然小程序市场时至今日依然是一片蓝海,但我想也不是所有应用「都可以,都应该」使用小程序开发的。

基于我们的经验与积累来说,符合「逻辑简单,使用低频,对性能要求不极致」的应用场景,更加适合使用小程序进行研发。

逻辑简单:是指应用的操作逻辑并不十分复杂,各类生活服务(如打车,订餐,查地图与导航等等)都需要给用户提供简单清晰的操作逻辑,而这一类也天然的符合起初小程序「用完即走」的定义,因此十分符合使用小程序研发。一些逻辑复杂的应用场景想要通过小程序进行适配,就可能会面临更多的设计与研发困难,同时在性能和体验也可能会面对更多需要解决的问题。

使用低频:是指小程序的使用频率不应该太高,比如社交类的钉钉或飞书,金融类的掌上生活或浦大喜奔,媒体类的网易云音乐或斗鱼都不太适合使用小程序进行重新设计。对于用户使用的频率较高的应用来说,直接打开应用进行体验的步骤肯定最快的,此外由于某些行业的特殊性质(比如具备交易,支付等能力)要求,对于安全性与保密性的首选风险判断原则,也不宜使用常见的小程序进行设计。

对性能要求不极致:是指由于小程序始终存在于某个独立应用(也被称为宿主应用)中,考虑到目前的性能与研发所限制,暂时不太适合开发对于这两者有更高要求的移动应用。比如把原神,王者荣耀这样的游戏应用通过小程序进行重新设计,在目前来说肯定是不现实的。

当然,随着相关研发实力的增强与产业生态的逐渐补充,也有越来越多的「不可能」变为了「可能」,比如华西证券的「华彩人生」,浦发银行的「浦大喜奔」,某省的移动警务平台等客户都选择使用小程序容器方案进行落地实现

小程序与H5,原生应用有何区别?

很多朋友在了解小程序技术的时候,都会有这样的疑惑“到底与 H5,原生应用”这些技术相比,小程序具有哪些优势与劣势呢?

H5 移动应用

我们常说的 H5 其实也通常可以被视为一种 Web App,相比于我们在桌面端浏览器中打开的网页,主要是增加了一些响应式的设计与交互优化,从而使得这些网页更适合在移动端的浏览器中显示运行。既然是网页应用,那依然是基于 JavaScript,CSS 和 HTML 进行实现的,由于是基于各类前端技术栈进行实现,最大的好处就是快速、简单、方便,且有各种技术资料可以参考。

同样,H5 的缺点与优点也是并存的,比如由于技术已经很成熟了,对于前端经验欠缺的新人来说,面对各式各样的框架,模块、任务管理工具,UI 库可能会出现无从下手的问题;此外相比于原生应用,对于系统权限的获取(比如数据缓存能力,网络通信状态等)都显得比较鸡肋,当低性能的设备加载包含复杂逻辑的页面时,会出现明显的卡顿与延迟问题。

原生应用

原生应用也被叫做 Native App,相比于 H5 应用通过前端三大件进行实现不同,原生应用主要会采用 iOS 与 Android 的专有语言 Object-C(或 Swift),Java(或 Kotlin)进行实现,大多我们所常见的国民应用,比如微信,支付宝等都属于这种原生应用。

既然被叫做「原生应用」,就像操作系统的亲儿子一样,天然在性能与体验上具备优秀的潜质,也有组件库丰富,接口支持完善等各种优势特点。但原生应用最大的缺陷就是不能跨平台研发,以目前的主流市场为例,必须要支持 iOS 与 Android 两个主流平台。

混合应用

混合应用一般被称为 Hybrid App。简单来说,混合应用就是将原生功能封装成对应的 JS 接口,在前端使用 H5 来开发对应的 App (即 H5 作为内容+原生应用作为壳) ,看上去虽然是一个移动原生应用整体,但实际的页面还是网页,一套代码可以生成 iOS 与 Android 两种安装包,开发成本较低。

我们常见的淘宝,京东等应用由于更新与优化节奏都十分快速,为了更好的响应「贴近用户」的目标,应用中有的功能通过原生 Native 实现,有的功能则通过 H5 页面进行实现,这种应用就属于我们所说的混合应用。

小程序

严格意义上来说,小程序并不属于以上 3 种应用的任何一种。小程序主要通过 JavaScript 与 CSS 这种常见的前端技术进行开发,但又没有完全使用 HTML 进行实现,在不同的操作系统中,JavaScript 代码分别运行在 iOS 的 JavaScriptCore 与 Android 的 X5 JSCore 中,各家小程序平台或多或少都有一部分自研的核心,因此渲染视图层的组件也有所不同。

相比「 H5 移动应用」与「 移动原生应用」,小程序具备如下优势:

具备跨平台的能力,一套代码可以在 iOS 与 Android 两个平台中运行;
远超过 H5 的体验(支持本地缓存,Webview,有丰富的组件与支持库);
能获取更多系统权限,完成更加丰富的产品设计;
可以避免 DOM 泄露(不使用常用的 window 对象与 document 对象);
开发简单,上手成本低(比如 FinClip 提供了 FIDE 与开发文档);

觉得写的不错 就可怜可怜博主吧.

其他文章
cover
vue3内容
  • 22/10/16
  • 10:46
  • 3k
  • 11
cover
Nodejs内容
  • 21/10/22
  • 09:32
  • 3.4k
  • 15