首页 > 编程语言 >小程序开发中的插件、组件、控件到底有什么区别?

小程序开发中的插件、组件、控件到底有什么区别?

时间:2023-05-10 10:04:42浏览次数:40  
标签:控件 插件 程序开发 程序 开发 开发者 组件

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

由于在小程序开发中需要引入插件,但同事问起的时候还是被几个概念难住了,虽然能够了解大致的含义,但是对于每一个概念的理解又不是很深入,所以深入学习了解了几个“概念模糊”的知识点,可能大家和我一样对于插件、组件、控件 等概念还存在一定的混淆,或者没有完全了解清楚之间的区别,在这里也分享给大家。

到底什么是插件

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

微信小程序官方描述:

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

支付宝小程序官方描述:

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

插件vs组件vs控件

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

名称

英文单词

概念

显著的特点

插件

plugin & addin

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

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

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

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

可直接提供服务

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

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

组件

component

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

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

仅是一个宽泛的概念

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

控件

control & widget

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

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

小程序插件的价值

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

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

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

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

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

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

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

小程序插件的技术原理

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

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

插件商业变现的建议

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

标签:控件,插件,程序开发,程序,开发,开发者,组件
From: https://www.cnblogs.com/pingan0828/p/17387087.html

相关文章

  • 界面控件DevExtreme使用指南 - 控制折叠操作 & 键盘支持
    DevExtreme拥有高性能的HTML5/JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NETCore,jQuery,Knockout等)构建交互式的Web应用程序,该套件附带功能齐全的数据网格、交互式图表小部件、数据编辑器等。请注意:在开始本教程之前,请确保DevExtreme已安装在Angula......
  • 入门1-pytest测试框架功能及常用第三方插件介绍
    安装1. 安装Python2. 安装pytest: pipinstall-Upytest3. 安装常用插件pipinstall-rrequirement.txtPS: 常用插件:pytestallure-pytestrequestsPyYAMLpandasopenpyxljsonpathrequests_toolbeltPrettyTablepytest-htmlpytest-xdist https://docs.py......
  • quantumPLC与南京德宏数采仪通讯,citect画面日期时间控件和复选框控件控制趋势交互功能
    这一篇笔记我在新浪博客记录过,在这里也记录一遍,新浪博客地址quantumPLC与南京德宏数采仪通讯,citect画面日期时间控件和复选框控件控制趋势交互功能_来自金沙江的小鱼_新浪博客(sina.com.cn)最近上级管理部门要求在现场生产控制计算机上新建一幅画面,生产关键参数趋势、环保监测数......
  • #PowerBi 一分钟学会,在excel中,调用powerbi数据模型(Analyze in Excel插件)
    在工作中,我们常常使用excel来进行临时的数据处理服务,如果我们在powerbi中,已经有了完整的数据模型。那么我们都可以通过直接调用powerbi数据模型,来进行快速的数据分析,完成任务。今天我们就介绍一下,如何在excel中调用powerbi数据模型。第一步:下载插件输入以下网址,进入sqlbi的官......
  • C# 窗体控件ContextMenuStrip下拉项之间的分割线
    1.效果如图: 2.选中ContextMenuStrip控件,在Items属性中添加Separator 3. (其中第3,4步,通过上下箭头,摆置好你要分割的位置)原文链接......
  • 做了个vscode 小插件,用于修改window 的颜色以区分同时打开的不同工作区,快用起来吧!
    Coralizemarketplace/coralize以高效且便捷的方式自定义VisualStudioCode工作区窗口的状态栏、标题栏以及活动边栏等颜色!这将对那些需要同时打开多个vscode窗口/工作区的人非常有用。Coralize提供了一系列中国传统文化色彩,并搭配友好的用户界面。Customizethecolorscheme......
  • 几个常用切比较流行的WpordPress缓存插件,提高用户体验,以及优化SEO。
    W3TotalCache:这是一个免费的插件,可以通过缓存页面、数据库查询和对象来提高网站的速度,减少加载时间。WPSuperCache:这也是一个免费的插件,其主要功能是在服务器端生成静态HTML文件,以减少动态页面的生成次数。WPFastestCache:这个插件可以缓存页面、最小化HTML和CSS、延......
  • Win32 SDK TreeView 控件的基本用法,节点的编辑,拖动,添加,删除,弹出菜单
    TreeView控件老是用的稀里糊涂的,写个测试程序总结一下基本用法要注意的是控件是发通知给父窗口处理,因此消息中鼠标的坐标不是相对控件的,要从屏幕坐标转换来。程序是WIN32SDK向导生成的C语言框架。树的操作定义成一个类。 微软网站上TreeView_XXX宏的说明文档好多错误,应该是......
  • 自学c#基础第六课,常用控件label
    labellabel和linklabel控件,主要是设置里面可见属性、字体什么的,linklabel的话有点中后下划线样式LinkBehaviorlistbox主要介绍了里面的方法//清除listBox1列表//listBox1.Items.Clear();//添加listBox1元素//listBox1.......
  • 第6-1讲,Listbox 列表框控件
    Listbox列表框控件在与用户交互的过程成中,如果需要用户自己做出选择,可以使用列表框控件.importtkinterastk#创建一个窗口window=tk.Tk()#创建窗口的标题window.title("listbox")#设置窗口的大小window.geometry('500x400')#设置窗体的图标window.iconbitmap('../......