针对ToB企业级前端项目特点如何框架选择

329 阅读8分钟

对公司来说最重要的是稳定性、可靠性、用户体验、安全性、可定制性和扩展性、集成和协作、持续的支持和维护。这些因素共同构成了ToB前端项目的成功要素。ToB前端项目需要满足客户的深度定制化需求,确保产品和服务能够无缝嵌入客户的业务流程中,并非一次性的交易,需要框架提供稳定且扩展的能力。

复杂的业务逻辑和数据交互

与ToC项目相比,ToB企业级前端项目更加注重逻辑的开发和处理能力。因为企业应用往往需要处理复杂的业务逻辑和数据交互,所以前端应用需要具备强大的逻辑处理能力,以确保数据准确性和业务流程的顺畅性。

深度定制化的需求

需要具备较高的定制化能力应对独特的业务场景和管理需求,适应不断变化的业务需求

稳定性与可靠性

并非一次性的交易,需要框架提供稳定且扩展的能力

标准化与规范化

包括代码风格、目录结构、命名规则、开发流程等。通过标准化和规范化,团队可以更加高效地协作,减少沟通成本,提升代码质量。

用户体验与易用性

良好的用户体验和易用性可以提高员工的工作效率和满意度,从而提升企业的整体竞争力

一、项目管理成本

1.1 长期价值

对于企业而言,重要应用并非实验性项目,在一次开发之后需要持续迭代,因此需要保持技术架构的延续性和稳定性,同时需要可以使功能大量复用的统一标准,以最小的成本完成项目维护。

2.2 更好的技术赋能

通过制定标准,体系化的归纳统一技术架构,横向拉齐,来约束具体实施,使各领域实施标准达到对齐,来保证质量与安全。从而技术架构结合业务双向促进,架构要结合业务去落地,业务要结合技术来创新。

2.3 避免重复性技术研究

让项目组把精力更多的投入到业务中,构建以恶基础的开发架构平台,把技术共性问题提炼出来,避免每个项目都独自去解决遇到的各种各样的技术难题,节约人力成本。

2.4 可衡量的研发投入

基于统一开发框架的标准化技术规范建立起来后,对业务功能的代码实现就可以进行有效的评估和考量,可以避免因为技术实现差异而出现的种种问题。

2.5 避免管控壁垒

千人千面,团队决策者通常会从自身利益考量,希望尽量减少对外部门的依赖,无论是技术选型,规范建立,组件选取,运行环境都能够自行掌控,形成了一定的"部门墙",可能随着发展,越来越发散,最后导致难以统一,给管理上带来麻烦。

二、用户体验

在设计新产品时,统一技术栈可以使原始产品也获得设计上的改进,获得一致且优质的用户体验

降低用户学习成本:当公司使用统一的技术栈时,其产品的操作方式和界面设计通常会保持一致。这使得用户在学习使用一个产品后,可以更容易地掌握其他产品,从而降低用户的学习成本。

三、技术趋势

3.1 行业应用情况

3.1.1 github关注度

框架starnpm周下载量
React223.3K18,004,241
Angular95K2,558,473
vue345.4k3,746,461
vue2207k

此指标可表示框架在行业内受关注度,活跃度,可作为是否使用该框架的指标之一。

3.1.2 工程化语言趋势

业务及交互复杂度提升

  • (这里表现在之前的静态展示和动画、表单验证,之后设计到"大前端"范畴,服务器端、app前端,一个小型项目前端人员可以一并包揽,但大型项目,每个环节都需要做到尽善尽美,需要前后端的分离模式),

  • 负责数据的展示(业务逻辑、智能驾驶舱),用户行为的交互、路由分发,用户输入的验证,权限管理,数据管理、国际化、性能优化等

  • 高阶语言ts,懒加载、模块组件概念,双向数据绑定,前端框架、前端组件库,优化方案等等,需要打包工具

  • 服务器组件、服务器操作、信号、编译器等方向

  • HTML5 Video取代Flash、WebRTC技术取代桌面应用的电话会议、网络直播等即时通信业务的主要平台、WebGL是大型3D图形应用的首选方案,还可以结合DeviceOrientationAPI开发Web VR应用、计算密集型的可使用WebAssembly

  • 前端也在往工程化语言进化,必须使用更为复杂的技术架构承载,非常灵活性的框架,但同时也给大型项目和复用带来一定的隐患,所以需要通过框架规范和开发规范加以约束。

  • 规范化

    • 编码风格
    • 命名规范
    • 目录结构
  • 工具化

    • Webpack/Vite/Rollup
  • 模块化

    • 代码分割
    • 代码重用
    • 代码隔离

