首页 > 编程语言 >到底什么是小程序插件?

到底什么是小程序插件?

时间:2023-05-05 15:26:23浏览次数:45  
标签:控件 插件 到底 程序 开发 开发者 组件

最近和小伙伴交流,时常发生插件、组件、控件等概念混淆的情况,因此导致经常会错意。感觉还是很有必要带大家整理清楚的,今天就来跟大家来聊一聊插件、组件、控件的区别。

什么是插件

先按照官方的一些解释来看看插件的概念描述?

微信小程序官方描述:

插件,是可被添加到小程序内直接使用的功能组件。开发者可以像开发小程序一样开发一个插件,供其他小程序使用。同时,小程序开发者可直接在小程序内使用插件,无需重复开发,为用户提供更丰富的服务。

支付宝小程序官方描述:

插件是一种独立封装的软件模块,用来承载企业的能力或者服务,便于宿主小程序进行快捷集成。和普通组件不同的是,插件拥有独立的应用和独立的上下文,即数据、业务逻辑和服务端连接。当小程序应用需要使用插件的服务时,加载和运行插件,以使得插件访问自身的数据与服务端,完成对应的服务;而在小程序不需要使用插件的服务时,只需要运行小程序应用本身,访问小程序应用自身的数据服务端。插件和宿主小程序上下文是互相隔离的,即小程序应用不能直接访问插件的数据,也不能获得插件的权限,反之,插件也不能直接访问小程序的数据,也不能获得小程序的权限。

 

插件vs组件vs控件

为了进一步直观的了解插件、组件、控件之间具体的差异,我用一张表罗列了彼此之间的对比:

名称

英文单词

概念

显著的特点

插件

plugin & addin

算是组件的一种,在原有的应用程序中,已经给它们预留了接口。接口,简言之就是一种规范。

可以被开发者添加到小程序内直接使用的,能为用户提供具体服务的功能组件。

即插即用,支持动态的插入

在应用程序中已经预留接口的组件就是插件

可直接提供服务

可以独立进行发版,开发和升级更高效

运行时框架提供上下文隔离机制,插件内部的数据安全性更有保障

组件

component

提起组件我们不应该把他和具体的技术,什么dll文件,ocx控件,activex等等联系起来,因为组件仅仅是一个概念,如果非要解释的话,那就是凡是在软件开发中用到了软件的复用,被复用的部分都可以称为组件,组件是给开发者提供的轮子,不能直接提供服务。

参考机械制造中的“零件”,它好比是组装在一起的满足一个功能单元的一组元件。

仅是一个宽泛的概念

是给开发者提供的轮子,不能直接提供服务

控件

control & widget

也算是组件的一种,顾名思义,用来给用户做控制的。做用户图形界面设计时,有一些“复选框”、“按钮”之类的东西,这些都是控件。所以可以把它理解为用来做可视化的一类组件。

是“可视化”的,例如表单中的按钮、文本框等

小程序插件的价值

小程序插件,顾名思义是用于小程序运行调用的插件,小程序插件的广泛推广使用可以实现“开发资源共享”、“可便捷强化能力”、“商业化变现”等积极作用

1.开发共享,避免重复开发

在小程序内使用插件,可免去小程序开发者重复开发,一定程度上减少了开发工作量。例如:在小程序可以使用地图插件,开发者无需在小程序内独立开发地图内导航、出行指引、周边服务推荐等能力,直接使用地图插件即可为用户提供导航服务,免去很大量的开发工作。

2.强化能力,打造卓越产品

我们自己的技术、精力和成本都是非常有限的,开发出来的小程序的能力可能比较单一,如果想要应用到更多更复杂的功能就能够通过快速引入小程序插件的方式增强自己的产品能力。例如:想要在小程序实现产品的销售,使用店铺插件,用户即可通过小程序完成产品预订、购买、评价等功能。

3.商业变现,能力有目共睹

插件支持商业订购和结算,质量优秀和普适性较高的小程序插件可以借助各大平台的小程序插件市场对开发的插件进行封装售卖,便于开发者进行服务变现和商业化。

小程序插件的技术原理

插件本身的技术原理并不复杂。插件的木质是在不修改程序主体的情况下对软件功能进行加强,当插件的接口被公开时任何人都可以自己制作插件来解决一些操作上的不便或增加一些功能。

