为什么我决定不使用传统UI框架了!!!

1,670 阅读7分钟

前言

先预祝大家新年好!!!

这篇文章中,我将会分析传统UI框架的优缺点。并说明,我作为一个独立开发者为何放弃使用这些框架,并使用了我自己的方案:无样式UI框架+简单易用的css框架+用户体验和UI体验常识。最后,给我的这些方案实现过程中的学习资源和方案。

各位读者要是觉得我的文章对你有一点点帮助的话,麻烦点赞收藏,写作不易,你的支持就是我更新的动力。谢谢!!

image.png

我与这些框架的故事

image.png

多年以前,当我还是个大三学生的时候。我第一次使用了Bootstrap框架。当时对我来说是一个巨大的冲击,因为这个框架让我的界面变得优雅,好看,甚至同学们都赞赏我界面做得十分之好。

image.png

疫情发生前,我为了找工作,学习使用了Ant Design。这个框架更上了一个层次,不仅仅好看,而且好用,加速了我开发界面和功能的速度。

但是,当我工作后。我发现了,我大部分的时候都要修改组件库的样式,来还原设计稿件。相信刚刚工作的新手都有这方面的痛苦,有时候为了将组件适配到新的样式,我们花的时间可能比新写一套样式还要久。但是让我从头开始写一个组件,我又觉得效率太低,因为重写一个ui框架不仅仅要重写其样式,还要实现许多JavaScript实现的功能。这样是效率太低,让我很痛苦。

后来,我决定做自己的产品了。我经过一番调研后,我下定决心抛弃之前我使用的这些类型的UI框架。下文我将给我不再使用这些类型框架的理由,还是我将使用新的开发方案。

为什么我决定不使用传统UI框架了

在我说明我不使用这些ui框架的原因,我先说一下它们的优点,然后详细说明我使用的原因。

优点

  1. 预先设定的设计:这些框架一般都有着十分良好的设计,好看的界面。新手或者没有设计师团队的开发朋友,喜欢使用这种框架,因为直接使用,就能获得很好的效果。
  2. 丰富的功能:这些组件库往往有一些高级特性,更好的是,这样特性经过测试,并且是可以配置的。这节省了我们大量的开发时间。
  3. 可用性和易用性:比较大型的框架,往往有资源去关注可用性和易用性,对不方便的人士比较友好。

缺点

总得来说,这些框架为我们做出了选择,有时候有些选择可以通过配置进行改变,但是大部分时候不会。这是它对喜欢高效开发人员来说好用的关键,但是对现在的我来说,这还不尽完美。

  1. 预先设定的设计:这意味着无法应对用户体验设计师的设计方案,当然大家可以相互做出妥协,但是你知道的妥协往往是平庸的开始。
  2. 丰富的功能:这导致了文档中往往有一大堆配置,你必须阅读大量的文档,才能用起这些功能。当然这也是我们工作的一部分。但是那些很久都没有修复的issue,那些bug,某些时候不经意的彩蛋,带来了不少问题。但是无可否认,这些丰富的功能给我们带来了很大的便利。
  3. 可用性和易用性:这个是很棒的一部分,在我的新方案中我将会保留。

我的新方案

开门见山,我的新方案是无样式UI框架+简单易用的css框架+用户体验和UI体验常识。

作为独立开发者,我不得不去关注自己做的产品的用户体验,我经常要去改变样式,对我来说功能不仅仅要好用,而且要用的开心。

无样式UI框架

什么是无样式UI框架

无样式 UI 框架是一种不包含预定义样式的 UI 框架。这意味着,使用这种框架创建的组件将不会有默认的外观,而是需要通过 CSS 来定义样式。这样做的好处是,开发人员可以自由地设计组件的外观,而不会受到框架的限制。除此之外,这种框架更加关注可用性和易用性,具有常见的框架都有的功能。

哪些常见的UI框架

react

  1. Reach UI
  2. Primitives – Radix UI
  3. Headless UI - Unstyled, fully accessible UI components

vue

  1. Headless UI - Unstyled, fully accessible UI components
  2. Oruga | Oruga

使用分享

本人因为长期使用vue,现在分享一些我使用的经验:

目前来说我使用的是Oruga | Oruga

image.png

首先,这个框架有无样式,基本样式,一个Bulma样式的版本,比较灵活啊,假如你一开始接受不了无样式,可以使用其他版本。

其次,这个框架支持多种方式优雅的修改样式。

而且还可以配合

  1. TailwindCSS
  2. Bootstrap 5
  3. Bulma
  4. Material

使用。

最后这个框架有一些基本的JavaScript实现的功能,不太冗余,能够配合使用。

css框架

Tailwind CSS - Rapidly build modern websites without ever leaving your HTML.

我不是tailwind css的大粉丝,但是我觉得tailwind css可定制化程度高,用来实现自己的设计系统比较简单。

这种直接写入的方式,很适合我这种独立开发者去给无样式框架定制样式。

当然你也可以使用传统的。

CSS: Cascading Style Sheets | MDN

Sass: Syntactically Awesome Style Sheets

用户体验和UI体验常识

直至现在,我还在为用户体验和UI设计给困扰着。我和大家一样,没有很多的的时间去学习这两方面的知识,但是想要做好这两方面需要极大的努力和时间成本。为了尽量节约大家的时间成本,我给大家推荐符合程序员思维网站和书籍。

用户体验

界面设计模式(第2版) (豆瓣)

这是一本很实用的书籍,将页面的设计总结为设计模式,十分适合我们这种理性的程序员来看。强烈推荐各位。

用户体验要素 (豆瓣)

作为一个前端我们很难去开展一些用户调研之类的,但是假如想作为一个独立开发者,我觉得这个是你必须花时间投入的书籍,当然我们没有看太多。

设计心理学 (豆瓣)

设计心理学系列,大头部,有空看,贴出来增加文章完备性。

UI

Refactoring UI

image.png

之所以给这本书上图,是因为这本书真的很好,没有太多的理论,都是一些前端工程师设计的思路,包含了如何实现一个自己的设计系统。配合Tailwind CSS 使用。

Dribbble

这是个设计师论坛,有空大家上去看看,有时候会分享一个figma的文件,这样是你实现的适合也轻松点。

Pinterest

多看看没坏处。

总结

如你所见,我经过几次地尝试,开始去了解传统方案的优缺点,去分析,替换,找到合适自己的方案。这个方案就是:

  1. 无样式UI框架:Oruga | Oruga
  2. css框架:Tailwind CSS
  3. 用户体验和UI体验常识:界面设计模式(第2版) (豆瓣) + Refactoring UI

看完这些,我们朋友们,你们的方案又是什么?

最后的话

本人经验有限,书写文章是为了更好得思考,希望大家多多交流,谢谢。

各位读者要是觉得我的文章对你有一点点帮助的话,麻烦点赞收藏,写作不易,你的支持就是我更新的动力。谢谢!!

exported (10).jpg