字节前端终于开源!吹爆!

Semi Design 发布,前端同学的福音

大家好,我是鱼皮。

最近,字节跳动的抖音前端技术团队开源了一款企业级应用设计系统 Semi Design  。这也是他们团队在 GitHub 上首次公开的项目,短短几天,就收获了 3.6 k 个 star。

0775f93c12d0dff45e90a721d8a5f832.png
GitHub 开源仓库

老实说,看到这个开源项目的那一刻,我真的非常激动!因为我从第一次了解到字节跳动开始,就非常喜欢他家的设计风格,既简约又有现代感。

这次他们开源的 Semi Design,不仅是一套精美的设计系统,还是一套开箱即用的 React 组件库,对于我这种喜欢用 React 来写前端的开发者,真的是福音了。

d3751459a0ef59f7b9a1cf8b84aee767.png
semi-design 设计风格

下面我带大家来看一下,这个 Semi Design 到底香不香!

体验

打开 Semi Design 的官方文档,可以看到官方对 Semi Design 的介绍:

Semi Design 是由抖音前端团队,MED 产品设计团队设计、开发并维护的设计系统。它作为全面、易用、优质的现代企业级应用 UI 解决方案,从字节跳动各业务线的复杂场景提炼而来,支撑近千计平台产品,服务内外部 10 万+ 用户。

他有以下几大特点:

  • 遵循简洁轻量、现代化的设计风格,开放自定义,让设计 “活” 起来

  • 提供主题编辑器和主题商店,可以轻松切换视觉风格

    c06433acd8c30e3b3617486c23fcf732.png
    主题商店
  • 完备的国际化,默认支持十几种语言

    bf4b1d8ef59f6a21ee1df301543072ef.png
  • 采用跨前端框架技术方案实现、F/A 分层设计,通过重构,可以快速支持除 React 外的通用组件库,比如 Vue、Svelte 等:

    9274d7d15941f9f61ffa8849e9106d81.png
    F/A架构

当然,光有这些并不能让我眼前一亮。毕竟现在前端的组件库实在太多了,像 “国际化” 这种很多组件库都具备的东西已经像是不成文的标准,不再是 “你有它让人很新鲜”,而是 “你没有它反而让人觉得垃圾” 。

然后打开 Semi Design 的组件文档,可以看到页面比较精简、组件也很丰富。但是左侧组件菜单的小图标给我一种不太舒服的感觉,好像色彩太过丰富了一些。

1e7fb6b9e2716e1563404e0679284b76.png
组件文档

此外,整个文档给我的感觉也是似曾相识,好像和蚂蚁的 React 组件库 Ant Design 神似。

c2f6f01ca6e44ae3993fd8c98c6feb0f.png
Ant Design 组件库

然而,点击查看一个组件后,我发现了一些小惊喜。

首先是每个组件上方都多了一个 版本对比 的按钮:

cfd1e825793c3d9ee70242a5ae6199eb.png

有了这个东西,我们可以快速了解每个组件随版本的更新和变化,从而减少一些版本不一致导致的 Bug。

6867ae163fd26f806da25ac2c473c5d5.png
版本对比

还有就是提供了 代码实时编辑 的能力,我们想要使用哪个组件,都可以直接实时修改代码并查看效果。可以等调试出自己想要的界面时,再把代码复制到自己的项目中,从而大大提高开发效率。

7dcc15ab75af4bfab7ba1d4723c98278.png
实时编辑组件

此外呢,Semi Design 还计划上线物料市场,可以理解为一个组件社区。之后会提供更多开箱即用的组件,帮助大家更快地开发出精美的前端界面。

e8c4e53db5b07cb22d027181a19036dd.png
物料市场

总之,整体来说,我还是很看好 Semi Design 的。

杂谈

虽然网上都在说 Semi Design 是抄袭了 Ant Design,但也许这不是什么坏事。

首先,蚂蚁的 Ant Design 本身就已经开源了,开源的理念之一就是希望让大家更好的参与项目的建设、共同促进技术的发展。蚂蚁团队为国内的前端生态做出了不可磨灭的贡献,也有很多成熟的、值得学习的理念和技术,其他组件库去借鉴和学习他们,自然也是对他们的肯定。

当然,我本身很讨厌抄袭,但借鉴和抄袭是两码事。

换个思路想想,假设 Ant Design 做的并不好,字节抖音那么大的团队,难道还会去借鉴他们么?难道他们团队没有实力去做一个又新又好的么?

而且,仔细看 Semi Design 就会发现,他的语法风格和属性名称和 Ant Design 的也很类似。你当然可以说他是抄袭,但仔细想想,对于用户来说,使用不同的组件库时不需要去区分语法,可以保持之前的使用习惯,难道不是一件天大的好事么?

