早在2007年發佈iPhone的時候 ,蘋果並沒有一同發佈本地化SDK,蘋果公司聲稱不需要本地SDK,鼓勵大家使用JavaScript,CSS和HTML開發Web應用。但接下來劇情並沒有按照蘋果設計的那樣發展,也許是蘋果的思想太超前,大多數開發者不並不吃這一套,他們希望自己開發的應用和iOS系統內置 ...
早在2007年發佈iPhone的時候 ,蘋果並沒有一同發佈本地化SDK,蘋果公司聲稱不需要本地SDK,鼓勵大家使用JavaScript,CSS和HTML開發Web應用。但接下來劇情並沒有按照蘋果設計的那樣發展,也許是蘋果的思想太超前,大多數開發者不並不吃這一套,他們希望自己開發的應用和iOS系統內置的應和一樣,可以直接訪問硬體並和系統高度集成。
因為iPhone發佈不到一年後的2008年3月,蘋果公司就公開表示要改變策略,並且向開發者社區發佈了期待已久的官司方SDK。這也許是蘋果對於開源社區所做的努力的回應吧。不過蘋果一貫遮遮掩掩,讓人琢磨不透,要說這是蘋果本來的計劃也有可能。到底是怎麼樣,只有喬布斯知道 。
對於蘋果發佈的SDK,也不是所有人都 買賬,在有些人看來這簡直是技術的退步,他們認為Web應用已經足夠好了。因為用Object-C專門針對iPhone開發的應用很難移植到其他平臺,而Web應用只需要開發一套新的CSS模板就可以了。
大部分情況下,提出使用Web技術 或者其他非本地化框架的人往往是從開發者角度來考慮問題。這當然不無道理,不過或許你更應該考慮一下用戶的感受,他們唯一關心的是可用性而非什麼技術來實現。
用戶是很挑剔的,他們決絕購買你的應用往往只是因為你還支持了其他平臺。這聽起來很滑稽,其實很好理解。他們只希望一個應用的風格看起來和系統里其他應用是一樣的。
本地化應用最明顯的優勢在於可以實現Web技術無法完成的事情。舉一個簡單的很典型的例子,第一代現實增強類應用就依賴多種硬體設備,比如GPS晶元,加速度感測器,指南針和攝像頭等。
AppStore里絕大多數的應用都是將遠程數據和本地化UI結合起來的。當無法訪問網路的時候 ,一些依賴網路的UI會處於不可用狀態,與無法訪問網路的Web應用相比,這樣的行為至少可以顯得優雅一些。或者也可以將那些依賴網路的UI控制項一開始就隱藏起來,這樣用戶在沒有網路的情況下依然可以使用應用的一部分功能。
當然,有一些應用是可以不依賴網路的,而且不聯網還可以節省電量。即便設備是連接著網的,也不必總是進行網路訪問,儘可能的減少數據會讓用戶和設備有更好的交互體驗。也就是說用戶界面可以儘量放在本地,只有數據是來源於網路的,不像Web應用那樣,完全依賴網路。
基於Web技術的軟體的發佈可以是增量式的,隨時發現Bug並隨時修正,不會影響到用戶的使用。然而,本地化應用在這方面更像桌面軟體。
眾所周知,App Store的審核過程是不透明的,審核時間 也沒個準,所有的應用不光首次提交要接受審核,每次更新還要審核,一般來說每次審核大概需要7天,也有可能更長。我的一些應用提交後幾天就審核通過了。但是有一個應用一直等了4個月才審核通過。
所謂好的設計,評價標準在很大程式上是你的應用是否在用“蘋果的方式”去工作,儘量不要重新發明輪子,使用標準控制項對iOS用戶更有新和力。
參考資料:《iOS編程指南》