说说你对微信小程序的理解

728 阅读6分钟

小程序是什么?

  • 小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用

  • 体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载

注意的是,除了微信小程序,还有百度小程序、微信小程序、支付宝小程序、抖音小程序,都是每个平台自己开发的,都是有针对性平台的应用程序

微信小程序?

微信正式推出了小程序,允许外部开发者在微信内部运行自己的代码,开展业务截至目前,小程序已经成为国内前端的一个重要业务,跟 Web 和手机 App 有着同等的重要性。

⼩程序并⾮凭空冒出来的⼀个概念,当微信中的 WebView 逐渐成为移动 Web的⼀个重要⼊⼝时,微信就有相关的 JS-SDK

JS-SDK

JS-SDK 解决了移动⽹⻚能⼒不⾜的问题,通过暴露微信的接⼝使得 Web 开发者能够拥有更多的能⼒。

然⽽JS-SDK的模式并没有解决使⽤移动⽹⻚遇到的体验不良的问题

因此需要设计⼀个⽐较好的系统,使得所有开发者在微信中都能获得⽐较好的体验:

  • 快速的加载
  • 更强⼤的能⼒
  • 原⽣的体验
  • 易⽤且安全的微信数据开放
  • ⾼效和简单的开发

这些是JS-SDK做不到的,需要设计一个全新的小程序系统,提供一个简单、高效的应用开发框架和丰富的组件及API,帮助开发者开发出具有原生体验的服务

区别

小程序可以视为只能用微信打开和浏览的H5,小程序和网页的技术模型是一样的,用到的 JavaScript 语言和 CSS 样式也是一样的,只是网页的 HTML 标签被稍微修改成了 WXML 标签

因此可以说,小程序页面本质上就是网页

H5小程序APP
运⾏环境浏览器基于浏览器内核重构的内置解析器操作系统(ios/Android)
系统权限几乎没有什么系统权限,严重依赖于浏览器的能力比APP少 (小程序能力依赖于微信客户端的能力,而微信的能力又依赖于用户是否将APP的能力授权给微信)最多最全面,但有些属于隐私需要用户授权才能调用。(安卓与IOS也有许多差异:Android类似于Windows,App几乎可读取本地所有文件;iOS端App无法读取本地除图片和视频外的其他文件)
渲染机制H5的渲染机制是基于浏览器的,即HTML5和CSS3技术。在浏览器中,H5页面由浏览器内核进行解析,生成DOM树和CSSOM树,然后通过JavaScript脚本进行动态渲染。由于H5的渲染机制需要依赖于浏览器,所以受到了浏览器的限制,可能会出现兼容性问题或性能问题。小程序的渲染机制是基于Webview的,采用的是类似于iOS的WKWebview或Android的WebView的技术。小程序将HTML、CSS和JavaScript代码打包成一个wxss文件和一个wxml文件,在运行时解析这两个文件,并渲染到Webview上。由于小程序的渲染机制较为简单,性能比较高,用户体验较好。App的渲染机制是原生的,即通过操作系统提供的UI框架进行渲染。在iOS系统中,使用的是UIKit框架,在Android系统中,使用的是Android UI框架。由于App的渲染机制是原生的,所以性能比较好,用户体验也比较好。但是开发成本也相对较高,需要针对不同的操作系统进行开发。

说说小程序优缺点?

优点:

  • 随搜随用,用完即走:使得小程序可以代替许多APP,或是做APP的整体嫁接,或是作为阉割版功能的承载体
  • 流量大,易接受:小程序借助自身平台更加容易引入更多的流量
  • 安全
  • 开发门槛低
  • 降低兼容性限制

缺点:

  • 用户留存:及相关数据显示,小程序的平均次日留存在13%左右,但是双周留存骤降到仅有1%
  • 体积限制:微信小程序只有2M的大小,这样导致无法开发大型一些的小程序
  • 受控微信:比起APP,尤其是安卓版的高自由度,小程序要面对很多来自微信的限制,从功能接口,甚至到类别内容,都要接受微信的管控

知识支撑

什么是SDK?

SDK是“Software Development Kit”的缩写,中文意为“软件开发工具包”,是一组用于开发特定软件或应用程序的工具、库、文档和示例代码的集合。SDK通常由软件开发公司或第三方开发者提供,以便其他开发者可以使用这些工具来构建自己的应用程序或软件。

SDK通常包含以下组件:

  • 编程语言的API和库:

    为了能够与应用程序交互,SDK通常包含可供开发人员调用的应用程序接口(API)和库文件。

  • 工具:

    SDK还包括一些辅助开发的工具,例如调试器、编译器、IDE、模拟器等等。

  • 示例代码:

    SDK通常包含一些示例代码,用于展示如何使用API和库来构建应用程序或软件。

  • 文档:

    SDK通常会提供一些文档,用于说明API和库的使用方法和一些最佳实践,这些文档包括用户手册、API参考、编程指南等。

SDK的作用是简化软件开发的过程,使开发人员能够更快、更轻松地构建应用程序或软件,因为SDK提供了开发所需的工具、文档和代码,使得开发人员可以更快地上手并迅速开发出高质量的应用程序。SDK通常被广泛用于移动应用程序、游戏、Web应用程序和桌面软件等领域。
最后一句

学习心得!若有不正,还望斧正。希望掘友们不要吝啬对我的建议。