FinClip为企业提供小程序生态圈技术产品,开发者可在FinClip小程序开发帮助中心找到相关FinClip小程序指引

# 小程序与传统开发的对比

相比传统开发,小程序能够帮助开发者获得:

  • 快速的加载
  • 更强大的能力
  • 原生的体验
  • 易用且安全的微信数据开放
  • 高效和简单的开发

# 1. 小程序与普通网页开发的区别

小程序的主要开发语言是JavaScript,小程序的开发同普通的网页开发相比有很大的相似性。对于前端开发者而言,从网页开发迁移到小程序的开发成本并不高,但是二者还是有些许区别的。

​网页开发渲染线程和脚本线程是互斥的,这也是为什么长时间的脚本运行可能会导致页面失去响应,而在小程序中,二者是分开的,分别运行在不同的线程中。网页开发者可以使用到各种浏览器暴露出来的 DOM API,进行 DOM 选中和操作。

如上文所述,小程序的逻辑层和渲染层是分开的,逻辑层运行在 JSCore 中,并没有一个完整浏览器对象,因而缺少相关的DOM APIBOM API。这一区别导致了前端开发非常熟悉的一些库,例如jQueryZepto等,在小程序中是无法运行的。同时JSCore的环境同NodeJS环境也是不尽相同,一些 NPM 的包在小程序中也是无法运行的。

​网页开发者需要面对的环境是各式各样的浏览器,PC 端需要面对IEChrome等,在移动端需要面对SafariChrome以及iOSAndroid系统中的各式WebView

​网页开发者在开发网页的时候,只需要使用到浏览器,并且搭配上一些辅助工具或者编辑器即可。小程序的开发则有所不同,需要经过申请小程序帐号、安装小程序开发者工具、配置项目等等过程方可完成。

# 2. 小程序与 H5,原生应用的对比

# 2.1 H5 移动应用

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

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

# 2.2 原生应用

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

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

# 2.3 混合应用

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

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

# 2.4 小程序

严格意义上来说,小程序并不属于以上 3 种应用的任何一种。小程序主要通过JavaScriptCSS这种常见的前端技术进行开发,但又没有完全使用HTML进行实现,在不同的操作系统中,

JavaScript代码分别运行在iOSJavaScriptCoreAndroidX5 JSCore中,各家小程序平台或多或少都有一部分自研的核心,因此渲染视图层的组件也有所不同。

© 2022 FinClip with ❤

👋🏻 嘿,你好!

「FinClip」是一套基于云原生框架设计的小程序容器。能够让任何移动应用在集成小程序SDK之后,获得可用、安全的小程序运行能力。

>> 点我免费注册体验

查看产品文档
了解与 FinClip 相关的一切信息

产品博客 👈  了解产品更新与核心功能介绍
资源下载 👈  获取小程序 SDK 与开发工具
文档中心 👈  查询 FinClip 小程序开发指南与答疑

商务咨询热线
预约 FinClip 产品介绍,咨询商务报价或私有化部署事宜

400-066-00210755-86967467

获取产品帮助
联系 FinClip 技术顾问,获取产品资料或加入开发者社群

联系线上
人工客服

或 👉  点击这里,提交咨询工单

填写 FinClip 问卷抽缤纷夏日盲盒
Hi,这里是我们为 FinClip 用户准备的一封调研问卷,期待您的参与,您的反馈和建议,将指引 FinClip 未来前进的方向。