当前位置:网站首页>App快速开发建设心得:小程序+自定义插件的重要性
App快速开发建设心得:小程序+自定义插件的重要性
2022-08-05 04:11:00 【speedoooo】
近年来,得益于技术的迅猛发展,具体体现之一就是插件技术、分层技术等现代技术的快速进步。
什么是插件技术?
插件技术指的是一种应用程序,遵循程序接口完成相应的编写,再规范接口插件,达到拓展程序功能的目的。现在许多软件开发的过程中均包含了插件结构。
当前软件开发中运用到的插件技术主要有以下两种类型:
1、组件对象的模型插件。该技术又被简称为COM,利用该模型可以直接定义程序接口,而不需了解插件功能的整个实现过程,同时也能达到不同插件间通信的目的---此类插件也是市面上使用最广泛的插件类型。
2、脚本插件。将插件逻辑运用编程语言转换为脚本代码(这里的编程语言可以是通用语言,也可以是自行开发)当前脚本插件的主要语言形式为XML,在利用过程中具有简便、易于操作等优势,同时也使得脚本插件具备一定的风险漏洞。
使用插件技术在软件设计中有什么好处?
使用插件技术能够在分析、设计、开发、项目计划、协作生产和产品扩展等很多方面带来好处:
1、结构清晰、易于理解。由于借鉴了硬件总线的结构,而且各个插件之间是相互独立的,所以结构非常清晰也更容易理解。
2、易修改、可维护性强。由于插件与宿主程序之间通过接口联系,就像硬件插卡一样,可以被随时删除,插入和修改,所以结构很灵活,容易修改,方便软件的升级和维护。
3、可移植性强、复用力度大。因为插件本身就是由一系列小的功能结构组成,而且通过接口向外部提供自己的服务,所以复用力度更大,移植也更加方便。
4、结构容易调整。系统功能的增加或减少,只需相应的增删插件,而不影响整个体系结构,因此能方便的实现结构调整。
5、插件之间的耦合度较低。由于插件通过与宿主程序通信来实现插件与插件,插件与宿主程序间的通信,所以插件之间的耦合度更低。
6、可以在软件开发的过程中修改应用程序。由于采用了插件的结构,可以在软件的开发过程中随时修改插件,也可以在应用程序发行之后,通过补丁包的形式增删插件,通过这种形式达到修改应用程序的目的。
7、灵活多变的软件开发方式。可以根据资源的实际情况来调整开发的方式,资源充足可以开发所有的插件,资源不充足可以选择开发部分插件,也可以请第三方的厂商开发,用户也可以根据自己的需要进行开发。
App快速开发离不开「Hybird」混合开发模式
自从小程序容器技术被应用到微信中,整个微信的小程序生态便被带火了。于是乎,就有企业开始研究,能不能将小程序容器技术开发出来,应用到别的App中呢?还真有,例如FinClip。
「Native+H5」和「Native+小程序」两种混合式APP开发模式相比之下,「Native+小程序」的开发模式更优。技术优势包括:
具备跨平台的能力,一套代码可以在 iOS 与 Android 两个平台中运行;
远超过 H5 的体验(支持本地缓存,Webview,有丰富的组件与支持库);
能获取更多系统权限,完成更加丰富的产品设计;
可以避免 DOM 泄露(不使用常用的 window 对象与 document 对象);
包尺寸有效减少,节省流量和存储
服务不再受发版所限制,支持热更新
小程序+插件+App,高体验的组装式App诞生
如果从体验上说,采用原生开发的App体验上肯定是最好的。但市场上的用户需求日新月异,业务发展也需要跟得上用户的需求迭代速度,于是乎,「跨端」理念就开始映入了程序员的眼帘。从做程序员的第一天开始,就要接受跨端的“洗礼”,换句话说就是要快!而且质量好!
小程序这种介乎于H5和原生之间的语法便诞生了。
与此同时,软件的快速开发,其本质是将重复的底层功能提取出来,已组件的形式嵌入到框架之中,力求最大程度的减少开发人员的开发难度,节省开发时间。一个企业要做到面面俱到,几乎是不可能的,因为用户的需求千差万别,要想尽可能的做到尽善尽美,必须要在开发技术选型上下足功夫,选择一些具有一定开放性的开发平台,对于这种“开放性”的理解,自定义插件必不可少。
稍微调研了下FinClip,他们有自己的小程序插件市场,Finclip小程序应用市场可以了解一下。一些第三方原生插件也有相当程度的自定义支持,例如声网(Agora)插件
自定义插件在快速开发平台中的重要作用,以传统开发方式为基础,以敏捷思想作指导,这样开发出来的产品可拓展性强,用户满意度也会很高。
边栏推荐
- [8.3] Code Source - [meow ~ meow ~ meow~] [tree] [and]
- 机器学习概述
- MySql的索引学习和使用;(本人觉得足够详细)
- No regrets, the appium automation environment is perfectly built
- DEJA_VU3D - Cesium功能集 之 056-智图Arcgis地图纠偏
- Dive into how it works together by simulating Vite
- 七夕节赚徽章拉
- 银行数据采集,数据补录与指标管理3大问题如何解决?
- 数组常用方法总结
- UI自动化测试 App的WebView页面中,当搜索栏无搜索按钮时处理方法
猜你喜欢
新人如何入门和学习软件测试?
How to discover a valuable GameFi?
Spark Basics [Introduction, Getting Started with WordCount Cases]
UE4 通过互动(键盘按键)开门
使用IDEA连接TDengine服务器
UE4 为子弹蓝图添加声音和粒子效果
Walter talked little knowledge | "remote passthrough" that something
多御安全浏览器 V10.8.3.1 版正式发布,优化多项内容
UE4 通过与其它Actor互动开门
Hard power or soft power, which is more important to testers?
随机推荐
Solana NFT开发指南
35岁的软件测试工程师,月薪不足2W,辞职又怕找不到工作,该何去何从?
[Geek Challenge 2019]FinalSQL
BI业务分析思维:现金流量风控分析(二)信用、流动和投资风险
炎炎夏日教你利用小米智能家居配件+树莓派4接入Apple HomeKit
4T硬盘剩余很多提示“No space left on device“磁盘空间不足
[8.2] Code Source - [Currency System] [Coins] [New Year's Questions (Data Enhanced Edition)] [Three Stages]
四位数显表头设计
UE4 第一人称角色模板 添加蹲伏功能
Use CH341A to program external Flash (W25Q16JV)
[GYCTF2020]EasyThinking
概率论的学习和整理8: 几何分布和超几何分布
UE4 在游戏运行时更改变量 (通过鼠标滑轮来更改第一人称角色的最大行走速度)
机器学习概述
Android Practical Development - Kotlin Tutorial (Introduction - Login Function Implementation 3.3)
flink读取mongodb数据源
A 35-year-old software testing engineer with a monthly salary of less than 2W, resigns and is afraid of not finding a job, what should he do?
大佬们,我注意到mysql cdc connector有参数scan.incremental.sna
Learning and finishing of probability theory 8: Geometric and hypergeometric distributions
bytebuffer 内部结构