我在学 ios,油管上看了一些视频,有人用 storyboard,有人直接 coding 。 想问问老手,你们的漂亮界面是如何实现出来的? 感谢回复。
漂亮的界面
重点是界面,而不是漂亮,各位的热情我接收到了,但请不要跑偏了哈哈。
1
JoJoJoJ 2021-05-29 13:24:56 +08:00 via iPhone 5
漂不漂亮和 sb 还是 coding 有啥关系?
|
2
hheng101 2021-05-29 13:50:31 +08:00
都能做,大部分公司还是 coding 偏多
|
3
xarthur 2021-05-29 13:51:19 +08:00 via iPhone 1
是设计出来的……
还有不懂什么叫做直接 Coding,你是想说 Swift UI 吗? |
7
typetraits 2021-05-29 14:16:45 +08:00
个人感觉 coding 比较好,storyboard 还得拖拽,太麻烦了;而 coding 我这一行写下去,UI 什么样我心里已经大概有数了
|
8
oukichi OP @typetraits 就像我们写 CSS 。我理解了。感谢大哥!
|
9
360511404 2021-05-29 15:03:03 +08:00 1
老手是融会贯通的,不会告诉你 storyboard 还是 coding
两者各有优劣 storyboard 本质也是 xml 文件,而且编译出来载入内存更快,苹果也用,还是提倡的方式 用 coding 为了多人开发避免冲突 你可以习惯一种,但两种方式都要会用 |
10
linhongye 2021-05-29 15:03:08 +08:00 via Android 2
storyboard 已经没有后续支持了吧。 现在是 swiftui 了。教程看旧了?
|
11
nieyujiang 2021-05-29 15:09:06 +08:00 1
storyboard 自己玩挺爽的.多人协作,就很酸爽.
|
12
nicevar 2021-05-29 15:31:52 +08:00 1
storyboard 的本意是让 UI 设计师来做这一块,但是绝大多数情况都是让程序员来完成,所以它用起来真的不怎么样,很多公司都是 storyboard 还没出现的时候就在做 iOS 项目,对程序员来说跟 nib 没太大区别,如果连 nib 都不用 storyboard 也不会用了。
|
13
Lin0936 2021-05-29 15:39:02 +08:00 via iPhone 1
刚开始是 coding,然后用 storyboard,现在又回到了 coding 不过是用 snapkit
|
14
iOCZ 2021-05-29 16:24:23 +08:00
这个不是重点
|
15
irytu 2021-05-29 16:32:58 +08:00 via iPhone
关键看 design 水平 跟代码没啥关系
|
16
oukichi OP @linhongye 因为我一直不喜欢声明式开发,所以我从 swift ui 回退到了你说的“旧的”那种开发。MVC 那种。其实我写前端也不喜欢 react,更喜欢 angular 。于是……就是你说的,教程看旧了。
|
18
Leonard 2021-05-29 17:32:26 +08:00
好不好看是看设计,不过我个人不喜欢用 storyboard,coding 感觉更自在一些。oc 用 masonry,swift 用 snapkit 。swiftUI 还没怎么用。
|
20
ooops 2021-05-29 18:25:07 +08:00 via iPhone
界面漂不漂亮看 UI 设计,sb 和代码都能实现,没啥本质区别。你是想问大家都用哪种来实现?
|
21
ciki 2021-05-29 20:46:47 +08:00
swiftui 可以做出非常炫酷的 UI
|
22
C603H6r18Q1mSP9N 2021-05-29 21:56:30 +08:00 1
如果不知道就选择直接 coding 吧
|
23
4074 2021-05-29 22:07:14 +08:00 1
开始学的时候,也是跟着官方教程用 storyboard,拖来拖去很麻烦,还要在代码里进行关联。
后面全换成 coding 了,不追求极致性能的话,coding 方便很多。 |
24
Lin0936 2021-05-29 23:11:36 +08:00 1
@oukichi 主要还是看 UI/UX 设计吧,硬要说画 UI 常用的话还有个 RxSwift 吧,还有偶尔用 lottie 显示些动画。
|
26
catfan 2021-05-30 06:28:02 +08:00
Storyboard 的重要特性是能比较直观且无需编译的情况下看到界面在不同设备、不同布局、不同语言、不同转向、不同界面模式(默认 /黑暗)下的大致样式,方便进行适配和预览。
如果单纯手写界面,这部分的适配代码是非常复杂并且很难全部兼顾的,并且每次调整都需要编译后才能看到效果,开发效率可想而知。 而且 Storyboard 可以帮助理清整个应用各个界面之间的逻辑,一些界面之间的跳转只需设定好就能无需编写代码就能很好地运作。 简单来来说,Storyboard 可以大幅减少项目中那些界面设定、适配、跳转等的代码,从而让开发者更专注于应用逻辑的处理。 当然,无论哪种方式,对于复杂的界面以及动画效果,还是需要手动编写的。 |
27
WildCat 2021-05-30 07:26:10 +08:00
可以考虑纯 Code + https://nshipster.com/swiftui-previews/
|
28
wupher 2021-05-30 08:35:42 +08:00
大部分公司开发,都使用 coding 。storyboard 多个开发时那个配置文件有修改冲突问题。
Apple App 大多使用 storyborad 个人开发者看习惯了,用 storyboard 的也不少,因为出活快,也没有协同开发的问题。 |
29
lujie2012 2021-05-30 09:09:22 +08:00
? 老手回答,漂亮的界面是 UI 小姐姐做出来的,不是开发同学做出来的。
所以 coding 还是 storyboard 和 APP 的漂亮界面,动画效果没有任何关系,两者底层是用的一样的东西。两者都可以做出一摸摸一样的东西。 差别在哪里?差别很大。 新手怎么弄,新手 storyboard 先玩好吧,简单一点,之后你想办法吧 storybaord 的那个项目变成存代码的项目就是了。 拿来吃饭,什么都要懂的。拿来自己玩,storyboard 你能玩好了,什么 APP 你也都能自己做。 |
30
imkerberos 2021-05-30 09:12:29 +08:00
masonry + snapkit < pinlayout + flexlayout
|
31
Elethom 2021-05-30 09:27:55 +08:00 via iPhone
好不好看和用什么没关系,不过用 SB 的多半是不打算维护了。
|
32
gggxxxx 2021-05-30 10:45:26 +08:00
那么多贬低 storyboard 的。。。。真是搞笑。
几十年前计算机技术就在提所见即所得......那么多人捧纯 coding 图个啥? |
33
mxalbert1996 2021-05-30 11:11:44 +08:00 via Android 1
@gggxxxx 因为 StoryBoard 的多人协作和版本控制做的实在是太烂了,你看有人问 Android UI 开发用 xml 还是纯代码么?
|
34
iOCZ 2021-05-30 11:22:03 +08:00
sb 的问题是不适合代码敲,xml 可以。sb 的源码很复杂。
|
35
Cbdy 2021-05-30 11:28:49 +08:00
漂不漂亮不是看设计师吗?
|
36
Esioner 2021-05-30 12:14:35 +08:00
原来 Android,最近在看 iOS 的感觉还是 coding 写起来舒服点,storyboard 用起来卡卡的,而且写起来说不出来的不习惯,哈哈哈
|
38
cornetCat 2021-05-30 15:22:53 +08:00
sb 还是小项目用着舒服,大点的项目感觉不如纯 code 。复用也不够方便
|
40
Building 2021-05-30 23:05:47 +08:00 via iPhone
@gggxxxx 用 code 基本上写的时候脑子里就知道最终的大概效果了,就好像熟练的前端看到设计图脑子里自动就能翻译成 html 结构和 css 样式,所见即所得根本多此一举,就是给在行人看的,Storyboard 优势是场景,纯 UI 声明是 nib 文件,就是类 xml 一样的东西,如果只是简单的几个页面跳转用 Storyboard 就显得非常直观,Storyboard 这东西实际上和 UI 就没多大瓜葛。
|
41
wupher 2021-05-31 09:02:06 +08:00
@Eagleyes 这个我真不故道。不过,以前有人通过反向工程分析了 N 多个 App 的实现方式,就是为了解答你这个问题。你可以上网搜索一番。Apple App 其实两者都有,但 stroryboard 居多,有的还接近 100+ view 。
Coding 也是有很多好处的,尤其是复用和拷贝代码。 布局哪个更方便就是见仁见智了。 |
42
Eagleyes 2021-05-31 09:22:50 +08:00
|
43
wupher 2021-05-31 10:19:27 +08:00
@Eagleyes 这个我也不知道,你可以在 WWDC 上询问一下。
我觉得其实更多的是开发习惯问题。coding 可能没有可视化那么方便,尤其在调参时的直观和方便。但是维护,分享,复用肯定强于 xib / storyboard 。 |
44
Eagleyes 2021-05-31 10:50:47 +08:00
@wupher 我是觉得一个方法,尤其是吹的特别好的方法,语言,比如 Swift,Storyboard,如果官方自己都不用,(假如说 apple 仍然用 oc 来开发)那么可以断定这个新的东西就是个噱头,自己都不看好。
反之,如果官方自己用的乐此不疲,那么大概率有前途 |
45
phytry 2021-06-01 08:52:37 +08:00
漂不漂亮是设计做的,开发只是实现而已。sb 相比 coding 更直观,而且做复杂页面的时候没那么难受,coding 主要是可控和复用性高。
|
46
wiwby 2021-06-01 16:17:33 +08:00
这都 21 年了,还以为是 11 年吗,玩不转就是菜,还大把人觉得性能和协作不行,代码烂,设计能力差,用啥方式维护成本和复用性都挫
这玩意儿能满足 98%的需求,节约 50%的时间,唯一的缺点就是学习成本大点,经验性要求高点 |
47
CodingIran 2021-06-04 10:12:32 +08:00
@wiwby IB
“玩不转就是菜”——大部分情况不是用 IB 不是因为“不会”,而是“不愿意”,做好 code snippet 和封装,纯代码效率不会比 IB 差很多。但纯代码配合 frame 布局的性能却比 IB 高很多(尤其在 iOS12 以下的设备);另外纯代码对于控件封装和复用也比 IB 更有优势。你可以选择自己喜欢的 coding 方式,但不要轻易下“就是菜”的结论。 “学习成本大?——难道不是纯代码的学习成本才大吗:使用 IB 通常可以忽略视图的生命周期,我认识很多 3.4 年经验的 iOS,连 sizeToFit, sizeThatFits:, layoutSubviews, intrinsicContentSize, didMoveToWindow, didMoveToSuperview.. 这些基本的方法都不懂正确的使用。 一看到设计稿不思考着如何“优化性能”、“如何封装以方便复用”,而是直接打开 storyborad 或 xib 开始拖控件的话很难提高的。 |
48
wiwby 2021-06-07 10:41:25 +08:00
@CodingIran 你说这些和 IB 没啥关系,你要追求极限的布局性能,那就原始 frame,连框架都不要用,菜的人用啥都一样烂,支持 IB 的都能封装,纯代码封装好骗骗小白阔以,你认识的三四年经验的可能是三四年 UI 工程师,不是合格的编码人员,任何科技手段只是工具,最重要的是人,设计这玩意儿是建筑上沿用出来的,有能力的人都是从设计着手,能力不行用啥都是一坨翔。
|