一个插件框架包括两个部分:主程序(host)和插件((plug-in)。主程序即是“包含”插件的程序,插件必须实现若干标准接口,由主程序在与插件通信时调用。

小程序插件代码由一些自定义组件和 JS 代码文件构成,插件开发者在发布插件时,这些代码被上传到后台保存起来。当小程序使用插件时,使用者需填写插件的 AppID 和版本号,就可从后台获取相应的插件代码。小程序代码编译时,插件代码会被嵌入到小程序中,与小程序一起编译运行。

插件商业变现的建议

目前开发者完成小程序插件的开发后,可以将自己的插件上架到微信小程序插件市场、支付宝小程序插件市场、FinClip 小程序应用市场等。前两者不言而喻是最大的小程序生态市场,变现的能力较为强劲,而 FinClip 则主要是面向 B 端用户群的小程序容器技术,利用其技术一些企业可以在自有 App 运行小程序,或者将自有小程序转化为 App ,这两类场景也都有集成小程序插件的场景,也同样具有一定的潜力。

标签:控件,插件,到底,程序,开发,开发者,组件
From: https://www.cnblogs.com/lydia77/p/17374189.html

相关文章

  • Vue3 开发必备的 VSCode 插件
    分享6个Vue3开发必备的VSCode插件,可以直接用过VSCode的插件中心直接安装使用。1、Volar相信使用VSCode开发Vue2的同学一定对Vetur插件不会陌生,作为Vue2配套的VSCode插件,它的主要作用是对Vue单文件组件提供高亮、语法支持以及语法检测。而随着Vue3正式......
  • 上门预约小程序|上门服务小程序开发|上门服务软件开发功能
    上门预约小程序你听说过吗?这几年人们的生活水平不断提升,大家对于上门服务的需求也越来越大,因此上门服务小程序也成为人们生活中不可缺少的一部分,比如一些需要到店服务的如输液、家政、足疗养生等,正在如火如荼的转型上门服务不仅可以提高工作人员的工作效率还可以让用户更方便的下单......
  • 高级Java程序员必问,Redis事务终极篇
    1.简介1.1什么是Redis事务Redis事务(Transaction)通过将多个Redis操作封装为一个原子性的操作序列,确保在事务执行过程中,不会受到其他客户端的干扰。从而在保证数据一致性的同时,协调并发,提高数据操作的效率和性能。1.2Redis事务的应用场景在分布式系统和高并发场景下,事务处理......
  • 2023.5.5 面向对象程序设计实验报告
    实验项目名称:模板一、实验目的1、熟练掌握函数模板和类模板的定义格式。2、熟练运用函数模板和类模板解决实际问题。二、实验内容1、复数类Complex有两个数据成员:a和b,分别代表复数的实部和虚部,并有若干构造函数和一个重载-(减号,用于计算两个复数的距离)的成员函数。要求设计......
  • 微信小程序swiper添加左右切换按钮
    项目中需要使用swiper,需要添加左右切换的按钮,代码如下:wxml<view><blockwx:if="{{list.length>1}}"><van-iconbindtap="nextSwiper"name="arrow"class="icon-right"color="#c09d75"/><van-iconbi......
  • 探索时代风口,别错过了小程序,再错过元服务
    “依托鸿蒙分布式特征,打破不同设备系统间壁垒,经过智慧化升级,蘑菇棚室相关种植环境参数能够在手机、平板等设备的服务卡片上实时显示……”“借助HarmonyOS的多样化卡片,一课表能够在设备桌面上随意设置与堆叠,直观呈现,帮助学生快速查看上课时间和地点,为成千上万人提供方便……”“......
  • 小程序和外卖app系统如何协同发力,促进用户增长
    小程序作为一种轻量级应用,也逐渐被广泛应用于各个领域。如何让小程序和外卖APP系统协同发力,促进用户增长呢?本文将结合代码分析,从以下几个方面进行阐述:1.提供一致性的用户体验对于用户来说,最重要的是一个良好的用户体验。为了提供一致的用户体验,我们可以在小程序和外卖APP中采用相同......
  • 完善接口:输出值班医生的电话,查询小程序的密钥
    接口的开发:输出值班医生的电话我发现我之前创建的管理员的表是多余的,我可以直接借用若依自带的表来做。其中还有这角色,正好符合添加值班医生,而且后台管理的前端页面是有着功能的,这样更为方便,也可以添加值班医生的信息,我将自带的实体类导入到项目代码的指定的位置。根据角色和管......
  • obsidian 日记本倒序汇总 获取标题显示 插件dataviewjs list
    obsidian日记本倒序汇总获取标题显示插件dataviewjslist//dataviewjsfunctionremoveDuplicate(arr){returnarr.filter((item,index)=>{returnarr.indexOf(item)===index})}constlist=dv.pages('"02日记本"').file.lists.map(item=>{ retu......
  • 从七个方面聊聊Linux到底强在哪
    从事计算机相关行业的同学不难发现,身边总有一些朋友在学习linux,有的开发同学甚至自己的电脑就是它。经常听他们说linux如何好用等等。那么linux到底好在那里,能让大家如此喜欢。这也是我经常问自己的一个问题。下面我将通过以下七点来为大家阐述linux的巨大优势。下面我将通过以下7......