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

相关文章

day-51 合并零之间的节点

思路 直接遍历链表即可,遇到val=0跳过,val非零则加在一起,最后返回即可 解题过程 返回链表可以有头结点,方便插入,返回head.next Code /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}*

native和static native区别

本文基于Hello JNI  如有疑惑,请看之前几篇文章。 native 与 static native java中 public native String helloJni();public native static String helloJniStatic();1212 JNI中 JNIEXPORT jstring JNICALL Java_com_test_g

【每日一题】LeetCode 2181.合并零之间的节点(链表、模拟)

【每日一题】LeetCode 2181.合并零之间的节点(链表、模拟) 题目描述 给定一个链表,链表中的每个节点代表一个整数。链表中的整数由 0 分隔开,表示不同的区间。链表的开始和结束节点的值都为 0。任务是将每两个相邻的 0 之间的所有节点合并成一个节点,新节点的值为原区间内所有节点值的和。合并后,需要移除所有的 0,并返回修改后的链表头节点。 思路分析 初始化:创建一个虚拟头节点

Android fill_parent、match_parent、wrap_content三者的作用及区别

这三个属性都是用来适应视图的水平或者垂直大小,以视图的内容或尺寸为基础的布局,比精确的指定视图的范围更加方便。 1、fill_parent 设置一个视图的布局为fill_parent将强制性的使视图扩展至它父元素的大小 2、match_parent 和fill_parent一样,从字面上的意思match_parent更贴切一些,于是从2.2开始,两个属性都可以使用,但2.3版本以后的建议使

Collection List Set Map的区别和联系

Collection List Set Map的区别和联系 这些都代表了Java中的集合,这里主要从其元素是否有序,是否可重复来进行区别记忆,以便恰当地使用,当然还存在同步方面的差异,见上一篇相关文章。 有序否 允许元素重复否 Collection 否 是 List 是 是 Set AbstractSet 否

javascript中break与continue的区别

在javascript中,break是结束整个循环,break下面的语句不再执行了 for(let i=1;i<=5;i++){if(i===3){break}document.write(i) } 上面的代码中,当i=1时,执行打印输出语句,当i=2时,执行打印输出语句,当i=3时,遇到break了,整个循环就结束了。 执行结果是12 continue语句是停止当前循环,返回从头开始。

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令 在日常的工作中由于各种原因,会出现这样一种情况,某些项目并没有打包至mvnrepository。如果采用原始直接打包放到lib目录的方式进行处理,便对项目的管理带来一些不必要的麻烦。例如版本升级后需要重新打包并,替换原有jar包等等一些额外的工作量和麻烦。为了避免这些不必要的麻烦,通常我们

ActiveMQ—Queue与Topic区别

Queue与Topic区别 转自:http://blog.csdn.net/qq_21033663/article/details/52458305 队列(Queue)和主题(Topic)是JMS支持的两种消息传递模型:         1、点对点(point-to-point,简称PTP)Queue消息传递模型:         通过该消息传递模型,一个应用程序(即消息生产者)可以

深入探讨:ECMAScript与JavaScript的区别

在前端开发的世界中,JavaScript无疑是最受欢迎的编程语言之一。然而,很多开发者在使用JavaScript时,可能并不清楚ECMAScript与JavaScript之间的关系和区别。本文将深入探讨这两者的不同之处,并通过案例帮助大家更好地理解。 一、什么是ECMAScript? ECMAScript(简称ES)是一种脚本语言的标准,由ECMA国际组织制定。它定义了语言的语法、类型、语句、

linux中使用rust语言在不同进程之间通信

第一种:使用mmap映射相同文件 fn main() {let pid = std::process::id();println!(