程序与传统开发的对比

网友投稿 316 2024-06-19

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

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

    快速的加载

  • 更强大的能力

  • 原生的体验

  • 易用且安全的数据开放

  • 高效和简单的开发

#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的专有语言Objective-C(或 Swift)Java(或 Kotlin)进行实现,大多我们所常见的国民应用,比如微信,支付宝等都属于这种原生应用。

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

#2.3 混合应用

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

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

#2.4 小程序

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

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


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:小程序发展史
下一篇:小程序产品名词汇总表
相关文章

 发表评论

暂时没有评论,来抢沙发吧~