最近粗略的看了些移动开发的文章,才恍然大悟这个世界已经变了。当我的了解还仅限于Object-c based iOS开发和Java-based Andriod native app的开发方式时,HTML5原来早就已经入侵移动开发领域了。最近有个叫PhoneGap的东东被Adobe收购了。我研究了一下,最终理解了:PhoneGap是纯用HTML5+CSS3+Javascript来开发的,然后,它很聪明的还是基于native app的SDK的方式(as wrapper)wrap成native app的样子,从而可以在appstore和android market上发布——一份代码,到处运行!Adobe新发布的DW CS5.5中已经对PhoneGap给予了集成的支持,使得你可以用jQuery-based DW来开发web app,然后用PhoneGap wrap成iOS/Android平台的native app,从而完成真正的跨平台开发。Adobe这次看得非常准,从今以后正式开始脚踏两只船:HTML5+Flex。
移动开发真正的跨平台开发方式自然只有一种:基于HTML5的web app开发。HTML5未来的根基在于mobile device。
至于native app和HTML5 app之争论,Facebook iOS版本的开发者Joe Hewitt说的个人觉得很有道理:“I want desperately to be a web developer again, but if I have to wait until 2020 for browsers to do what Cocoa can do in 2010, I won’t wait.”(我十分想再一次成为Web开发者,但是如果浏览器到2020年才能做到Cocoa2010年就能做到的事儿,我不愿等待。) 个人觉得,长久来看,native app和HTML5 app必然会和平共存在各个mobile平台上。二者中如何选择,关键看你的项目需求:内容展示、导航浏览为主的应用,HTML5来开发并装扮或不装扮成native app的样子,比较合适;UI要炫,要求高交互复杂的,native方式开发为好。
1. Books&articles:
http://interfacethis.com/2011/adventures-in-html5-part-one/ http://ofps.oreilly.com/
Building iPhone Apps with HTML, CSS, and JavaScript--Making App Store Apps Without Objective-C or Cocoa By Jonathan Stark
Mobile HTML5
2. Famous Website
http://www.readwriteweb.com
http://www.webapptrend.com