http://blog.csdn.net/inte_sleeper/article/details/8633608 最近开始看iOS开发,看了个把星期,写几篇笔记。顺序有点乱,想到什么写什么好了。 因为上周刚刚参加了一个hybrid app开发的培训,感觉Hybrid app开发是一个比较好的方式,可以充分利用web页面布局的特性(当然,还重用了web开发的知识),避免写纯native app UI的痛苦。而目前纯HTML5的开发,虽然也有相关的应用,但是有时又损失了hybrid方式的灵活性。 当然hybrid app也有它自己的问题需要解决,如加载空白、服务器端错误处理、缓存等,不同的公司一般都会基于这些问题提供一个底层的通用包,以方便在此基础上进行开发,比如:http://windvane.m.taobao.com/windvane.htm#svninfo 下面是一个最简单的Hybrid app demo: 1. 使用Xcode,新建一个项目,在项目类型中,选“Single View Application”。名字随便起,比如叫HelloHybridApp。 2. 完成之后,我们就看到项目中有下列文件: -AppDelegate.h -AppDelegate.m -MainStoryboard.storyboard -ViewController.h -ViewController.m +Supporting Files -HelloHybridApp-info.plist -InfoPlist.strings -main.m ... iOS中访问网页,是通过UIWebView控件实现的。因此我们需要使用interface builder,拖入一个UIWebView控件。 然后在Connections Inspector中创建控件与变量的connection。 也就是说在ViewController.h中,变成了这样:
接下来,我们需要程序在打开的时候,能够加载一个网页。这有两种方式:本地离线网页和在线网页。下面分别会就这两种情况来示例。 1. 本地离线网页 我们需要添加一个离线的网页,在Supporting Files中添加一个index.html,内容如下:
然后在ViewController.m的viewDidLoad方法中,添加如下代码:
然后点击运行,就会看到屏幕上出现了"Hello, world!“了。 2. 在线网页 这种方式,需要在服务器端部署一个页面,这里我们就不用这么复杂了,直接打开百度就可以了。 同样修改ViewController.m的viewDidLoad方法代码:
这样就是一个简单的hybrid app啦(噢,为了简单,把其他的导航控件都省掉了,一种比较通用的hybrid app是:上方或下方是导航,使用native方式,内容区使用HTML5,比如网易新闻客户端:http://www./2011/07/2200.html)。 |
|