前端知识-应用框架

应用框架

应用框架的任务包括: 引入状态管理方案, 做一套统一的布局, 抽象一个更好用的数据请求方法, 优化打包效率

应用框架的覆盖面:

  • 基于React生态的Next.js, UmiJS, Modern.js;
  • 基于Vue生态的Nuxt和Quasar;
  • 自成一体的Astro和Angular;
  • 专注于桌面应用的Electron, Tauri;
  • 适用于小程序的Taro, uniapp;
  • 应用于移动原生应用的React Native, Flutter和Ionic

应用框架包含的功能:

  • 路由(routing) 规定页面的组织方式, 布局和跳转方式, 帮助框架更好地进行分包, 以提升运行时的加载效率
  • 样式(styling) 是框架提供的一组CSS开发方案, 通常会包含CSS预处理器, CSS Modules, CSS-in-JS 和CSS框架
  • 数据获取(data fetching) 通常包含内置请求库, 缓存, 服务端渲染等经过框架优化的方案
  • 测试(testing) 专为框架制定的一套环境和测试工具, 方便开发者更优雅地编写测试代码
  • 插件(plugin) 是框架为了方便开发者扩展其功能预留的口子, 通过它可以自定义构建行为
  • 部署(deploying) 是框架提供的生产应用上线方案, 包含不同构建产物的生成配置, 静态资源部署, 全站应用部署方式等

应用架构是应用的组织范式, 关注不同范式间的优缺点.

常见应用架构方案有:

  • MPA(Multi Page Application), 多页应用. 好处是业务划分清晰, 迭代变更影响面较小; 坏处是每次打开一个新页面都要等待加载
  • SPA(Single Page Application), 单页应用. 一定程度上解决了用户在多个页面间切换需等待的问题, 但首次加载时白屏时间较长
  • PWA(Progressive Web App), 渐进式Web应用. 采用Service Worker和离线缓存技术, 是最接近小程序的架构形式, 提供了类似原生应用的体验, 且白屏时间较短. 缺点是依赖浏览器, 无法像小程序一样访问原生平台功能
  • MFE(Micro-Frontends), 微前端. 将多个独立开发的前端应用组成整体的架构风格. 能够帮助巨型单体应用持续迭代, 以及提高跨团队协作开发效率. 缺点是技术复杂度高, 用户体验差, 调试困难
  • Islands, 群岛架构. 类似于微前端, 但粒度可以细化到组件级别, 并拥有更好的性能. 缺点是支持群岛架构的应用框架较少

一种应用框架可以支持不同的应用架构, 比如UmiJS支持SPA, MPA和MFE, Quasar支持SPA, PWA, Electron

posted @ 2025-01-21 09:12  Khru  阅读(7)  评论(0编辑  收藏  举报