B端问答 - “Ant Design 与 Zan Design 之间的区别?”

2024-01-23 23:30
文章标签 ant design 区别 问答 之间 zan

本文主要是介绍B端问答 - “Ant Design 与 Zan Design 之间的区别?”,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

图片

这是一位读者面试时遇到的问题,我给他解答过后也想将这个问题分享背后究竟有着哪些可以学习的点

首先给你们30秒钟的时间进行思考,来回答会从哪些方面进行总结?

如果你还不知道 Ant Design 与 Element 究竟是什么,可以去访问 Youthce.com/resources 我的个人网站了解

图片

下面是我的想法,首先这类问题,其实更适用于 Ant Design 与 公司自身设计规范 的差异,它所考察的是你是否有在实际项目当中真实处理过 设计系统/设计规范 相关的需求(其实设计系统与规范存在着很多差异点,之后有时间细细再聊,又给自己挖坑)

服务的人群:

Ant Design 是为中小型企业提供的管理后台的综合解决方案,它的立足点不是为 **某一个产品/某一个系统** 服务,更多是想着服务大多数企业,出发点就决定了Ant Design 需要去考虑设计系统的通用性,也就是需要提供给更多的用户去进行使用

而 Zan Design,它是针对自身的几条重要产品线:“商城、零售” 提炼出来的设计共性,进而形成的设计规范,最初目的是为了团队内部协作所延伸出来的设计系统。在实际使用过程中,会极大程度上考虑有赞企业自身的个性化需求

图片

这其实就牵涉到B端产品当中一个非常重要的问题:通用与个性

在通用与个性之间,往往是没有止境的,因为一个设计系统是 无法做到绝对的通用,如果想做到绝对的通用,那只能为你提供去撰写他们的工具,比如 vscode figma

而个性往往也是相对的,因为一个设计系统,也会存在很多不同的情况,如何在这些不同点当中去梳理总结一些属于自身产品个性化的内容。最终的个性化就会变得是 很多个产品的集合

因此在面试时还可以补充你对于通用与个性的看法,多方面展示自己。我们再聊 Ant Design 与zan design 的第二个区别

系统成熟度

设计系统的出现,并不是出现过后一成不变,而是需要随着 社区人数的建议,对于自身系统进行调整

你可以发现 Ant Design 已经经历过 三次大版本的迭代,并且在系统成熟度上有了很大的提升。它自身组件、API 也在不断进行完善,从最早时的青涩到现在的成熟也是一步一步走来,因此当自身团队也需要做设计系统时,也需要考虑到这一问题

图片

而 Zan Design 则一直停在自己 1.0 版本没有进行大范围调整改动,这也证明一个设计系统当满足自身企业需求过后便只需进行日常维护即可,不用做大范围改动。也从这里反应出来 Zan Design 只适合用于与有赞自身相关企业进行使用,不利与大面积推广

行业影响力

Ant Design 目前在行业当中算是十分出名,毕竟有着阿里这个稳定的后背,比起隔壁家的Element 日子可过得好过了, Ant D 不仅在国内有着不少的用户,同时在国际上也是有着非常多的使用者,Ant D 除了在18年圣诞节的黑天鹅事件之外,没有什么槽点

相比之下 Zan Design 就显得有些简单,甚至不如 Element,也正是因为它主要用于有赞自己平台,因此不需要太大的影响力

技术类型

虽然技术方面不是设计师擅长的,但设计系统的对比肯定少不了技术框架,虽然两者的技术类型都是 React ,但是可以聊的点还是非常的多

目前市面上针对B端产品的前端技术类型一共分为三类:Vue、React、Angular

首先 Angular 在国内主要推行比较缓慢,少有团队在进行使用。因此在这里首先就被排除

而 Vue 在国内的大火,离不开其创始人 华裔:尤雨溪 (别人同样也是设计师,和我们之前的差距咋这么大),而Vue最具代表性的便是 Element,因Vue拥有这中文技术文档、较低的门槛、不错的技术社区,在国内也算站着半壁江山

而 React 最具代表性的便是 Ant Design,首先非常感谢 Ant Design 提供一个较为完整的设计系统,确实在帮助很多中小企业上,坚守住了B端设计的底线。

我曾经看到很多小团队在研发B端项目时,没有设计师使用Ant Design 也能够保证其页面有着不错的设计效果

