当前位置:网站首页>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)插件
自定义插件在快速开发平台中的重要作用,以传统开发方式为基础,以敏捷思想作指导,这样开发出来的产品可拓展性强,用户满意度也会很高。
边栏推荐
- [CISCN2019 华东南赛区]Web11
- 四位数显表头设计
- 商业智能BI业务分析思维:现金流量风控分析(一)营运资金风险
- 多御安全浏览器新版下载 | 功能优秀性能出众
- Event parse tree Drain3 usage and explanation
- UI自动化测试 App的WebView页面中,当搜索栏无搜索按钮时处理方法
- Spark Basics [Introduction, Getting Started with WordCount Cases]
- Cron(Crontab)--使用/教程/实例
- 日志导致线程Block的这些坑,你不得不防
- Ice Scorpion V4.0 attack, security dog products can be fully detected
猜你喜欢

多列属性column元素的可见性:display、visibility、opacity、垂直对齐方式:vertical-align、z-index 越大越显示在上层

Index Mysql in order to optimize paper 02 】 【 10 kinds of circumstances and the principle of failure

Spark基础【介绍、入门WordCount案例】
![[Software testing] unittest framework for automated testing](/img/80/caedd5cf6dd61c9d75475866613cac.png)
[Software testing] unittest framework for automated testing

使用IDEA连接TDengine服务器
![[MRCTF2020]Ezpop(详解)](/img/19/920877ca36d1eda8d118637388ab05.png)
[MRCTF2020]Ezpop(详解)

UE4 opens doors with overlapping events

事件解析树Drain3使用方法和解释

Qixi Festival code confession

Haproxy搭建Web群集
随机推荐
This year's Qixi Festival, "love vegetables" are more loving than gifts
Ice Scorpion V4.0 attack, security dog products can be fully detected
1007 Climb Stairs (greedy | C thinking)
包拉链不可用,但是是被另一个包。
四位数显表头设计
Event parse tree Drain3 usage and explanation
DEJA_VU3D - Cesium功能集 之 056-智图Arcgis地图纠偏
Learning and finishing of probability theory 8: Geometric and hypergeometric distributions
[Paper Notes] MapReduce: Simplified Data Processing on Large Clusters
银行数据采集,数据补录与指标管理3大问题如何解决?
Summary of common methods of arrays
[GYCTF2020]EasyThinking
第一次性能测试实践,有“亿”点点紧张
Redis key基本命令
Increasing leetcode - a daily topic 1403. The order of the boy sequence (greed)
There are a lot of 4T hard drives remaining, prompting "No space left on device" insufficient disk space
36-Jenkins-Job Migration
What is the function of industrial-grade remote wireless transmission device?
商业智能BI业务分析思维:现金流量风控分析(一)营运资金风险
bytebuffer put flip compact clear 方法演示