当前位置:网站首页>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)插件
自定义插件在快速开发平台中的重要作用,以传统开发方式为基础,以敏捷思想作指导,这样开发出来的产品可拓展性强,用户满意度也会很高。
边栏推荐
- Hard power or soft power, which is more important to testers?
- 多御安全浏览器 V10.8.3.1 版正式发布,优化多项内容
- Dive into how it works together by simulating Vite
- 【树莓派】树莓派调光
- token, jwt, oauth2, session parsing
- UE4 opens door via interaction (keyboard key)
- 2022软件测试工程师最全面试题
- Acid (ACID) Base (BASE) Principles for Database Design
- 36-Jenkins-Job Migration
- [8.3] Code Source - [meow ~ meow ~ meow~] [tree] [and]
猜你喜欢

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

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

Hard power or soft power, which is more important to testers?

从企业的视角来看,数据中台到底意味着什么?
![[Software testing] unittest framework for automated testing](/img/80/caedd5cf6dd61c9d75475866613cac.png)
[Software testing] unittest framework for automated testing

商业智能BI业务分析思维:现金流量风控分析(一)营运资金风险

UE4 为子弹蓝图添加声音和粒子效果
![[BJDCTF2020] EasySearch](/img/60/464de3bcdda876171b9f61ad31bff1.png)
[BJDCTF2020] EasySearch

The test salary is so high?20K just graduated
![[MRCTF2020]PYWebsite](/img/d4/57e8e5ee45b742894679f3f5671516.png)
[MRCTF2020]PYWebsite
随机推荐
1007 Climb Stairs (greedy | C thinking)
bytebuffer use demo
cross domain solution
The most effective seven performance testing techniques of software testing techniques
[SWPU2019]Web1
The sword refers to Offer--find the repeated numbers in the array (three solutions)
[Geek Challenge 2019]FinalSQL
UE4 第一人称角色模板 添加生命值和调试伤害
Solana NFT开发指南
[SWPU2019]Web1
bytebuffer put flip compact clear 方法演示
Dive into how it works together by simulating Vite
Mysql的redo log详解
UE4 第一人称角色模板 添加蹲伏功能
BI业务分析思维:现金流量风控分析(二)信用、流动和投资风险
What is the function of industrial-grade remote wireless transmission device?
DEJA_VU3D - Cesium功能集 之 058-高德地图纠偏
bytebuffer internal structure
Redis key basic commands
[Paper Notes] MapReduce: Simplified Data Processing on Large Clusters