项目开发中基于google的chromium浏览器框架做定制开发,通过node-webkit与nodejs的配合,达到可以使用前端语言(Javascript)进行UI开发,使用C++语言做Native开发,其中的一大重要模块便是基于nodejs的插件系统设计,项目的核心功能都以nodejs插件的形式进行封装,nodejs插件系统便于前端与Native插件之间通信的桥梁。为了在架构上设
如今移动app市场已经是百花齐放,其中有不乏有很多大型公司、巨型公司都是通过app创业发展起来的;app类型更加丰富,有电子商务、有视频、有社交、有工具等等,基本上涵盖了各行各业每个角落,为了更加具有竞争力app不仅功能上有创性,内容也更加多元,更加饱满,所以出现了巨大的工程。这些工程代码不停添加如果没有一个好的架构所有代码将会强耦合在一起,功能直接也会有很多依赖,那么就会出现很多问题;例如:1
转载 2023-08-10 00:28:35
0阅读
插件的基本概念我们在第一篇文章中就介绍过插件的基本概念,这里再强调一次。随着下面这些问题的出现:APP的体积越来越大,功能模块越来越多模块之间的耦合度高,协同开发沟通成本越来越大方法数目可能超过65535,APP占用的内存过大相应的解决办法:将一个大的APK按照业务划分为多个小的APK每个小的APK又可以独立运行、又可以依附于宿主APK运行那么,就会有如下优势:业务模块之间基本完全解偶协同并行
Spring Boot如何实现自定义Spring Boot插件?在 Spring Boot 中,插件是一种扩展机制,它可以帮助我们在应用程序中快速地添加一些额外的功能。在本文中,我们将介绍如何使用 Spring Boot 实现自定义插件。什么是 Spring Boot 插件?Spring Boot 插件是一种扩展机制,它提供了一种简单的方式来扩展 Spring Boot 的功能。插件可以添加一些自
上篇了解了热修复原理,热修复技术主要用来修复 bug,插件则主要解决应用越来越庞大以及功能模块的解耦。插件化处理两部分业务,一种是自身的业务模块,一种是接入其他的应用业务。这种方式在淘宝、支付宝、美团、滴滴、360 等航母应用上十分常见。代表方案有阿里的 Atlas、360 的 RePlugin、滴滴的 VirtualAPK 等。插件的 apk 分为宿主和插件两部分组成,先被安装到手机中的 a
插件技术随着360公司2016年DroidPlugin、2017年RePlugin的相继公布和开源,达到了顶峰。随后这几年进入了普及和落地期,到今天已不再新鲜和热门。但对于以插件框架为基础架构进行业务开发的同学而言,熟悉其原理和具体实现,不仅是工作本身需要,也能增进Android内功的修炼。相信了解过Replugin的同学都知道,Replugin的最大特点是坑位和唯一Hook点。那么问题来了,
zTree: zTree 是一个依靠 jQuery 实现的多功能 “插件”(v3.4)。 主页:[url]http://www.ztree.me/v3/main.php#_zTreeInfo[/url]
原创 2022-06-21 13:48:22
181阅读
随着web前端技术的发展,插件技术已逐渐被抛弃,但是理解这三者的概念和区别,对编程思想的提高仍有帮助。1 模块狭义上说: 是指Android studio支持了多个module开发时,提出的模块概念。 具体实践:把常用的功能、控件、基础类、第三方库、权限等公共部分抽离封装,把业务拆分成N个模块进行独立(module)的管理。 而所有的业务组件都依赖于封装的基础库,业务组件之间不做依赖,这样的
一、插件框架目标高可用插件架构的目标(是什么样子,具备什么样的能力)1、微内核+插件架构,稳定的内核,易扩展的插件2、热插拔,灵活的插件配置,升级更新量小3、接口编程,模块解耦,低耦合高内聚4、稳定性,错误和异常处理恢复,健康状态监测5、简单易用,搭建成本低6、支持单元测试,可调试 给业务带来的好处(目的)1、更加灵活的业务功能配置2、升级更新灵活,支持功能级的升级。不在需要跟版发版。
1.   dynamic-load-apk/DL动态加载框架  是基于代理的方式实现插件框架,对 App 的表层做了处理,通过在 Manifest 中注册代理组件,当启动插件组件时,首先启动一个代理组件,然后通过这个代理组件来构建,启动插件组件。 需要按照一定的规则来开发插件 APK,插件中的组件需要实现经过改造后的 Activity、FragmentActivity
转载 2023-07-12 23:01:56
129阅读
前言聊完了热修复,那么它的好姐们插件怎么能不说。原理剖析一、加载类即加载外部的dex,这里有两步操作第一步:安装即把外部的apk里的dex拷贝系统目录下。apk 来源分两种,一种来自内置在Assert目录下的插件,一种是来自网络下载的。 拷贝包含三个部分:将插件(apk)拷贝到创建的存储插件的文件夹下,data/data/包名/插件名创建一个dex 输出文件夹,即dexOutputDir ,这个
转载 2023-07-10 14:58:05
56阅读
定义两个标准接口,一个为由平台所实现的平台扩展接口,一个为插件所实现的插件接口。这里需要说明的是:平台扩展接口完全由平台实现,插件只是调用和使用,插件接口完全由插件实现,平台也只是调用和使用。平台扩展接口实现插件向平台方向的单向通信,插件通过平台扩展接口可获取主框架的各种资源和数据,可包括各种系统句柄,程序内部数据以及内存分配等。插件接口为平台向插件方向的单向通信,平台通过插件接口调用插件所实现的
spi 简介spi 的全称是Service Provider Interface,主要作用是在让服务具备运行时加载接口的指定实现类的能力,java从 1.6 开始提供此机制(其实 1.3 开始就有了,只不过一直自嗨内部使用,没暴露外部方法给大家用而已),而各种框架有时也自己实现此机制以增强一些特有的功能(e.g:dubbo自己实现的 spi,spring-boot 类似的有spring facto
Vue插件用于增强Vue,插件本质上是一个包含install方法的一个对象。
转载 2022-11-17 13:57:00
123阅读
插件,亦即Plug-in,是指一类特定的功能模块(通常由第三方开发者实现)它的特点: 1. 随时安装、卸载、激活、禁用 2. 无论什么状态都不影响系统核心模块的运行, 3. 是一种非侵入式的模块设计,实现了核心程序与插件程序的松散耦合。一个健壮的PHP插件机制,我认为必须具备以下特点: 1. 插件的动态监听和加载(Lookup) 2. 插件的动态触发 以上两点的
转载 2023-07-18 10:55:49
64阅读
软件简介1.JPlugin基本介绍软件架构的本质在于模块拆分,这些经过拆分的模块经过某种契约协同满足应用软件的对外需求。在当今,软件的需求都是迭代产生的,易变的。所以,对软件本身来说,如何最大限度的应对变化,“预见未来”,甚至“随需应变”是对架构设计的极致目标。那么,什么样子的架构才能应对未来尽可能多的可能性呢?在客户端开发工具层面,Eclipse应该是业界最成功的案例。Eclipse最早提供的功
转载 2023-07-24 13:32:53
123阅读
1、代码目录结构1.1、主要的文件结构如下:_ │ │ MonkeyQDK.pri │ MonkeyQDK.pro ├───build │ ├───bin │ │ │ extensionsystem.dll │ │ │ MonkayQDK.exe │ │ │ utils.dll │ │ │ │ │ └───plugins │
插件开发框架其实和目前开源界流行的MVC框架之类的相同,都决定了基于这个框架的开发方式,如基于MVC框架,就会按照MVC思想来进行开发,而插件开发框架呢,也是同样如此,就要求基于插件的方式来进行开发,不过插件开发框架和MVC框架又有不同,插件开发框架是一个可以成为系统基础架构的框架,而MVC框架通常来讲不足以成为,如在目前的MVC框架Webwork、Struts上我们通常都需要加上Spring、H
1. 概述    Pluma 是一个用 C++ 开发的可用于管理插件的开源架构,其官网地址为:http://pluma-framework.sourceforge.net/。该架构是个轻量级架构,非常易于理解。     Pluma 架构有以下基本概念: 1)插件的外在行为体现为一个纯虚类,可以叫作插件接口; 2)继承于同一个插件接口的若干
转载 2023-08-30 12:37:17
154阅读
组件、插件、模块、子应用、库、框架等概念辨析网上有许多讲组件、模块等概念的文章,但大家一般都是将这两个概念混为一谈的,并没有加以区分。而且实际上许多人对于组件、插件、模块、子应用等概念的区别也不甚明了,甚至于许多博客文章专门解说这几个概念都有些谬误。 之前已经写了一篇文章专门对组件和模块两个概念进行辨析,现在我们对于更多的概念在更高的层次上进行辨析。 想分清这几个概念我觉得
  • 1
  • 2
  • 3
  • 4
  • 5