百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

阿里最受欢迎的16个前端开源项目

toyiye 2024-06-06 22:12 20 浏览 0 评论

大家好,我是Echa。

今天小编要说的主角是阿里巴巴,一说到阿里,作为程序员的小编,马上就能联想到阿里巴巴中的达摩院,达摩院人才济济,能进去的人都是有一技之长,都是绝世高手。小编盘点阿里巴巴的达摩院的前沿实验室就有五大类前沿技术的实验室,那是神一般的存在地方。也是国人的骄傲。具体如下:

  1. 机器智能实验室
  • 语音实验室
  • 视觉实验室
  • 语言技术实验室
  • 决策智能实验室
  • 城市大脑实验室
  1. 数据计算实验室
  • 计算技术实验室
  • 智能计算实验室
  • 数据库与存储实验室
  • 操作系统实验室
  1. 机器人实验室
  • 自动驾驶实验室
  1. 金融科技实验室
  • 金融智能实验室
  • 区块链实验室
  • 生物识别实验室
  1. X实验室
  • 量子实验室
  • XG实验室
  • XR实验室

今天小编先简单分享阿里最受欢迎的16个前端开源项目,希望对大家有所帮助。至于复杂的达摩院实验室相关项目先发个预告,后续小编挨个挨个给大家分析讲解。

全文大纲

  1. ant-design-蚂蚁金服开源的一套企业级的前端设计语言和基于 React 的前端框架实现。
  2. g2-数据驱动的高交互可视化图形语法,一条语句即可构建出各种各样的可交互的统计图表。
  3. fusion-企业级中后台 UI 解决方案,旨在提升设计与开发之间 UI 构建效率的工作方式。
  4. BizCharts-基于 G2 封装的 React 图表库,数据可视化项目可能会用到
  5. egg-企业级 Node.js 框架
  6. umi-基于 React 的前端框架
  7. dawn-前端构建和工程化工具,简化并统一了开发人员的日常构建与开发相关的工作。
  8. G3D-一个基于 WebGL 的 Javascript 3D 绘图引擎。
  9. Weex-跨平台移动开发工具。
  10. Weex Ui-基于 Weex 的 UI 组件库
  11. Ant Motion 动效语言& React 框架动效解决方案。
  12. Hilo- HTML5 互动游戏引擎。这个项目可以帮助开发者快速创建HTML5游戏。
  13. Velocity.js -JavaScript 模板引擎。
  14. React Web -通过与 React Native 一致的 API 构建 Web 应用。
  15. Mock.js -模拟数据生成器,帮助前端开发者独立于后端进行开发,帮助编写单元测试。
  16. formilyjs-基于React的表单解决方案。

ant-design

官网:https://ant.design/

Github:https://github.com/ant-design/ant-design

antd 是基于 Ant Design 设计体系的 React UI 组件库,主要用于研发企业级中后台产品。

特性

  • 提炼自企业级中后台产品的交互语言和视觉风格。
  • 开箱即用的高质量 React 组件。
  • 使用 TypeScript 开发,提供完整的类型定义文件。
  • ?? 全链路开发和设计工具体系。
  • 数十个国际化语言支持。
  • 深入每个细节的主题定制能力。

如下图:




g2

官网:https://g2.antv.antgroup.com/

Github:https://github.com/antvis/g2

G2 起源于 Leland Wilkinson 的图形语法:《The Grammar of Graphics》,但又不止于图形语法。

G2 是一个简洁的、渐进式的可视化语法。文档将按照下面的顺序去分别介绍每一个模块,你可以把它当做一个字典去搜索和查询。

特色

  • 渐进式语法:结合工业和学术实践,实现图形语法、动画语法和交互语法。
  • 丰富的标记:内置 10+ 基础标记,8+ 高阶标记。
  • 高可扩展性:提供统一机制扩展所有可视化组件。
  • 个性化风格:支持手绘、圆角、纹理等风格。
  • 多环境渲染:支持 Canvas、SVG 以及 WebGL,和 Node.js 服务端渲染。

