从Android的角度看Storyboard

由于先入为主的原因,Android 开发者很容易搞混某些 iOS 术语,导致理解上出现偏差。举个栗子,Objective-C 中有一个关键词 interface,虽然 Java中也有 interface,但两者的含义是完全不同的,除此之外,还有很多概念相同,但是叫法不同的术语,比如 Closure(闭包) 在 Objective-C 中称作 Block。如果在学习过程中能够注意到这些不同点,不仅有助于理解术语的语义,也能够促使自己重新梳理已经掌握的 Android 知识点,可谓一举两得。这也让我想到当年背日语单词的时候,常常会查一下和英辞書看看对应的英文释义,好像能理解得更透彻一点。

所以今天突发奇想,尝试从 Android 开发的角度来总结一下 iOS 开发。这两天都在学习 Storyboard,正好写篇博文总结一下,有关Storyboard的笔记都记录在我的github

Storyboard是什么

用 XCode 新建一个 Project 后,系统会自动添加一个叫 Main.storyboard 的文件,然后大部分的UI,包括页面的跳转都可以在这个 Storyboard 中构建。下图是一个典型的工程目录结构。

?



Storyboard 的中文意思是情节串联图板,顾名思义,Storyboard 会把一些列的 Scene(情节)串联起来,构成一个 Story。

?



这个概念应用到APP开发中也比较容易理解:

每个页面就相当于一个Scene,Storyboard 把这些页面串联起来之后,就形成了一个 Story,也就是我们的 APP。

严格的定义可参考官方解释:

A storyboard is a visual representation of the app’s user interface, showing screens of content and the transitions between them. You use storyboards to lay out the flow — or story — that drives your app.

其中有几个比较重要的关键词 visual representationscreens of contenttransitionsflow / story,可以好好理解一下。



概念比较简单,用法当然也非常简单,因为 Storyboard 是一个 visual representation,所以打开 Main.storyboard 之后就可以进行WYSIWYG的编辑,如果一个 APP 包含多个 screens of content,那么它的 Storyboard 可能会如下所示:

图中可以看出,每个 screen of content 可以呈现可视化的控件(Control),连线则表示 transition,它们作为一个整体构成了一个 flow / story

一个 Storyboard 可以完整地展现出一个 APP,包括它的页面跳转和大部分的UI元素。

虽然 Storyboard 的功能已经很强大,但是也有一个不可回避的问题,如果 APP 的页面比较多,势必会导致数据的可视化变得比较复杂,当然如果你有一个很大的显示器,可以另当别论。相信 Apple 会逐渐解决这个交互问题。


Android如何构建Story

再从 Android 的角度来看, 一个 activity 就是一个 screen of contentintent 表示 transition,但是 Android 无法用可视化的方法来表示这种 transition,因此缺少了 visual representation,也就无法构成一个 flow / story



参考

  1. Storyboards Tutorial in iOS 7: Part 1
  2. Storyboards Tutorial in iOS 7: Part 2
  3. Tutorial: Storyboards
时间: 2024-08-28 12:57:28

从Android的角度看Storyboard的相关文章

从源码角度看Android系统SystemServer进程启动过程

copy frome :https://blog.csdn.net/salmon_zhang/article/details/93208135 SystemServer进程是由Zygote进程fork生成,进程名为system_server,主要用于创建系统服务. 备注:本文将结合Android8.0的源码看SystemServer进程的启动过程以及SystemServer进程做了哪些重要工作. 1. SystemServer进程启动的起点从<从源码角度看Android系统Zygote进程启动过

Android IOS WebRTC 音视频开发总结(四八)-- 从商业和技术的角度看视频行业的机会

本文主要从不同角度介绍视频行业的机会,文章来自博客园RTC.Blacker,支持原创,转载必须说明出处,欢迎关注个人微信公众号blacker ------------------------------------------------------------- 这段时间在北京呆了10天左右,相对深圳,这边有点冷,也比较干燥,期间发生了两件大事: 1,优酷和土豆被阿里招安了 2,搜狐出品人大会召开了 第一件事是大事,但跟我们关系不大,第二件事不算大事,但跟我们关系不小,原因如下: 1,优酷土豆

从另一个角度看癌症,现象、结果并不一定是病因!

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 早上刚醒,不知怎地,有了关于癌症的一些辩证想法, 其实,很多事情不是没有解决办法,而是看问题所站的角度不同, 所以,微信网传的那个外国人弄出的 Y

从一个程序员的角度看——微信小应用

前言: 最近初步了解了一下微信小应用,APP端的同事也非常感兴趣,于是在公司内部做了一个小小的分享,分享的过程中有很多讨论内容,大家也是非常感兴趣和有自己的看法,当时"混乱"的场面好几次我都没有把持住.以下内容部分来自于内部分享所用ppt.文章对微信小应用的使用做了展示性介绍,并简单介绍了代码结构.后端交互方法.最后提出一些总结和疑问.文章内容比较主观,有不对的地方欢迎大家指出纠正. 前段时间微信小应用公开内测,在朋友圈火了一把,各种阐述疯狂蔓延,干掉APP之类的说法比较突出,确实达到

另一种角度看《RFID Advanced Security》首部曲

机缘巧合,有幸看到了不少关于RFID的资料,并且有幸看到了<RFID Advanced Security>这份PDF,听说这是国内安全大会上比较早出现关于RFID的议题.又听说这份是乌云内部的高级教程,文章内容单薄是无可厚非,毕竟是演讲,单单时间上来说不可能什么都讲.看完了以后实在有点不(fei)知(yi)所措(si),因为槽点实在是太多了. 文章分成4大块,分别为"RFID Basic Knowledge.RFID Basic System Security.RFID Multip

从JVM的角度看JAVA代码--代码优化

从JVM的角度看JAVA代码–代码优化 从JVM的角度看JAVA代码代码优化 片段一反复计算 片段二反复比較 在JVM载入优化为class文件,运行class文件时,会有JIT(Just-In-Time)的介入,它会做进一步优化,这样就须要考虑是否可能被JIT优化. 片段一:反复计算 // 反复计算,这里b()被计算两次 Object a = b() == null ? "" : b(); // 优化代码 Object c = b(); Object a = c == null ? &

INDEX--从数据存放的角度看索引2

在上次<INDEX--从数据存放的角度看索引>中,我们说到"唯一非聚集索引"和“非唯一非聚集索引”在存储上有一个明显的差别:唯一非聚集索引的非叶子节点上不会包含RID的数据,让我们继续来深挖一下. 准备测试数据: CREATE TABLE TB1 ( C1 INT, C2 INT, C3 INT ) GO CREATE UNIQUE CLUSTERED INDEX IDX_C1 ON TB1(C1) GO CREATE UNIQUE INDEX IDX_C2 ON TB1(

从一个程序员的角度看——微信小应用(第二弹 见解)

最近公司的小程序刚通过了代码审核(待发布状态),从最初对它的学习 到开发 到小程序待发布 再到28日微信公开课,也算一步步的了解了微信小程序吧. 28日微信pro公开课张小龙针对小程序进行了一些答疑,之后行业的同僚都很关注,似乎大家还是有很多疑惑.之前初学后写过博客 从一个程序员的角度看--微信小应用(第一弹 初学),今天决定再写一篇小程序的小文,所以此篇谈谈我对小程序的理解吧. 说说张小龙回答的8个问题 1.小程序的入口在哪里?张小龙给出的答案是:小程序在微信没有入口. 2.小程序会不会有类似

从节能角度看数据中心软硬件设计(一)

从节能角度看数据中心软硬件设计(一) -PMC公司资深顾问.前Facebook存储架构设计师. OCP创始人之一Per Brasher于CCCC演讲实录- 此次演讲流程如下.首先讨论关注数据中心效率的原因及其提升效率的原始动力所在.第二步讨论影响效率的主要构成部件,这些部件对效率的贡献大概有多少,以及怎样对每个部件的效率进行优化和提高.第三个方面是展望如何进一步降低TCO成本,其中将涉及更先进的数据保护机制.接着会对存储的各种新模式进行一定展望,最后做一个总结. 下表总结了OCP的设计理念,其中