关于前端:MiniStar-一个用于实现微内核插件化架构的前端框架

8次阅读

共计 990 个字符,预计需要花费 3 分钟才能阅读完成。

介绍

mini-star 是一个为实现我的项目微内核 (插件化) 前端库,旨在帮忙大家能更简略、无痛的构建 (或革新成) 一个生产可用微内核 (插件化) 架构零碎。

什么是微内核

由一群尽可能将数量最小化的软件程序组成,他们负责提供、实现一个操作系统所须要的各种机制和性能。这些最根底的机制,包含了底层地址空间治理,线程治理,与过程间通信。

设计理念

将零碎的实现,与零碎的基本操作规定辨别开来。它实现的形式是将外围性能模块化,划分成几个独立的过程,各自运行,这些过程被称为服务。所有的服务过程,都运行在不同的地址空间。

让服务各自独立,能够缩小零碎之间的耦合度,易于实现与除错,也能够增进可移植性。它能够防止繁多组件生效,而造成整个零碎解体,内核只须要重启这个组件,不至于影响其余服务器的性能,使零碎稳定度减少。同时业务性能能够视须要,抽换或新增某些服务过程,使性能更有弹性。

就代码数量来看,一般来说,因为性能简化,外围零碎应用的代码比集成式零碎更少。更少的代码象征更少的潜藏程序 bug。

ministar 的外围设计理念

  • 简略

因为基座我的项目与插件我的项目都能做到技术栈无关,ministar 对于用户而言只是一个相似 jQuery 插件零碎的库,你须要通过 ministar/runtime 来加载插件与共享依赖组件,而后用 ministar/bundler 来构建插件我的项目, 即可实现原零碎插件化的革新。

  • 解耦 / 技术栈无关

微内核的外围指标与微前端一样,是将巨石利用拆解成若干能够自治的松耦合微利用,而 ministar 的诸多设计均是秉持这一准则,除了须要共享的公共依赖与基座我的项目提供的能力,插件我的项目领有本人的上下文,依赖治理,以及互相的通信机制,这样来保障插件具备独立开发的能力。并保障了与其它依赖共享类型的能力。

个性

  • 开箱即用, 也能够进行定制化革新。
  • 技术栈无关,任意技术栈的利用均可 应用 / 接入,不论是 React/Vue/Angular/Svelte/JQuery 还是其余等框架。
  • 共享依赖,同样的依赖只须要加载一次,缩小不必要的体积与打包工夫
  • 像调用原生组件一样进行插件间的依赖调用
  • 基于 Rollup 进行打包,快!
  • 为古代前端而生。在过来,咱们通过 window 裸露办法,当初咱们所有的代码都须要编译成模块,而裸露也通过模块
  • 拓扑依赖排序,避免时序性的问题。

文档

  • 官网文档
  • Github
  • 微内核架构在大型前端零碎中的利用(微前端)
正文完
 0