如下图:



fusion

官网:https://fusion.design/pc/?themeid=2

Github: https://github.com/alibaba-fusion/next

fusion-企业级中后台 UI 解决方案,旨在提升设计与开发之间 UI 构建效率的工作方式。

特色

  1. 企业级的中后台设计系统解决方案

基于对阿里集团中后台业务的总结和抽象, 提供了一套开箱即用的核心模式

  1. 强大的配置平台,轻松维护品牌统一

通过设计系统站点,统一管理设计物料和前端物料; 使用 Design Token,轻松定制全局样式

  1. 模块化研发,让效率突飞猛进

配合前端工具,开发模块模板更高效

  1. 原生插件,让设计和研发无缝衔接

设计系统里所有设计物料和前端物料,都能通过 Sketch 插件直接使用,真正做到 Design to Code

如下图:






BizCharts

官网:https://bizcharts.taobao.com/products/bizCharts

Github: https://github.com/alibaba/BizCharts

BizCharts - 基于 G2 封装的 React 图表库,数据可视化项目可能会用到。

特性

  • 是基于 G2 4.X 封装的 React 图表库,具有 G2、React 的全部优点,可以让用户以组件的形式组合出无数种图表
  • 集成了大量的统计工具,支持多种坐标系绘制,交互定制,动画定制以及图形定制等
  • 性能稳定且具有强大的扩展能力和高度自定义能力
  • 内置了g2Plot的42个基础图表

如下图:




egg

官网:https://eggjs.org/

Github: https://github.com/eggjs/egg

Egg.js 为企业级框架和应用而生,我们希望由 Egg.js 孕育出更多上层框架,帮助开发团队和开发人员降低开发和维护成本。

设计原则

我们深知企业级应用在追求规范和共建的同时,还需要考虑如何平衡不同团队之间的差异,求同存异。所以我们没有选择社区常见框架的大集市模式(集成如数据库、模板引擎、前端框架等功能),而是专注于提供 Web 开发的核心功能和一套灵活可扩展的插件机制。我们不会做出技术选型,因为固定的技术选型会使框架的扩展性变差,无法满足各种定制需求。通过 Egg,团队的架构师和技术负责人可以非常容易地基于自身的技术架构在 Egg 基础上扩展出适合自身业务场景的框架。

Egg 的插件机制有很高的可扩展性,一个插件只做一件事(比如 Nunjucks 模板封装成了 egg-view-nunjucks、MySQL 数据库封装成了 egg-mysql)。Egg 通过框架聚合这些插件,并根据自己的业务场景定制配置,这样应用的开发成本就变得很低。

Egg 奉行『约定优于配置』,按照一套统一的约定进行应用开发,团队内部采用这种方式可以减少开发人员的学习成本,开发人员不再是『钉子』,可以流动起来。没有约定的团队,沟通成本是非常高的,比如有人会按目录分栈而其他人按目录分功能,开发者认知不一致很容易犯错。但约定不等于扩展性差,相反 Egg 有很高的扩展性,可以按照团队的约定定制框架。使用 Loader 可以让框架根据不同环境定义默认配置,还可以覆盖 Egg 的默认约定。

与社区框架的差异

Express 是 Node.js 社区广泛使用的框架,简单且扩展性强,非常适合做个人项目。但框架本身缺少约定,标准的 MVC 模型会有各种千奇百怪的写法。Egg 按照约定进行开发,奉行『约定优于配置』,团队协作成本低。

Sails 是和 Egg 一样奉行『约定优于配置』的框架,扩展性也非常好。但是相比 Egg,Sails 支持 Blueprint REST API、WaterLine 这样可扩展的 ORM、前端集成、WebSocket 等,但这些功能都是由 Sails 提供的。而 Egg 不直接提供功能,只是集成各种功能插件,比如实现 egg-blueprint,egg-waterline 等这样的插件,再使用 sails-egg 框架整合这些插件就可以替代 Sails 了。