总结

其实回归这一个题目,本身所考察的就是一个面试者能否有处理设计系统的经验,而回归设计系统本身,你可以从 技术类型的选择、设计系统搭建时的心得、设计系统搭建后的维护角度更多的去发散。

面试本身就是一个交流,你要做的只是聊出自己的想法便是,这个问题问你,你还会怎么回答?我们评论区见

知识搬运,顺带推广下我的开源项目:aidex sharp快速开发平台

 码云地址:https://gitee.com/big-hedgehog/aidex-sharp。欢迎体验,欢迎star和fork,关注我们最新的研发动态哦,好运呦!

这篇关于B端问答 - “Ant Design 与 Zan Design 之间的区别?”的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/637867

相关文章

Java中ArrayList和LinkedList有什么区别举例详解

《Java中ArrayList和LinkedList有什么区别举例详解》:本文主要介绍Java中ArrayList和LinkedList区别的相关资料,包括数据结构特性、核心操作性能、内存与GC影... 目录一、底层数据结构二、核心操作性能对比三、内存与 GC 影响四、扩容机制五、线程安全与并发方案六、工程

java父子线程之间实现共享传递数据

《java父子线程之间实现共享传递数据》本文介绍了Java中父子线程间共享传递数据的几种方法,包括ThreadLocal变量、并发集合和内存队列或消息队列,并提醒注意并发安全问题... 目录通过 ThreadLocal 变量共享数据通过并发集合共享数据通过内存队列或消息队列共享数据注意并发安全问题总结在 J

Java文件与Base64之间的转化方式

《Java文件与Base64之间的转化方式》这篇文章介绍了如何使用Java将文件(如图片、视频)转换为Base64编码,以及如何将Base64编码转换回文件,通过提供具体的工具类实现,作者希望帮助读者... 目录Java文件与Base64之间的转化1、文件转Base64工具类2、Base64转文件工具类3、

java中不同版本JSONObject区别小结

《java中不同版本JSONObject区别小结》本文主要介绍了java中不同版本JSONObject区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录1. FastjsON2. Jackson3. Gson4. org.json6. 总结在Jav

数据库使用之union、union all、各种join的用法区别解析

《数据库使用之union、unionall、各种join的用法区别解析》:本文主要介绍SQL中的Union和UnionAll的区别,包括去重与否以及使用时的注意事项,还详细解释了Join关键字,... 目录一、Union 和Union All1、区别:2、注意点:3、具体举例二、Join关键字的区别&php

java中的HashSet与 == 和 equals的区别示例解析

《java中的HashSet与==和equals的区别示例解析》HashSet是Java中基于哈希表实现的集合类,特点包括:元素唯一、无序和可包含null,本文给大家介绍java中的HashSe... 目录什么是HashSetHashSet 的主要特点是HashSet 的常用方法hasSet存储为啥是无序的

5分钟获取deepseek api并搭建简易问答应用

《5分钟获取deepseekapi并搭建简易问答应用》本文主要介绍了5分钟获取deepseekapi并搭建简易问答应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1、获取api2、获取base_url和chat_model3、配置模型参数方法一:终端中临时将加

2.1/5.1和7.1声道系统有什么区别? 音频声道的专业知识科普

《2.1/5.1和7.1声道系统有什么区别?音频声道的专业知识科普》当设置环绕声系统时,会遇到2.1、5.1、7.1、7.1.2、9.1等数字,当一遍又一遍地看到它们时,可能想知道它们是什... 想要把智能电视自带的音响升级成专业级的家庭影院系统吗?那么你将面临一个重要的选择——使用 2.1、5.1 还是

Python中@classmethod和@staticmethod的区别

《Python中@classmethod和@staticmethod的区别》本文主要介绍了Python中@classmethod和@staticmethod的区别,文中通过示例代码介绍的非常详细,对大... 目录1.@classmethod2.@staticmethod3.例子1.@classmethod

Golan中 new() 、 make() 和简短声明符的区别和使用

《Golan中new()、make()和简短声明符的区别和使用》Go语言中的new()、make()和简短声明符的区别和使用,new()用于分配内存并返回指针,make()用于初始化切片、映射... 详细介绍golang的new() 、 make() 和简短声明符的区别和使用。文章目录 `new()`