比如很多编程语言的取子字符串函数名都是 substring,已经成为了一种不成文的标准。

当我们做一个新产品、造个新轮子时,能让用户自然平滑地迁移和切换,是一种很机智的策略。

再说了,字节开源了 Semi Design,不仅对我们开发者来说是多了一套选择,而且还变向地给 Ant Design 施加了压力,也许能促进他们更好地进步和完善呢?

7794b49717135135f43c49b64e05a900.png

当然,以上只代表我个人看法~ 无论如何,希望前端组件库能发展的更好,造福更多的开发者。



以上就是本期分享,我是鱼皮,最后求个 点赞 + 在看 ,这将是我持续创作的最大动力,谢谢 🙏

7654c09aee550df72de9ce648f759d3f.png

往期推荐

隔壁厂员工进局子了!

我的个人博客上线啦!

27万,这次事情搞大了!

汇总一波免费 Python 资源

鱼皮 Java 学习路线视频 + 网站

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/296220.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSS2-3常见的demo列子总结

CSS2-3常见的demo列子总结 阅读目录 1. css超过一行或者多行后显示省略号。2. css图片未知高度垂直居中完美解决方案。3. 学习使用 :before和 :after伪元素回到顶部1. css超过一行或者多行后显示省略号。 Css实现超过一行后显示省略号&#xff1b;代码如下&#xff1a;<p st…

18张难以置信的照片,封面这张你就没见过

全世界只有3.14 % 的人关注了爆炸吧知识感谢网络&#xff0c;只要点几下鼠标&#xff0c;就能看到我们以前从未见过的东西——有些甚至是难以置信的&#xff01;鲸鱼的心脏水中的鲨鱼卵幼年的箭鱼萌萌哒世界上最高的棕榈树&#xff0c;简直以为是PS的没见过的话&#xff0c;很容…

Java 关于中文乱码处理的经验总结

为什么说乱码是中国程序员无法避免的话题呢&#xff1f;这个首先要从编码机制上说起&#xff0c;大家都是中文和英文的编码格式不是一样&#xff0c;解码也是不一样的&#xff01;如果中国的程序员不会遇到乱码&#xff0c;那么只有使用汉语编程。汉语编程是怎么回事我也不大清…

[信息收集] HCOMP 2010概况及收录论文

这是第二届HCOMP. 全称&#xff1a;Human Computation Workshop(HCOMP2010) 时间&#xff1a;July 25, 2010 地点&#xff1a;Washington, D.C., USA 收录论文情况&#xff1a;共有4个session&#xff0c; 包括&#xff1a; Invited Talk(1篇&#xff09;, Market design(3篇),…

.NET 生态系统的蜕变之 .NET 6

.NET 6 是自.NET 4 框架以来生态系统看到的最大版本更新&#xff0c;虽然.NET Core 是2014年开始非常大的一项重大战略举措&#xff0c;但是.NET 6是真正的具有强大动力的非常重要的版本。2021年11月9日即将正式发布的.NET 6, 也许你认为.NET 5才刚刚发布&#xff0c;我才刚开始…

C语言程序读写文件(文件内存一个十进制数,每读一次数值加一)

1.问题&#xff1a;C语言程序实现读写一个txt文件&#xff0c;txt文件中存储一个十进制数、每读一次该数值加一。 2.实现&#xff1a;新建一个文件夹&#xff0c;在该文件夹中建一个outputFileName.txt文件、内容是&#xff1a;1&#xff0c;再在该文件夹中新建一个t.c文件、内…

php 电梯程序设计,教你写出京东电梯式轮播

效果知识点&#xff1a;企业布局技巧&#xff0c;如何高效的编写CSS样式&#xff0c;常用选择器&#xff0c;基本标签&#xff0c;盒子模型&#xff0c;jquery类库调用&#xff0c;JS特效编写&#xff0c;JS编程思维等。京东电梯式轮播源码&#xff1a;Document*{margin:0px;}/…

我看你还能坚持多久?!

1 我看你还能坚持多久&#xff01;▼2 依旧是熟悉的配方▼3 到哪儿都不愁工作......▼4 请问&#xff0c;当事喵作何感想&#xff1f;▼5 池塘危险&#xff0c;请勿靠近&#xff01;&#xff08;图源网络&#xff0c;侵删&#xff09;▼6 望周知&#xff01;▼7 实在是无…

查询一个表中所有id字段在另一个表中对应值的SQL语句怎么写?

编辑器加载中... 查询一个表中所有id字段在另一个表中对应值的SQL语句怎么写&#xff1f;多表联结查询:select rbd.RBDID, rbd.ProductCode,p.ProductCnName,p.[Standard],p.Impression,pb.BrandName,cgdw.UnitName,un.UnitName ,rbd.BuyingAmount,rbd.UnitPricefrom PCS_Requ…