3.2 行业技术趋势

3.2.1 主流框架的持续发展

前端框架将继续引领前端的开发方向,React、Angular 和 Vue 都是非常优秀的前端框架,但它们的设计思想和使用方式有所不同。React 更加注重组件化开发,Angular 更加注重完整的 MVC 架构,可以更好的支持负责应用的构建,Vue 更加注重轻量级和易用性,适合快速原型开发和迭代。这些框架不断更新,提供更加完善的功能和更好的开发体验

3.2.1 TypeScript的普及

越来越多的公司和开源社区开始将他们的代码库迁移到TypeScript,尤其对于大型项目和团队协同开发来说更为重要。Angular在这方面做出相当的贡献,2016年Angular 从 2.0 版本开始就支持 TypeScript,Angular 的开发团队也非常重视 TypeScript 的支持,Angular 的框架和工具都提供了很好的 TypeScript 支持。Angular 还提供了一些 TypeScript 相关的特性,例如类型安全的模板、类型安全的指令等,使得在 TypeScript 中使用 Angular 变得更加方便和可靠。React在2019年正式支持TypeScript,Vue3.0在2020年正式发布,核心代码使用了TypeScript进行了重写。

  • 提高代码质量和可维护性:TypeScript 的静态类型检查可以在编译时就发现潜在的错误和缺陷,从而提高代码的质量和可维护性。TypeScript 还提供了接口、枚举、泛型等丰富的类型系统,可以更好地描述和约束代码的结构和行为。
  • 提高开发效率:TypeScript 的静态类型检查和智能提示功能可以提高开发效率,减少编码时间和出错概率。TypeScript 还支持代码的重构和自动完成,可以更快地编写和维护代码。
  • 更好的团队协作:TypeScript 的类型系统可以更好地描述和约束代码的结构和行为,从而使得团队成员之间的协作更加高效和协调。TypeScript 还支持代码的注释和文档生成,可以更好地沟通和共享代码知识。
  • 动态类型引起的bug对于前端应用并不在少数,甚至超过了逻辑上的bug,而且这类bug大多数是在测试或者生产环境中暴露出来的,会对产品的稳定性造成很大的威胁

3.2.3 微前端架构

微前端架构将单页面应用拆分为多个小的、独立的前端应用,每个团队可以独立开发、测试和部署自己的功能。这种架构模式有助于提高团队的协同开发效率和产品的可扩展性,适用于大型、复杂的项目。 行业流行的moonorepo项目代码管理模式,Vue3源码仓库也采用此模式。在应用程序中,Vue团队需要架构设计单独出解决方案,Angular平台自带此功能。

3.2.4 服务端渲染(SSR)

SSR能够在服务器端完成页面的初次渲染,提高首屏加载速度,减少项目包体积,同时改善SEO效果。

3.2.5 跨平台框架的兴起

随着移动应用市场的兴起,跨平台框架如React Native、Flutter、ArkTs等将成为未来的趋势。这些框架允许开发者编写一次代码,在多个平台上运行,从而大大提高开发效率,降低项目成本。

3.2.6 响应式设计和移动端优先

随着移动设备的普及和人们使用手机时间的增加,响应式设计和移动端优先已成为前端开发的标准配置。这意味着前端框架将更加注重跨设备、跨平台的兼容性,以确保网站或应用在各种设备上都能提供良好的用户体验。

四、框架选择

4.1 新增项目方案

  • 灵活、快速开发、迭代周期短、小项目等 建议:vue3 + ts + +rxjs + pinia + vite + Antd
  • 需要不断迭代的项目、开箱即用、规范化、大中小型项目解决方案:Angular + Antd