小程序是什么?
-
小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用
-
体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载
注意的是,除了微信小程序,还有百度小程序、微信小程序、支付宝小程序、抖音小程序,都是每个平台自己开发的,都是有针对性平台的应用程序
微信小程序?
微信正式推出了小程序,允许外部开发者在微信内部运行自己的代码,开展业务截至目前,小程序已经成为国内前端的一个重要业务,跟
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应用程序和桌面软件等领域。
最后一句
学习心得!若有不正,还望斧正。希望掘友们不要吝啬对我的建议。