CiberCut_5.6 标牌制作

CiberCut_5.6 标牌制作Elibrium.My.Professional.Business.Cards.v4.0 名片设计SummitSoft.Business.Cards.Plus.2004 名片设计SummitSoft.Label.Designer.Deluxe.2004 标签设计Teklynx.LabelView.Gold.v8.10.06 BrainVoyager QX 2.0.7 可视化核磁共振Dentrix.v10.5.4.4 牙医软…

Hello Blazor:(13)查找HTML元素对应.razor文件

前言Blazor是基于组件的开发&#xff0c;每个组件都是以一个.razor文件形式存在。当应用程序变得越来越大并且.razor文件的数量和层次结构越来越多时&#xff0c;想很快弄清页面上的HTML元素是由哪个组件生成的&#xff0c;就变得不那么容易了&#xff01;FindRazorSourceFile介…

C++STL之string (转)

在学习cSTL中的string&#xff0c;在这里做个笔记&#xff0c;以供自己以后翻阅和初学者参考。 1&#xff1a;string对象的定义和初始化以及读写 string s1; 默认构造函数&#xff0c;s1为空串 string s2(s1); 将s2初始化为s1的一个副本 string s3("valuee");…

当年的毒王熊猫烧香,现在怎么样了?

全世界只有3.14 % 的人关注了爆炸吧知识放假&#xff0c;小编来到了远在73公里之外的天后宫&#xff0c;终于是了了本命年的一桩心事。回想上一个本命年&#xff0c;当时小编还是沉迷扫雷和蜘蛛纸牌的孩子...但当时却发生了一件令我很不爽的事——“熊猫烧香”席卷全国&#xf…

$query php,phpQuery让php处理html代码像jQuery一样方便

简介如何在php中方便地解析html代码&#xff0c;估计是每个phper都会遇到的问题。用phpQuery就可以让php处理html代码像jQuery一样方便。DEMO我下的是onefile版&#xff1a;phpQuery-0.9.5.386-onefile.zip然后在项目中引用。html文件test.html&#xff1a;Spiderman City Driv…

《那些年啊,那些事——一个程序员的奋斗史》——126

段伏枥坐在宽敞的办公室&#xff0c;正在专心致志地研究文档的时候&#xff0c;一封邮件引发了自己的注意。邮件的内容很简单&#xff0c;主要是恭喜自己获得微软MVP候选人资格&#xff0c;请尽快填写完整的个人信息&#xff0c;以便于参与评选。 段伏枥看了这邮件&#xff0c;…

ip地址规划

子网划分好处&#xff1a;节约ip 便于管理 层次性 安全性子网数2的n次方&#xff0c;n为子网位。主机数2的N次方减2&#xff0c;N为主机数。VLSM&#xff08;variable-length subnet masks可变长子网掩码&#xff09;路由汇总好处&#xff1a;减小路由表规模 减轻路由器负担 减…

StackExchange.Redis 命令扩展

StackExchange.Redis 命令扩展Intro在之前的文章中有简单介绍过 StackExchange.Redis 直接调用 Redis 命令来实现调用 Stream 的根据消息 Id 来控制消息长度&#xff0c;因为 StackExchange.Redis 目前还不支持根据消息 Id 控制 Stream 消息长度&#xff0c;目前有很多 6.2 以后…

那个成人总会遇到的小问题……

结语超模君就问问&#xff1a;我还有机会10万&#xff0b;吗&#xff1f;&#xff08;溜了溜了&#xff09;莱布尼茨德国数学家莱布尼茨&#xff0c;被后人誉为“百科全书式的天才”&#xff0c;他的研究涉及逻辑学、力学等40多个领域。他创建了数学理论&#xff1a;微积分学。…

java继承接口和泛型,JavaSE习题 继承接口和泛型

问答题&#xff1a;1.子类在什么情况下可以继承父类友好成员&#xff1f;答&#xff1a;在同一个包内2.子类通过怎样的方法可以隐藏继承的成员变量&#xff1f;答&#xff1a;声明一个与父类相同变量名的成员变量3.子类重写继承的方法原则是什么&#xff1f;答&#xff1a;保证…

visual studio如何修改c++项目的.net framework框架版本

一、 修改项目文件 在 Visual Studio 的“解决方案资源管理器”中&#xff0c;打开项目的快捷菜单&#xff0c;然后选择“卸载项目”。 这将为你的项目卸载项目文件 (.vcxproj)。 在菜单栏上&#xff0c;依次选择“文件”、“打开”、“文件”。 在“打开文件”对话框中&#…