全干工程师怎么入门 UI 设计

4 天前
 coollest

现在的工作是给一个生物信息实验室做相关的数据库项目,目前前后端代码逻辑没什么问题,就是被吐槽页面 UI 及结构设计比较丑,有没有相关设计的入门路线或者学习路线,各种文档或者学习视频都行,提前感谢各位大佬!

3652 次点击
所在节点    设计
79 条回复
xiaohanyu
3 天前
@abc1310054026 #59

大部分 CSS 的 UI 库应试都是以 4px 为基础单位的吧?我有用过 taillwind ,但是觉得 tailwind 还是有一些别的问题,最终还是放弃了。
abc1310054026
3 天前
@xiaohanyu 是的。

个人觉得 tailwind 主要有两点很好。

一是避免了绞尽脑汁想 class name 。什么中划线,下划线,BEM 都不用管了。
二是在统一单位和灵活性上保持了平衡。
xiaohanyu
3 天前
@abc1310054026 #62

class name 这个,用 CSS in JS 其实可以缓解不少了。

tailwind 的主要问题在于,如果重度使用,完全从头自己写组件库,其实维护性是蛮的,一个 `div` 几十个 class ,debug 起来其实蛮烦的,比如这种官方的例子,很难说是维护性很好:

```
<div class="sm:col-span-3">
<label for="last-name" class="block text-sm/6 font-medium text-gray-900">Last name</label>
<div class="mt-2">
<input type="text" name="last-name" id="last-name" autocomplete="family-name" class="block w-full rounded-md border-0 py-1.5 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm/6">
</div>
</div>

<div class="sm:col-span-4">
<label for="email" class="block text-sm/6 font-medium text-gray-900">Email address</label>
<div class="mt-2">
<input id="email" name="email" type="email" autocomplete="email" class="block w-full rounded-md border-0 py-1.5 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm/6">
</div>
</div>
```
zhb1993
3 天前
PluginsWorld
3 天前
@xiaohanyu 我也有用 tainwind ,但是目前也处于放弃阶段。上周都还引入使用了。

放弃原因,html 中要写太多的 class ,维护的时候很不方便,需要还原 UI 都高度时,有些时候高度需要自己写,tailwindcss 写法时 h-[xxxPx], 例如 h-[44px],而且顺序问题,样式层级分组问题。这些在 UI 层面就是图层。

tailwindcss 看似很方便,也有弊端。
PluginsWorld
3 天前
tailwindcss 主要缺点就是维护。例如我从 vercel 找一个模板下来。为了在顶部加上导航条。需要从代码一层层的 div 中找到真实影响的,然后再去定制华。维护的时候挺麻烦
xiaohanyu
3 天前
@PluginsWorld #65

对的,是这样的,看上去非常美好,但是如果你要统一尺寸的 unit ,或者 color pallete ,用 tailwind 这种 h-[xxxPx] 的写法,丢失了 TypeScript 中的类型信息,后续修改维护其实还是非常麻烦的。

我个人认为,tailwind 其实是给库的作者使用的,绝大多数人其实也没有用 tailwind 重新写一套组件库的必要。

普通产品开发,用一套成型的组件库,加上 tailwind 适当修饰一下,可能是一个比较好的折衷的办法。
morizawatt
3 天前
虽然不建议,但想应付工作速成的话就直接抄别人吧。想真的学的话,从最基本的学起,网上都有教程。

设计完全不像写代码,你学了编程、会了工具就可以上手了。美感的培养挺综合的,需要日积月累,不是说学会操作 figma 、sketch 、ps 就是会设计了。
PluginsWorld
3 天前
@xiaohanyu #67 我也是认为是给库的开发者使用。应用开发者去用 tailwindcss 的时候很难用好。或者说能看似用好。后面会面临别的问题
coollest
3 天前
@morizawatt 确实,我觉得审美这方面也得一点一点来
coollest
3 天前
@zhb1993 老哥稳!
abc1310054026
3 天前
@xiaohanyu 有道理,我倒是没有仅用 tailwind 写过组件,目前就是用 quasar 组件库加上 tailwind 作为辅助的。

tailwind 难以应对设计师天马行空的想象力,但他提供了一个下限。用 tailwind 很容易写出一个“不丑”的页面。
xption
3 天前
@PluginsWorld 你好,请问怎么私你呢
PluginsWorld
2 天前
微信 1254075921
xiaohanyu
2 天前
@abc1310054026 #72

恰恰相反,我个人认为如果工程师要写出一个“不丑”的页面,最好不用用 tailwind 这种约束性比较弱的方案,还是找成型的更高级一些 UI 库比较好一些。

tailwind 太自由了,也就是比裸写 CSS 高了一小档,个人自由发挥很容易就写出“奔放”过头的页面和设计,当然不可否认,tailwind 确实是有很多优秀的 template 可以参考。
gogogo1203
2 天前
@xiaohanyu tailwindcss 是绝大部分前端的默认选项了。 用了 tailwindcss , 也可以使用 css, inline, styled css.

工程师要写出‘不丑’的页面:
1. 用设计好的 template 和组件, 改改颜色就好了。shadcn-ui , 有付费的 tailwindui.
2.用 composition, 所有的 container, layout ,form, input, button 全部重复使用,保持统一性。
3.直接学习别人优秀的开源项目,学别人怎么做 ui/ux 的。

我看过那些 ui 设计的书,基本忘光了。看别人的代码,看别人怎么做的,是最快的。 midday, medusa, supabase + tailwindui. 用这些做底, 基本都不会‘丑'.
CouleurVVEX
2 天前
@zhb1993 感谢大好人
aleimu
2 天前
说实话,我干全干几年了,不期望自己能写 UI 特效,因为真的写不好,其实用 ele 和 antd 全家桶基本够用了,再学点《写给大家看的设计书》简易的组件排布,基本是够看的,你不能指望全干还全精通吧....
coollest
2 天前
@aleimu 这两天看了《写给大家看的设计书》,确实有用,看完之后觉得之前的布局确实不好看。应该是之前确实低于平均水平,我想着基本能达到平均水平就行了,精通肯定是精通不了一点

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1088434

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX