有哪些关于小程序运行时的SDK吗
1500
2022-10-16
本文主要是深入解读小程序SDK是什么?什么是SDK
首先来看看概念:小程序SDK(Software Development Kit)是用于开发和扩展小程序的工具集合。可以理解为一套工具箱,专门帮助开发者建立和定制小程序应用程序。这些工具包括了开发小程序所需的各种代码、接口和文档。通过SDK,开发者能够更方便地创建小程序,因为SDK提供了必要的工具和指导,让他们能够快速开发出符合需求的应用程序。
通常来说,小程序SDK包含了开发、测试和部署小程序所需的各种工具、库和文档。
开发工具和文档:
IDE(集成开发环境):提供用于编写、调试和预览小程序代码的工具。开发者可以在IDE中编写代码,实时查看效果,并进行调试和优化。
API文档:详细描述小程序支持的各种接口和方法,开发者可以根据文档了解如何使用平台提供的功能和服务。
组件库和模板:
UI组件库:提供预先设计好的用户界面组件,如按钮、输入框、列表等,开发者可以直接在小程序中使用这些组件,节省开发时间并保持界面风格的一致性。
模板:预先设计好的小程序页面结构和布局,开发者可以基于模板快速创建新的页面或功能模块。
调试和测试工具:
模拟器:用于在开发过程中模拟不同设备和屏幕尺寸上的小程序运行情况,帮助开发者检查和调整布局和响应性。
调试工具:提供错误日志、性能分析和实时监控功能,帮助开发者识别和解决小程序中的问题。
部署和发布工具:
打包工具:将小程序代码和资源打包成发布所需的格式,以便上传到小程序平台进行审核和发布。
发布管理:提供界面和工具来管理小程序的版本控制、发布和回滚,确保发布过程的顺利和可控性。
扩展和集成接口:
第三方服务接口:与其他服务和平台进行集成,如支付接口、社交分享、地图服务等,通过SDK提供的接口和工具实现功能扩展。
小程序SDK 通常由小程序平台提供,用于帮助开发者创建和定制小程序,并与平台的其他功能进行集成。其设计目的是为了简化和加速小程序开发过程。不同的小程序平台可能会提供不同特性和功能的SDK,以适应不同开发者的需求和平台特性。
1、微信小程序SDK
最最出名的肯定是微信的小程序SDK,由微信官方提供,专用于开发和运行微信小程序。微信官方文档称其为“基础库”,它包括了一整套的开发框架、API、组件以及开发工具,支持开发者利用微信的能力,如微信支付、微信登录等。微信小程序主要在微信内运行,与微信账号体系紧密集成。
2、FinClip小程序SDK
FinClip是一款小程序容器,集成FinClip SDK后,不同的设备如移动App、电脑、电视、车载主机等都能快速获得运行小程序的能力。FinClip不仅提供了小程序SDK,还提供了小程序管理后台,支持开发者将已有小程序迁移部署在自有App中。值得一提是,FinClip兼容微信小程序语法,也是目前市面上兼容微信做得最好的第三方SDK,并且提供了全套的小程序开发管理套件。
3、支付宝小程序SDK
作为国内互联网巨头,支付宝也提供了自己的小程序开发平台和SDK,允许开发者创建可在支付宝App内运行的小程序。
4、字节跳动小程序SDK
字节跳动(今日头条、抖音等App的母公司)也推出了自己的小程序平台和SDK。
5、百度智能小程序SDK
百度智能小程序平台允许开发者创建可在百度App中运行的小程序,并提供了相应的SDK支持。
6、快应用开发平台
快应用是小程序类似的轻应用技术,快应用是由多家手机厂商联合推出的一种新型应用形态,快应用开发平台提供了相应的开发工具和SDK,帮助开发者快速开发和发布快应用。不过,快应用更多地面向系统功能和硬件接口的应用,例如直接调用手机相机、传感器等功能。与小程序相比在开发技术、运行环境、分发方式和使用场景上有显著的区别。
7、uni-app SDK
uni-app SDK是为原生App打造的框架,可以运行基于uni-app开发的小程序前端项目,帮助原生App快速获取小程序的能力。uni-app是一个使用Vue.js开发所有前端应用的框架,允许开发者编写一套代码,发布到多个平台。
不管是微信、字节、阿里还是百度,互联网巨头推出的小程序SDK,通常仅在其自家平台内使用,提供与平台紧密集成的开发体验和特定功能,例如微信支付、微信登录等。
第三方小程序SDK通常由独立的技术公司或团队开发,可能支持跨多个平台或特定平台的小程序开发,但不一定局限于单一的互联网巨头生态。例如,FinClip SDK支持在不同设备上运行小程序,包括iOS、Android、Windows、macOS、Linux等。不过,第三方SDK的更新和维护可能更依赖于开发团队的持续投入和社区的支持。大家可以根据自己的具体需求、目标平台和预期的用户体验来做出决定。
小程序SDK:微信官方文档称其为“基础库”。这是一个很宽泛的名词,只是觉得很重要,但说不好它具体有什么作用。那么,“基础库”到底是什么东西?
小程序基础库提供丰富的微信原生API,可以方便的调起微信提供的能力,如获取用户信息,本地存储,支付功能等。这是官方对于“基础库”的定义。我们知道小程序的开发十分类似于现在的移动web开发,而移动web能使用到手机系统功能,app特色功能是非常有限的,而“基础库”的作用就是为了拓展小程序这方面能力,让其功能与表现更接近原生app。
JS-SDK:我们发现“基础库”的功能和微信的 JS-SDK 十分类似,顺便再回顾下微信 JS-SDK 又是做什么的呢?
微信 JS-SDK 是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包。通过使用微信 JS-SDK ,网页开发者可借助微信高效地使用拍照、选取图片、语音、位置等手机系统的能力,同时可以直接使用微信分享、扫一扫、卡券、支付等微信特色功能,为微信用户提供更优质的网页体验。
小程序基础库与JS-SDK的共同点:
为当前应用调起手机系统能力和微信能力;
都需要基础库的支持;
小程序基础库与JS-SDK的不同点
支持的API:小程序基础库对系统能力和微信能力做了更全面的封装,包括网络请求、存储等,而网页版JS-SDK相应的功能直接调用window能力;
引入方式:小程序基础库直接集成到微信的不同版本中,JS-SDK是以一个js文件的形式被引入项目里;
小程序基础库查看方法
官方API :
getSystemInfo、getSystemInfoSync。 wx.getSystemInfo({ success: function(obj) { obj = obj || {}; console.log('SDKVersion: ', obj.SDKVersion); }, fail: function() { console.error('[error]: getSystemInfo failed.'); } });
返回对象中SDKVersion的值就是该微信版本携带的小程序基础库的版本号。注意:该属性在小程序版本 v1.1.0 才开始支持。
小程序基础库与客户端之间的关系
小程序的能力需要微信客户端来支撑,每一个基础库都只能在对应的客户端版本上运行,高版本的基础库无法兼容低版本的微信客户端。
官方的这种说法存在一些问题。现在基础库版本和客户端版本并不是一一对应关系。客户端可以主动升级小程序基础库版本达到灰度上线新版的目的,所以必然存在一个客户端版本对应多个基础库版本的情况。
小程序基础库更新时机
为了避免新版本的基础库给线上小程序带来未知的影响,微信客户端都是携带 上一个稳定版 的基础库发布的。
在新版本客户端发布后,我们再通过后台灰度新版本基础库,灰度时长一般为 12 小时,在灰度结束后,用户设备上才会有新版本的基础库。以微信 6.5.8 为例,客户端在发布时携带的是 1.1.1 基础库(6.5.7上已全量的稳定版)发布,在 6.5.8 发布后,我们再通过后台灰度 1.2.0 基础库。笔者使用的IOS设备更新到v6.5.8时对应的 SDKVersion 是 1.2.0, 但截止发稿日,该值已经变成了 1.2.4。
“细思恐极”,如果我们已经完成一台装有 6.5.4 版本微信的Oppo手机对小程序的兼容测试,很有可能过几天这台Oppo手机将小程序基础库更新到新版本导致小程序不可用。建议:了解产品的用户手机微信版本分布,确定回归覆盖范围,完成回归测试。
上文就是小编为大家整理的深入解读-小程序SDK,SDK是什么?什么是SDK。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~