作为一名后端(嗯,后端,只是好奇一下),常常对前端感到好奇。。。
代码(区别于样式)是可以复用的,也很容易被复用,因为定制性并不是很强。
而 UI 这种东西我就很迷了,UI 这种东西咋复用?要求定制性这么强。往往不同项目之前的样式风格千差万别,所谓的组件化,复用下逻辑还行,复用样式的话,我觉得就不能理解了。。。迷
欢迎各路大侠来谈谈对 UI 复用的认知和体会^^
1
shoaly 2018-07-02 20:37:34 +08:00
这边的复用指的是 同一个项目里面的
|
2
SeanChense 2018-07-02 20:40:22 +08:00
像微信这种万年不变,写好组件复用的收益很大。
有的厂,重写比复用更省时间。 |
3
jamiefang 2018-07-02 20:43:57 +08:00 via iPad 1
|
4
udqg3v0ZL6h6sHu8 2018-07-02 20:54:50 +08:00 via Android
代码复用的前提是需求稳定,无论前后端。要是那种老板或者产品说改就改的坑 b 项目,复用个屁啊,能复用的我也拆开写。谁都知道少写点代码好,但是经验告诉我还是耦合少点省心。断绝改了这里影响那里的可能。当然自己说了算的项目除外。莫名生气。
|
5
mringg 2018-07-02 20:58:43 +08:00 via iPhone
组件级别的复用远远大于方法级别的复用
|
6
P233 2018-07-02 21:00:57 +08:00
style guideline
|
7
hlwjia 2018-07-02 21:03:58 +08:00
|
8
loading 2018-07-02 21:11:17 +08:00 via iPhone
bootstrap,了解一下。
|
10
murmur 2018-07-02 21:16:25 +08:00
ui 复用在办公软件类还是很明显的
|
11
omsfuk OP @loading bootstrap 了解,确实在用,正因为用它所以引发了我的思考。用它的时候往往很不好定制(可能是因为大多数时候自己设计的页面大都比较任性。。),还不如自己写样式来的痛快=-=
|
13
qiayue 2018-07-02 21:25:25 +08:00
|
14
qiayue 2018-07-02 21:25:59 +08:00
|
15
congeec 2018-07-02 21:27:46 +08:00 via iPhone
|
16
omsfuk OP @congeec 我来举个反例,比如我非要将下拉菜单和菜单栏融合呢,,表述可能不是很清楚,大体意思就是我非要进行一些微调,这些微调往往又不是几下就搞定的
|
18
murmur 2018-07-02 21:39:11 +08:00
|
19
omsfuk OP @congeec 通俗一点来说,就是即使是一个按钮组件,样式也五花八门。所以说这是不是要求设计师不要太任性 斜眼笑.jpg
|
21
lightening 2018-07-02 21:45:00 +08:00
@omsfuk 菜单栏可以接受 items,其中的一个 item 可以是个下拉菜单啊。
|
22
lightening 2018-07-02 21:48:07 +08:00
这和跨项目的代码复用是一样的。如果你想写一个跨项目使用的工具库,肯定是会覆盖一些通用的功能,并提供一些配置选项。如果你要做一个跨项目使用的 UI 库,当然也是覆盖一些通用的 UI 组件,并提供一些配置选项。
|
23
omsfuk OP @lightening emmmm,就怕要求太任性,配置选项不够,,,话说回来,最全的配置选项莫过于 css,虽然抽象层次低
|
24
udqg3v0ZL6h6sHu8 2018-07-02 21:55:15 +08:00
@hlwjia 哎可是这个道理好多人就是不懂,还以样式复用为荣,最可恨的是不该复用的也非要写在一起。js 慢慢理还能理清楚,但是 css 搞在一起那可真是想骂人。有一次我终于等到项目重构,好不容易把该拆开的拆开了,请个假回来又被前同事把样式抽出来了,嗯,前同事。
|
25
Torpedo 2018-07-02 22:05:36 +08:00 via Android 1
肯定有复用。设计团队有规范的,所以设计上就有复用,代码肯定也有
|
26
lightening 2018-07-02 22:19:38 +08:00
@orzzyd 对。是否应该复用不是取决于他们是不是很像,而是取决于他们是不是逻辑上是一样的东西。
|
27
lightening 2018-07-02 22:20:42 +08:00
@omsfuk 如果像 React Components 一样可以带逻辑,就有其他的配置方法。是的,一个好的 UI 库肯定是要经过科学合理的设计的,就像好的代码工具库一样。
|
28
udqg3v0ZL6h6sHu8 2018-07-02 23:02:51 +08:00 via Android
@lightening 嗯。所以复用与否,很大程度上是产品决定的,不是前端。
|
30
imn1 2018-07-03 03:13:38 +08:00
其实 UI 比后端更容易复用
因为现在的 UI,基本就是控件(对象),及其属性、方法、事件的集合(现在可能还多个绑定数据) 实际上设计 UI 很少用到控件的方法(指特殊的那些),事件其实也比较固定 基本上可以写成一些 class/function,传参生成 我的 powershell GUI,就用一个 function 可以动态生成整个 winform,其中有个 form 上面 80+个控件,只是用了一个六百行的 hashtable 做参数传到 function 搞定 有一些控件集,例如选择行政区、住址之类,完全可以做成预制件,只是很少人去做 因为搞设计的懂对象、类的人不多,另外就是前端人才流动性大,前端作业变化比后端多等等 |
31
Philippa 2018-07-03 03:59:56 +08:00 via Android
Flutter 的 UI 组件就是一个个可复用的 Widget
|
32
Building 2018-07-03 06:47:49 +08:00 via iPhone
那得看遵不遵循 MVC 了。
|
33
learnshare 2018-07-03 08:48:21 +08:00
Bootstrap 就是组件化的了
|
34
littlebaozi 2018-07-03 08:57:49 +08:00
基础组件都差不多吧,页面布局就各不相同了
|