特性

  • 提供基于 Egg 定制上层框架的能力
  • 高度可扩展的插件机制
  • 内置多进程管理
  • 基于 Koa 开发,性能优异
  • 框架稳定,测试覆盖率高
  • 渐进式开发

如下图:



umi

官网:https://umijs.org/

Github: https://github.com/umijs/umi

Umi,中文发音为「乌米」,是可扩展的企业级前端应用框架。Umi 以路由为基础的,同时支持配置式路由和约定式路由,保证路由的功能完备,并以此进行功能扩展。然后配以生命周期完善的插件体系,覆盖从源码到构建产物的每个生命周期,支持各种功能扩展和业务需求。

Umi 是蚂蚁集团的底层前端框架,已直接或间接地服务了 10000+ 应用,包括 Java、Node、H5 无线、离线(Hybrid)应用、纯前端 assets 应用、CMS 应用、Electron 应用、Serverless 应用等。他已经很好地服务了我们的内部用户,同时也服务了不少外部用户,包括淘系、飞猪、阿里云、字节、腾讯、口碑、美团等。在 2021 年字节的调研报告中,Umi 是其中 25.33% 开发者的选择。

Umi 有很多非常有意思的特性,比如。

1、企业级,在安全性、稳定性、最佳实践、约束能力方面会考虑更多
2、插件化,啥都能改,Umi 本身也是由插件构成
3、MFSU,比 Vite 还快的 Webpack 打包方案
4、基于 React Router 6 的完备路由
5、默认最快的请求
6、SSR & SSG
7、稳定白盒性能好的 ESLint 和 Jest
8、React 18 的框架级接入
9、Monorepo 最佳实践

如下图:




dawn

官网:https://alibaba.github.io/dawn/

Github: https://github.com/alibaba/dawn

dawn 前端构建和工程化工具,简化并统一了开发人员的日常构建与开发相关的工作。

Dawn 取「黎明、破晓」之意,原为「阿里云·业务运营团队」内部的前端构建和工程化工具,现已完全开源。它通过 pipelinemiddleware 将开发过程抽象为相对固定的阶段和有限的操作,简化并统一了开发人员的日常构建与开发相关的工作。

有什么特点?

  • 采用中间件技术,封装常用功能,易于扩展,方便重用
  • 支持 pipeline 让多个 task 协同完成构建任务
  • 简单、一致的命令行接口,易于开发人员使用
  • 支持基于「中心服务」管理中间件和工程模板
  • 支持搭建私有中心服务,并统一下发构建规则,易于团队统一管理

如下图:


G3D

官网: https://alibaba.github.io/G3D/

Github: https://github.com/alibaba/G3D

G3D 是一款基于 WebGL 实现的 JavaScript 3D 渲染引擎。本系列教程将教会你如何使用 G3D。

基础

遵循以下几个步骤,以创建最基础的 3D 场景。

  1. 创建一个渲染引擎(Engine),传入 canvas 对象。
  2. 创建一个场景(Scene),传入刚刚创建好的渲染引擎。
  3. 创建一个相机。在大多数情况下,你需要创建透视相机(PerspectiveCamera),这里我们创建一个环绕透视相机(RotatePerspectiveCamera),它继承自透视相机。
  4. 创建一些光源。G3D 提供了几种不同类型的光源,这里我们创建了一个平行光源(DirectionalLight)。
  5. 创建一些网格体(Mesh)。这里,我们创建了一个球形的网格体和一个矩形平面的网格体。
  6. 使场景开始渲染。

如下图:



Weex

官网: http://weex.incubator.apache.org/

Github: https://github.com/apache/incubator-weex/

Weex - 跨平台移动开发工具

如下图:

weex-ui

官网: https://apache.github.io/incubator-weex-ui/#/

Github: https://github.com/apache/incubator-weex-ui

weex-ui 基于 Weex 的 UI 组件库 。

如下图:



Ant Motion

官网: https://motion.ant.design/index-cn

Github: https://github.com/ant-design/ant-motion/

Motion动效

  • 动效价值
  • 衡量动效意义

界面动效能加强用户认知且增加活力。

动效价值#

  • 增加体验舒适度: 让用户认知过程更为自然。
  • 增加界面活力:第一时间吸引注意力,突出重点。
  • 描述层级关系:体现元素之间的层级与空间关系。
  • 提供反馈、明确意向:助力交互体验。

衡量动效意义#

衡量一个动效是否有意义,我们可以通过以下几个标准来考核:

  • 一个动效的存在是否合理:是否带有明确的目的性,助力交互体验,没有多余的动效。
  • 动效与性能:不能出现大幅度波动丢帧或者卡顿现象, 动效的体验须是流畅的,并且不影响产品的性能。

如下图:





Hilo- HTML5

官网: https://hiloteam.github.io/

Github: https://github.com/hiloteam/Hilo

Hilo是一个跨终端的互动游戏解决方案。他有以下几个特点值得被推荐。

Hilo作为一个跨终端的互动游戏解决方案。它的源码和架构是无依赖的,模块化的。同时也是开源的。

为了满足使用不同脚本模块加载器的同学的喜好。Hilo提供了多种模块范式的包装版本,请看这里不管你属于哪一个阵营,都能找到你爱的哪一个。

Hilo对于跨终端的解决方案是:永远保持最小内核,以渐进增强的独立Shim Adaptor的方式去包容不同终端。

  • 如果你的项目只需要适配对canvas和css3支持度良好的高级浏览器或者webview,你可以直接使用Hilo基础渲染器。
  • 如果需要适配不支持canvas的终端,只需要简单的引入一个Flash Shim模块即可。

Hilo不仅仅是一个渲染引擎,它更是一个集成了 Hilo Audio, Hilo Preload 等游戏构建服务的综合解决方案。

除此之外,Hilo为动画纹理集的产出提供了一套自动化的输出方案,力求为你的构建带来更多的便利。

如下图:





Velocity.js

Github:https://github.com/shepherdwind/velocity.js

velocity.js是velocity模板语法的javascript实现。

特性

  • 支持客户端和服务器端使用
  • 语法分析和模板渲染分离
  • 基本完全支持velocity语法
  • Vim Syntax

如下图:


React Web

Github: https://github.com/taofed/react-web

通过 React Native 兼容的 API 构建无线 Web 应用

如下图:


Mock.js

官网:http://mockjs.com/

Github: https://github.com/nuysoft/Mock/wiki

mockjs 模拟数据生成器,帮助前端开发者独立于后端进行开发,帮助编写单元测试。

如下图:




formilyjs

官网:https://formilyjs.org

Github:https://github.com/alibaba/formily

介绍

在 React 中,在受控模式下,表单的整树渲染问题非常明显。特别是对于数据联动的场景,很容易导致页面卡顿,为了解决这个问题,我们将每个表单字段的状态做了分布式管理,从而大大提升了表单操作性能。同时,我们深度整合了 JSON Schema 协议,可以帮助您快速解决后端驱动表单渲染的问题。

特性

  • 可设计,借助 Form Builder 可以快速搭建表单
  • 高性能,字段分布式渲染,大大减轻 React 渲染压力
  • 支持 Ant Design/Fusion Next 组建体系
  • JSX 标签化写法/JSON Schema 数据驱动方案无缝迁移过渡
  • 副作用逻辑独立管理,涵盖各种复杂联动校验逻辑
  • 支持各种表单复杂布局方案

如下图:






最后

一台电脑,一个键盘,尽情挥洒智慧的人生;几行数字,几个字母,认真编写生活的美好;

一 个灵感,一段程序,推动科技进步,促进社会发展。

创作不易,喜欢的老铁们加个关注,点个赞,打个赏,后面会不定期更新干货和技术相关的资讯,速速收藏,谢谢!你们的一个小小举动就是对小编的认可,更是创作的动力。

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码