前端搭建低代码平台,微前端如何选型?

目录

背景

一、微前端是什么?

二、三大特性

三、现有微前端解决方案

1、iframe

2、Web Components

3、ESM

4、EMP

5、Fronts

6、无界(文档)

7、qiankun

四、我们选择的方案

引入qiankun并使用(src外层作为主应用)

主应用使用qiankun

微应用工程要做什么

主应用&微应用通讯

FAQ

五、总结


背景

1.首先我们可以先来想一下,日常工作中我们是如何进行代码复用的?

  • 复制粘贴 Ctrl cv
  • 抽离封装模块
  • 打npm包

2.但是,以上方法,会存在哪些问题呢?

–复制粘贴

  • 增加重复的代码
  • 复用代码逻辑发生变动时需要处处修改
  • 违反 Don’t Repeat Yourself 原则

–抽离封装模块

  • 仅适用于当前项目,无法兼容多个项目要使用同一个模块的情景

–打npm包或库

  • 还蛮通用的…但是也有其他问题:
  • 发布效率低下
  • 当迭代npm包内的逻辑业务:发布npm包 -> 告诉其他使用的伙伴更新npm ->再各自构建发布一次 (繁琐极了)

于是微前端诞生了,用来将大型项目进行拆分和解耦。

一、微前端是什么?

微前端概念是从微服务概念扩展而来的,摒弃大型单体方式,将前端整体分解为小而简单的块。这些块可以独立开发、测试和部署,同时仍然聚合为一个产品出现在客户面前。

微前端架构旨在解决单体应用在一个相对长的时间跨度下,由于参与人员、团队的增多、变迁,从一个普通应用演变成一个巨石应用后,随之而来产生的应用不可维护的问题。这类问题在企业级 Web 应用中尤其常见。

二、三大特性

  • 无技术栈限制
  • 应用单独开发、测试和部署、交付
  • 多应用整合

三、现有微前端解决方案

1、iframe

iframe是html提供的标签,能加载其他web应用的内容,并且能兼容所有的浏览器。

不足:

  • 不是单页应用,会导致浏览器刷新 iframe url 状态丢失、后退前进按钮无法使用。
  • 弹框类的功能无法应用到整个大应用中,只能在对应的窗口内展示。
### Vue 前端低代码开发平台概述 Vue 是一种流行的渐进式 JavaScript 框架,因其灵活性和易用性受到广泛欢迎。当与低代码开发相结合时,Vue 提供了一种高效的解决方案,能够显著减少手动编码的需求,从而加快应用程序的交付速度并提高生产力[^1]。 低代码开发是一种通过图形化用户界面和配置代替传统手工编程的方式来创建应用程序的技术。对于前端开发者而言,Vue 和低代码开发工具的结合可以极大地简化复杂的应用程序构建过程,降低技术门槛,并提升最终产品的稳定性和性能[^2]。 --- ### 推荐的 Vue 前端低代码开发平台 以下是几个值得考虑的 Vue 前端低代码开发平台: #### 1. **JNPF 快速开发平台** JNPF 平台是一个专注于企业级应用快速开发的工具,在基于 Vue3 的低代码开发实践中表现尤为突出。它不仅支持拖拽式的页面设计,还提供了丰富的组件库以及强大的数据绑定能力,使得开发者能够在短时间内完成高质量的前端应用开发。 #### 2. **Vuetify Low Code Platform** 虽然 Vuetify 主要以其 Material Design 风格的 UI 组件闻名,但它也推出了针对特定场景优化过的低代码版本。此平台允许用户利用预定义模板快速搭建交互性强的 Web 应用,并且完全兼容标准 Vue 生态环境[^3]。 #### 3. **Element Plus Designer (EPD)** 由 Element Plus 社区维护的一个可视化设计器项目 EPD ,专为那些希望采用更直观方法操作 Element Plus GUI 控件的人士量身定制 。借助这个工具,即使是没有深厚前端背景的知识工作者也能轻松上手制作美观大方的企业管理系统界面。 #### 4. **TDesign-VueX** 腾讯开源的设计体系 TDesign 下属产品之一——TDesign-VueX 同样具备一定的低码属性。除了常规样式指南外,还包括了一些自动化生成功能模块,方便团队协作的同时进一步缩短迭代周期。 --- ### 技术优势分析 这些平台之所以被推荐给使用 Vue 进行低代码开发的朋友,主要是因为它们各自拥有如下特点: - 支持主流框架生态无缝衔接; - 提供大量预制好的UI控件满足日常需求; - 友好型编辑器帮助初学者迅速掌握核心技能; - 开放源代码便于二次扩展自定义逻辑实现个性化业务诉求; 值得注意的是,尽管上述选项都非常优秀,但在实际选型过程中仍需综合考量目标项目的具体规模大小、预算范围限制等因素再做决定^。 ```javascript // 示例:简单的动态表单生成脚本片段 import { createApp } from 'vue'; const app = createApp({ data() { return { fields: [ { type: 'text', label: '姓名' }, { type: 'number', label: '年龄' } ] }; }, methods: { addField(fieldType) { this.fields.push({type: fieldType, label:`字段${this.fields.length + 1}`}); } } }); app.mount('#formBuilder'); ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值