总结代码: 读博客看到一个点:
首先,可视化设计和Storyboard是两个完全不同的概念。
可视化开发的特性:
MVC官方标准分层。
从根本上解决的UI代码和逻辑代码分离。
提前准备可能出现的View的状态/模式,代码只负责切切换状态/模式。
全代码电商app的代码为4w,其中2w在画UI,1w是冗余逻辑代码。好的项目的项目体积和安装体积明显很小。
代码大部分UI工作,可视化交给程序美工。开发者专心写绑定代码。
可视化设计,现阶段达不到的细节,可临时用代码fix。
第三方控件也可支持可视化设计。(第三方控件瀑布流单元格)
电商/企业app,绝大部分界面为固定布局或可枚举界面。采用可视化设计,开发效率高,用代码简直是坑爹。典型案例见附件。(见附件"订单列表窗口")。
个别窗口自定义情况较多,可采用全代码开发。
早期的可视化设计功能有残缺。但是开发者会认为残缺永远不会修复,而忽略了新版本的改良。
StoryBoard的特性:
把单个的UI设计文件(xib)放在了一个大画布上,并用线连起来。
新一代的界面跳转机制:开发者只关心sender的参数,而不关心sender的类型。
一个界面中的所有跳转代码放在一起,便于管理。
简化代码:省略了下一个VC的初始化、呈现、效果等代码。
对应PM全局线框图,可快速了解全局界面切换树。
部分功能只能在Storyboard上面做,而xib做不到。如静态表格可视化设计。(见附件"设置窗口")
官方技术发展方向。
非标准导航app,可以不采纳Storyboard跳转机制,但UI设计还是应该放在Storyboard上。
看到红色的那句:有了一点明悟:开发其实就是将代码分为两个部分,一个是UI代码,另一个是逻辑代码;
一个是实现app的整体界面的设计,让这个app以哪种形式展现出来,这部分实际就是UI代码来完成的,只要控件的frame不出错,就可以成功的展现出界面; 而较为困难的 就是逻辑代码,界面搭建成功时,但只是一个空壳,不能实现任何功能,这里就需要进行逻辑处理,实现整个界面功能的实现;
上面看似废话,但是让我对开发更加清晰了;在实际中,布局和逻辑的实现不是分开的,一般都是将界面搭建好之后,就直接实现了功能,往往一个.m文件写完,就全部完成了;这样在开发中思路就更加清晰了:要搭建怎样的界面,这个界面要实现怎样的功能;但出现问题时,是UI部分还是逻辑部分;将代码分成一块块的,更能容易理解;
storyBoard的使用将UI部分是实现大大简化,节省了时间,可以将更多的时间用于逻辑的思考和实现;
以上是我的一点浅薄思考,望大家多多指教~