iPhone有着豐富的軟件資源,到目前爲止,僅在appStore上架的軟件就達十多萬個,而相比之下,有着10年曆史的WM系統卻不過只有大約2萬個應用程序。 隨着ipad和iphone 4的發佈,iphone/ipad的app應用開發將再次掀起熱潮。下面給你們介紹下iPhone App開發的兩種途徑及有優缺點,以及其中適合前端人員的iPhone webApp的一些開發工具,最後以無線UED Blog爲例子看看iPhone webApp的開發過程。 前端
一.什麼是iPhone Web App?web
目前有兩種方式讓你開發iphone上的應用:編程
- 編寫Objective-C 及 iPhone SDK 直接運行在iphone上的原生應用程序
- 在基於 WebKit 的Safari上利用HTML5, CSS3及Javascript編寫你所須要的WebApp網絡應用程序
而Apple的官方網站上,除了有iPhone/iPad SDK開發的詳細資料外,你也能夠像SDK應用程序提交到App Store同樣,把你的Web App提交到Apple的Web Apps Site。瀏覽器
固然,兩種開發模式, SDK應該是首選的開發方式,畢竟SDK纔是apple上的原生程序,而Web App是基於Safari,因爲本地文件操做等安全問題在功能上會存在較大的限制。可是Web App也並非沒有優點,它的開發更簡潔更快捷,它不須要像後者那樣向Apple 註冊申請使用SDK及 提交 Apple Store 審覈才能上架發佈;也不須要從新去學習Objective-C的編程語言,另外iPhone 4對CSS3支持的完善也將加快WebApp在iPhone上的應用。安全
至於iPhone Web App與普通的Web應用在開發上有什麼區別?恩,對於Web工程師來講,最明顯的一條就是你不須要去關心你的項目跨瀏覽器的兼容性,由於你面對的只有iPhone的Safari瀏覽器。iPhone 上的Safari 支持的標準:網絡
- HTML 4.01
- XHTML 1.0
- CSS 2.1 以及部分 CSS 3
- JavaScript (ES3)
- DOM (Level 2)
- AJAX (XMLHttpRequest)
下面是兩個比較出名的iPhone Web App應用:Facebook(http://iphone.facebook.com)以及Gmailapp
二.iPhone WebApp開發工具: iphone
Dashcode編程語言
Dashcode由Apple官方開發的, 能夠在iPhone/iPod Touch上用的Web Application而產生的開發工具。原來的DashCode是用來作Widget的,而新版的DashCode增長了iPhone的Web App的支持,並且很是方便。它提供了許多模板並附帶了很多用於製做iPhone特效的Javascript。這樣一來,製做iPhone原生界面的Web App能夠直接用這些JS提供的效果。不過,DashCode只能運行於Mac哦~:)工具
Eclipse iPhone插件
Apanta爲Eclipse提供的一個iPhone插件,利用它能夠生成特定的iPhone項目,讓你在開發的同時能直接在PC端看到頁面模擬在iPhone上的效果,固然,它支持旋轉取景器來預覽應用程序在iPhone上橫豎兩種不一樣效果。
三.iPhone Web App開發實踐:
上面是以無線UED博客作的一個iPhone WebApp的應用,使用了iUI的UI庫,iUI是一個是Joe Hewitt(目前就任facebook)開發的一套JS+CSS的UI, 徹底模擬iPhone缺省的視覺及交互。
先來看看iUI的樣式:它提供了iPhone 友好的交互方式與樣式。iUI提供的不只僅是一個CSS文件,基於這個CSS文件你所創建的頁面可以符合iPhone的人機界面指引,而且看起來的效果貼近iPhone原生的應用程序。
至於交互方面: iUI提供一個基於page的換頁導航機制。這裏的Page不是一個Web頁面,而是一個<body />內的頂級DOM元素,每個這樣的DOM元素均可以做爲一個page,同一時間上僅顯示一個page。頁面上的全部連接,要麼致使page轉跳,要麼致使整個頁面轉跳。
如下是Dem的一些頁面截圖:
橫屏效果:
除了SDK以外,web應用開發是否是也讓你眼前一亮?就像傳統的 Flash,Flex,Silverlight,Objective-C 那樣,造成本身的生態系統,畢竟Web應用比以上的技術更容易出如今任何設備上。