iphone手记 (不定时更新)
最近在搞iphone开发,发现了不少有趣的东西。
【游戏篇】
虽然在“开发”,但事实上不少时间都缩在角落里玩iphone。iphone上有些颇有趣的游戏。例如PhoneSaber,这个东西会在屏幕上显示一把光剑,对,是Jedi或Sith们用的那种,你可以选择光剑的颜色,然后拼命挥舞你的iphone,就会发出星战电影里光剑特有的嗡嗡声。很有宅爱。关掉游戏的时候还会有标志性的收光剑的声音。
还有一个傻的可爱,冏到极致的app叫做Wooo button。这个app的功能很强大,启动后会在屏幕上显示一个web 2.0,玻璃效果的按钮叫做Wooo,点击按钮,iPhone就会发出一声惨叫….再点击,再惨叫…虽然说起来很无聊,但玩起来却有一种无聊到极致反而有趣的恶趣味。偶尔会把它藏在口袋里假装跟同事聊天,然后WOOOooooo!!!
当然,iphone上也有正经游戏。最近迷上了一个Puzzle游戏叫做Aurora Feint。游戏的核心是类似于俄罗斯方块的组合-消除Puzzle。但其出众之处在与RPG元素的整合,包含了升级,宝物,买卖,人物属性和技能,装备,甚至一个颇具规模的社区模式,在社区模式里你有自己创造的人物,可以与其他的玩家组队,完成任务等等。事实上叫它社区是有点谦虚了,更准确的说法应当是MMORPG。游戏还能像Facebook一样扫描你的Address book,告诉你你的朋友中有谁也在玩这个游戏。游戏的核心部分也做的相当有趣, 在细节上的功夫非常好,技能也花样繁多,很有意思。这个游戏从很大程度上让我想起了当年的Alien shooter,概念很简单,系统却很复杂。加上画面和音乐都十分精美,勾人的很,消磨了我不少该干活的时间。
【开发篇】
iPhone有一个对用户很赞但对开发人员很扯的功能:切换横屏竖屏。方便的切换横屏竖屏对开发人员意味着设备有两种不同的宽度:320px和480px。一直以来我的对应策略是做液态屏宽的页面并且在<meta>里设置maximum-scale=1.0
然而假如要在网站界面上使用滑动的翻页效果,就必须使用固定宽度的CSS样式,所以网上有不少探测屏宽的脚本,效果还是不错的,试过几个后,推荐一下这个教程里面的屏宽探测脚本。
iPhone的MobileSafari是一个真正意义上的桌面级别的浏览器。除去由于用户交互的方式不同(显然,一个用触屏一个用鼠标)导致MobileSafari无法使用一些响应事件之外,其他的功能还是很健全的。尽管如此,为iphone设计的网站和传统网站仍然有很大不同。iphone毕竟是个移动电话,从用户群的角度讲,iphone用户和其他用户最大的不同就在于前者的用户是在移动中使用电话,所以简单简单再简单是iphone网站的第一要素。一个如yahoo.com的门户对桌面用户可能还行,但对移动用户来说实在就太复杂内容太多了。精简很重要。
iPhone网站技术上通常都很依赖JavaScript,横屏竖屏,动画效果,Ajax等等都需要写JS。不少非编程向的用户也想为iPhone搭建网站,可不会写JavaScript的话,几乎是做不出很原汁原味的iPhone网站。
但这世上自然是有强者的存在来解决这些问题的。这一位叫做Joe Hewitt,写过Firebug,Facebook iphone版的强者,制作了一个唤作iui的JS library来帮助无编程背景的设计师或爱好者制作iPhone网站或WebApp。iui包含了屏幕宽度测试,iphone动画效果,基于Ajax的页面加载和表单递交等大量iphone webapp开发用到的功能,对于不会写代码的开发者,只需要稍微懂一点HTML就可以写出很原汁原味的iPhone网站,假如再懂点CSS的话,还能做出非常个性化的页面。
iui的代码清晰明了,段落分明,对于初学JavaScript的人也是很好的实战教例,有兴趣的同学不妨读一下源码。
今天便先写到这,回头再有发现有时间+无聊的时候继续补充。