蜀道之难,难于上青天

0%

基础环境

1 . 安装 node 和 watchman。

brew install node
brew install watchman

2 . 安装 React Native。

npm install -g react-native-cli

如遇到权限问题,请用

sudo npm install -g react-native-cli

3 . 安装 Xcode,Mac App Store 安装既可。
4 . 验证是否安装成功,可通过如下命令新建和启动项目试试。

react-native init demoProject
cd demoProject
react-native run-ios

启动过程中如果遇到问题,可能是初始化中漏装了一个包,解决途径执行。

npm install

再启动,网上下载的项目出现启动问题也可尝试执行此命令。

开发工具

1 . 接下来选择趁手的 IDE,尝试过 Sublime 和 atom 之后,目前我使用的 WebStorm + ReactNative-LiveTemplate插件
2 . 日志可以在项目路径下执行以下命令查看。

react-native log-ios

3 . Debug 起来也很方便,请先安装好 Chrome,在 iOS 模拟器中 Command⌘ + D,选择 Debug JS Remotely,就可以在 Chrome 愉快的 Debug 了,其它的选项也可以尝试一下。感慨 ReactNative 真是一个伟大的项目,前端真是神奇,FaceBook 真是一个伟大的公司。
以上信息全部来自React Native官网

假如把最终的原型定位为100。我们来模拟一个典型的有问题的开发过程:

产品讨论出一个原型,可以定位为80[为什么是80,差异的20算是产品忽略掉的一些情况,会在开发、测试、验收过程中暴露出来],输出在prd上,这一环节会丢失掉一些信息,prd姑且算有60的原型值吧。

接着通过prd输出给开发,这一环节就看开发的阅读理解水平以及认真程度了,忽视了一行字可能就漏了一个功能。好吧,到了开发这里,姑且算为50吧。然后开发结束。

接下来给测试,那得看测试吸收了多少prd,算是60吧。OK,测试完毕,接下来到验收环节了。

产品发现跟自己想要的完全两码事,然后告诉开发“你们做的是特么的什么玩意儿”,此时应该会伴随着激烈的争吵,最后开发妥协。然后经过一些痛苦的过程之后做到了符合发版的程度,达到的原型值可能只有80+,这个过程处于项目尾期,代码质量无法保证,而且不出意外会加班熬夜。总之,这个开发过程前期会很轻松,因为少做了很多事情,但是到验收阶段会非常痛苦,而且可能还会影响发版。

怎么避免这种情况呢,一句话:尽早把问题暴露出来,然后解决掉。开发在阅读理解完prd之后,通过与产品经理确认原型信息,让自己与产品经理的理解同步,可能交谈过程中还会发现一些没有考虑到的情况。接下来的开发以及测试环节发现疑问及时找产品经理确认。这样最后在验收环节,也不会出现大的差异。整个项目过程和谐稳定的进行。

这个周末接触了下interface builder,主要涉及到size class 和nib,从最初的抓耳挠腮到初窥门径,还是蛮有成就感的,
准备在项目里尝试用一下nib这一块。


size class

  • 分为C(紧凑) A(任意) R(正常) 三种,
    假如要在C和R之间做区分,那千万别设置A相关的属性,这样会乱的很,就将C和R分开做
  • 一般情况下都是 wA+hA 情况
  • iphone:正面向上的情况是 wC+hR,其他面向情况都是 wC+hC
  • ipad:长和宽都是regular

interface builder

1. customview+nib

  • 自定义view的话,file owner 设置为self的类
  • 一般大家都只生成一个 view,然后将view添加到self,当作subview
  • view只是self的一个属性
  • view的类型不能设置为self,这样会导致循环引用,会崩溃

2. drawrect+nib

  • 这个到要把view的类型设置成self的类型
  • 有两个关键词:IB_DESIGNABLE(表示这个要实时在interface builder展示啦)和IBInspectable(动态属性),可以在interface builder上设置,确实很惊艳
  • 不过这种目前只能在- (void)drawRect:(CGRect)rect方法里有效,不过这已经很不错了,不过还没想好在哪用。。

云想衣裳花相容,春风拂槛露华浓。
若非群玉山头见,会向瑶台月下逢。

一枝秾艳露凝香,云雨巫山枉断肠。
借问汉宫谁得似,可怜飞燕倚新妆。

名花倾国两相欢,长得君王带笑看。
解释春风无限恨,沉香亭北倚阑干。

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment