1
yidinghe 2019-05-11 12:00:37 +08:00
前一阵入门了一下 dart,觉得这个语言很棒,作为静态语言加入了很多动态语言的元素,编码效率提升了很多。
|
2
murmur 2019-05-11 12:02:37 +08:00 2
“但是 flutter 的 UI 涉及风格的学习成本几乎比 html css js 的风格学习成本低 90%以上”
你这句话套给 react native 倒是挺合理的 但是如果给了 flutter 只能说你之前学的真差劲 |
3
largecat OP @murmur 我说的学习成本是指 UI 布局方面, flutter 比 html, 原生的, 特别是 html 方面的学习成本低的非常非常非常多...
|
4
largecat OP 有些后端的同学做 ui 的时候, 如果被 html 的一些标记折磨的够呛的话, 不妨试试 flutter,
你可以用极短的时间就能得到巨大的回馈....而且界面镇的很好看... |
5
bkmi 2019-05-11 12:10:34 +08:00 via Android
flutter 这嵌套还有不能省略的分号,离了 IDE 就哭了
|
6
yuikns 2019-05-11 12:14:20 +08:00
我还以为 flutter 官方适配 web 了,然后搜了下居然真有... https://github.com/flutter/flutter_web
@bkmi 不过反过来说,自己稍微配置下 IDE 构造 AST 支持起来也很强力,比各种动态语言精确多了。 |
7
dog 2019-05-11 12:15:24 +08:00 via iPhone
跑个题,不谈技术,只说美观,一直欣赏不来 material design 好看在哪…… 是不是喜欢 md 风格的都是一些后端选手… 没见过精致的……
|
8
jerrry 2019-05-11 12:18:57 +08:00 via Android
@dog mdbootstrap.com 倆者糅合的
|
9
zjsxwc 2019-05-11 12:19:39 +08:00 3
jQuery 一把梭,flutter 弟弟
|
10
dog 2019-05-11 12:44:58 +08:00
@jerrry 问题是 bs 也丑啊… 无论是 bs 还是 md 不都是为了给后端人员快速上手的选择嘛,真做项目我是觉得不忍直视的…
|
12
agdhole 2019-05-11 13:06:05 +08:00
@dog #7 大部分用框架的都是默认样式一把套,没有设计也没有调整,乱七八糟凑在一起当然不好看了,官方设计文档给出的很多示例图就很好看,https://material.io/design
|
13
nguoidiqua 2019-05-11 13:31:23 +08:00
个人也比较喜欢这种布局方式,不过有些人不适应,其实就是个习惯问题。
|
16
xrr2016 2019-05-11 13:57:43 +08:00 via iPhone 3
不是吧,我觉得 flutter 写 UI 感觉是一种退步啊...
|
17
wszgrcy 2019-05-11 13:58:16 +08:00 via Android
css 天下无双
|
18
plqws 2019-05-11 14:01:17 +08:00
flutter 相比 web,在各种意义上都是退步…除了性能和 dart
|
19
dog 2019-05-11 14:02:04 +08:00 3
@orangeade 因为一个合格的前端或设计,见过好的 UI 是不少的,就不会欣赏 MD 这种不精致的 UI 了。尤其是在 BS 和 MD 出来之前,精致的 UI 比比皆是百花齐放。注意,我说的是只有后端会欣赏,是因为他们专注于业务逻辑代码,而没有把精力放在对审美的提升(这也合情合理),但我没说后端的对立面就是前端,至少包括设计和 PM 在内,都应该有合格的审美和眼光,而不是 MD / BS 一把梭。
@agdhole 抱歉,即便是这个文档中的例子,即便是 google 自家的产品,我都认为不好看。比如大量的阴影设计、过多的动画效果、大边距、等等,这些元素在移动端 app 上也得非常细心的打磨,才可以出来比较能接受的产品,而直接拿来用的那些是真的欣赏不来。 以上,我只是表达我个人欣赏不来 MD / BS 这些 UI 组件的设计风格,就好比大家可以说自己欣赏不来某个歌手艺人一样,萝卜青菜各有所爱。 |
20
ttentau1 2019-05-11 14:04:07 +08:00 via Android
同意 16 楼
|
21
learnshare 2019-05-11 14:28:25 +08:00
Flutter 写 UI 效率可比 HTML + CSS 低多了,更别说跟 Vue/React 相比
|
22
WildCat 2019-05-11 14:36:32 +08:00
所谓写 UI 效率高低不过劣质软件工程对所谓开发速度的需求。
|
23
zzzim 2019-05-11 14:41:04 +08:00 via Android
md1 纯色不比其他花里胡俏的 ui 好看吗,不过组件的逻辑不适合 PC 网页端就真
|
24
nguoidiqua 2019-05-11 14:43:41 +08:00
@dog
老实说,BS 和 MD 确实不是那种走精致路线的,这个没啥好说的,不过呢,直接套 BS 和 MD 是绝对比很多自己搞得设计要好的。 另外,听说你审美很好的样子,不知道你这么好的审美,都欣赏哪些精致好看的 UI,有没有大家都能拿来用的那种。 |
25
damngood 2019-05-11 14:54:50 +08:00 via iPhone
flutter 这种 ui 构建方式真欣赏不来
跨平台还是走 web 吧 |
26
loginbygoogle 2019-05-11 15:00:05 +08:00 via Android
没原生开发经验就别说 Flutter,不服写个跨平台的插件试试?
|
27
dog 2019-05-11 15:01:02 +08:00 2
@nguoidiqua
我就当你是善意讨论 而不是来杠的,斗胆回答一下。 任何直接拿来用的 UI 框架基本没有精致的,不同应用 不同网站 不同内容,要展示的信息 侧重点不同,我发现大部分人在用这些 UI 框架的时候,都是在组件库中找一个差不多自己想要用的效果,然后套上去,这种做法往往会让细节无法直视。 套框架的界面,整体看上去,有导航 有内容 有大标题 有子菜单 有分区,好似没什么问题,但都无法细看。因为这些设计元素,并不是针对要展示的内容去设计的。要论精致,即便是用 BS / MD 也要在很多细节的地方,自己重写样式去调整。如果界面内容不多的话,还不如全部自己写。 举个例子,同样是导航站,如果像 /t/562937 这种的话当然不如套 UI,但类似 /t/478547 这种,就是我想表达的,针对内容去设计,至少在我看来,非常舒服。 最后回到你说的,大家都可以用的 UI 框架,我觉得 iView 和阿里的飞冰,都优化得不错,无论是 PC 上的体验,还是在中文内容的呈现上,都调教得不错。在项目比较赶 或者比较懒的时候,我会直接用这两套。 |
28
CommandZi 2019-05-11 15:02:32 +08:00 1
@dog 同意,一直以来都有看到吹 material design,吹得我怀疑人生,我心想是不是我不懂得欣赏。material design 在我看来更像是色块加阴影。
|
29
zqx 2019-05-11 15:02:56 +08:00 via Android
html 几乎没有学习成本啊。xml 和 json 一样是数据通讯格式,而不是“编程语言”
|
30
dog 2019-05-11 15:04:39 +08:00
补充一下,上面最后说的两套 UI,是指做后台管理应用时比较适用(或者说比较重业务逻辑的)。如果是前台页面,像什么产品展示啊、企业官网啊、小工具类的界面啊,那还是不建议套 UI 的。
|
31
wisetc 2019-05-11 15:06:26 +08:00
听上去真好
|
32
dodo2012 2019-05-11 15:06:29 +08:00
嵌套的头晕,dart 现在也不习惯,就练练手
|
33
dog 2019-05-11 15:08:43 +08:00
@CommandZi
色块加阴影 哈哈 挺直白的,官方的色块 配官方的业务 还过得去,而很多人拿来瞎改色,用在自己那些 app 上,那是真的惨不忍睹。 其实讲最简单的,去 themeforest 上找那些基于 MD / BS 的框架,找个觉得好看的舒服的,右键查看源代码,就知道改写了几百上千行样式。把改写的部分去掉,完全是两个东西。 |
34
xianxiaobo 2019-05-11 15:13:20 +08:00
material design 天下第一
|
35
azh7138m 2019-05-11 15:18:27 +08:00 via Android
@dog 握手,我也觉得 MD2 之后动效过多了,新版 Gmail 真的难受,好多产品更新之后感觉非常捉鸡,完全是面向移动端的设计,桌面上用的别扭。
|
36
azh7138m 2019-05-11 15:21:31 +08:00 via Android
@CommandZi 反观微软的就做的很好,设计指南里面全是交互动图,解释什么场景要怎么做(
一个详情交互效果我感觉我能写一年。 |
37
jlkm2010 2019-05-11 15:55:19 +08:00
同意 22 楼
|
38
nguoidiqua 2019-05-11 16:31:45 +08:00
@dog
既然你知道这种开箱即用的东西不可能精致,那你说它不精致有意思吗?这种东西,它保障的是下限,而不是上限。 事实上,现在大部分套用 MD 的 APP 还看着可以,我不觉得他们离开 MD 会设计得更好,很多自己搞自己风格的大 APP 那才叫惨不忍睹。一些小而美的 APP 确实比简单套用 MD 的看起来好点,但是对比那些 MD 用得好,也没有什么蛮突出的。在 MD 出来之前的时代,小而美的 APP 很受大家推崇,我也经常关注一些精品 APP 推荐。后来 MD 出来了,这种事情就没那么流行了,为什么呢,因为大家都不差了,稍微精致一点也没强到哪里去。 另外你说的那两个,也相去不远。 |
39
dog 2019-05-11 16:38:01 +08:00
@nguoidiqua 开箱即用不精致,我为什么就不能说它不精致?我觉得非常有意思。
|
40
nguoidiqua 2019-05-11 16:43:14 +08:00 2
|
41
dog 2019-05-11 16:49:41 +08:00
@nguoidiqua 首先我说 MD / BS 不精致,和它是否开箱即用无关。我也阐述了我认为好看的 UI 应该如何、以及为什么我认为 MD 不好看。我觉得我这是非常友善的讨论。你问我 我认为的有什么更好的,我也给了你两个例子,以及理由,你觉得相去不远,那就继续用 MD 就好了。何必来杠?到底是谁在说废话呢?
|
42
nguoidiqua 2019-05-11 17:27:26 +08:00 1
@dog 你觉得友善就是友善,你觉得别人审美差就是审美差,你觉得好看就是好看,你觉得丑就是丑,对吧。
不讲那么多,我就问你,针对楼主的需求,你能提供更好看的选择吗?难不成你说这些只是为了表明你的审美比楼主高。 那我知道了。 |
43
dog 2019-05-11 17:30:10 +08:00
@nguoidiqua 傻逼
|
44
jin5354 2019-05-11 17:39:13 +08:00
?? 评论比主贴好看
|
45
okayz 2019-05-11 17:44:41 +08:00
嵌套太懵逼。。
|
46
nguoidiqua 2019-05-11 17:51:51 +08:00
|
47
dog 2019-05-11 18:06:20 +08:00 via iPhone 2
@nguoidiqua 遇到不会好好讨论的傻逼我当然也可以不友善,比如你这种
|
48
wly19960911 2019-05-11 18:17:52 +08:00
论嵌套,react 和 flutter 没什么区别啊,而且 react 的成本还比 flutter 大。换成 html 之后,后端就能接受嵌套语法?
|
49
janxin 2019-05-11 18:18:07 +08:00
首先虽然我也是非常喜欢 Flutter 的,不过确实有几点我觉得还是提一下比较好。
一个是对比 React,React 的 UI 库提供的功能也是非常方便和简单的,对后端同学也比较友好,相对来说 Vue 对后端可能不太友好一点。借助 TSX 则可以扩展更多的类型提示,也是非常强大的。推荐楼主可以了解一下。React 确实是一个很有意思的框架,非常值得学习。 另外一个是,嵌套确实是一个问题,一坨真的没有美感。在这一点上,同样是嵌套,对比上 React 是要好上一些(虽然有时候也很恶心)。不过现在好消息是,Flutter 1.5 + Dart 2.3 之后很多的情况是代码如果简单使用就不会像之前那么冗长了,这个情况要比之前好上不少。具体可以看一下 Dart 的官方博客: https://medium.com/dartlang/announcing-dart-2-3-optimized-for-building-user-interfaces-e84919ca1dff 还有一个是关于界面组合,我觉得网页开发也好,原生 GUI 开发也好,Flutter 也好,都是概念非常多的拼接组合,本质上没有什么太大区别,就是写法有些区别罢了... |
50
AndroidEngineer 2019-05-11 18:19:48 +08:00
嵌套是真的不喜欢好吗?怎么会有人认为方便!无语
|
51
reus 2019-05-11 18:35:31 +08:00
嵌套不喜欢?那 html 就没有嵌套了?
|
52
murmur 2019-05-11 18:37:13 +08:00
@wly19960911 xml 那是全程序员都学过的语法 html 也算 xml 的一种 jsx 当然也像 xml
然而 flutter 那是没有 jsx 裸写 render 方法 |
53
wly19960911 2019-05-11 18:40:04 +08:00 via Android
@janxin 我感觉抛弃 HTML 之后的声明式语法比 HTML 看起来舒服多了,而且 dart 没有 js 版本的兼容问题,源码想看就看,js 没有人提供 source map 的话,你就自己猜吧。
至少看了些 flutter 原生提供的组件思路,结合看看源码,对我个人还是很受益的。 |
54
murmur 2019-05-11 18:41:12 +08:00
@wly19960911 我们写 react 用的 es5 的语法 sourcemap 有是锦上添花 没有的话一样可以
|
55
qwertyyb 2019-05-11 18:45:27 +08:00 via iPhone
这一层层的嵌套,一层层的小括号,有种回调的即视感。相对来说还是 Xml 的嵌套更为直观一些,可读性也更好
|
56
wly19960911 2019-05-11 18:52:23 +08:00 via Android
@murmur 裸写 render ?
const myheader = (name) => <header>{name}</header>; 这样定义?(手机手打)如果这样的话,dart 也可以做。我只是感觉嵌套下,其实没什么区别。不过我不是争论 react 和 flutter 的优劣,从语法上 HTML js 混合的声明语法对我来说比声明 class 思考起来更麻烦。和你理解 flutter 类似。 这还是 react 好,换成 vue 和 angular 模板写法,创建组件麻烦的要死,不少人多创建一个组件都嫌麻烦 |
57
kuyuzhiqi 2019-05-11 19:00:49 +08:00 via iPhone
新的 Android studio3.4 界面优化了,更加友好了
|
58
abcbuzhiming 2019-05-11 19:35:22 +08:00
@wszgrcy 没错,但是 CSS 同时难学难用容易遗忘
|
59
ace12 2019-05-11 19:38:39 +08:00
flutter 那嵌套不比 html 难受?
|
61
oatw 2019-05-11 20:16:22 +08:00 1
flutter 那一坨一坨的感觉。。。如果全世界只剩下它那一种开发 UI 的方式,那我宁可改行去当个护林员。
|
62
marcushbs 2019-05-11 21:46:32 +08:00
@azh7138m 想起了 Windows Vista 关机菜单几十人忙了一年的梗: http://moishelettvin.blogspot.com/2006/11/windows-shutdown-crapfest.html
|
63
laogui 2019-05-11 21:52:19 +08:00
React Native 至少继承了 Web 的表现和业务分离,标签、样式、业务代码可以分开写,Flutter 都写到一起,再加上代码嵌套,后期维护成本很高。但还是很看好 Flutter,在多端统一的兼容性上做的很不错。
|
65
Heavytiger 2019-05-11 23:41:26 +08:00
确实,希望能够统一起来
|
66
fakeshadow 2019-05-12 06:20:23 +08:00
把 widget 尽量拆散,利用 bloc 之类的模式把逻辑和样式隔离。我个人感觉 flutter 的嵌套也没那么严重。
|
68
MiYogurt 2019-05-12 12:49:27 +08:00 2
同样不喜欢 MD 风格,google 用起来感觉还行,不算丑,可以接受,但是自己用起来,感觉自己像拉了一门意大利炮,然后拿着炮管去砸人的滑稽感觉。描述树结构最优化的描述语言就是 xml 语言系,不支持这一类的工具,估计还是官方的精力不够,dart 的东西太多了,更新不过来。我最近准备出版一本关于 dart 语言的书籍,https://github.com/MiYogurt/DartUp,这几天在录制这个里面的 flutter 实战教程,这两天应该就可以录完了,可以到我的 bilibili https://space.bilibili.com/2514211 或者 https://nodelover.me 关注一下。
|
69
tuomasi 2019-07-25 07:30:56 +08:00
material design 天下第一
|
70
divasatanica 2019-07-30 18:18:55 +08:00
Flutter 的写法让我想起 ext.js
|
71
yah0130 2019-11-28 17:26:45 +08:00
@divasatanica 还真挺像
|
72
keling 2019-12-21 11:27:51 +08:00
对前端想写 APP 的是救星,h5、rn、uniapp 之类的完全不能和 flutter 比
|