天天看點

《Swift iOS應用開發實戰》——2.1為移動平台開發應用

本節書摘來自華章計算機《swift ios應用開發實戰》一書中的第2章,第2.1節,作者:劉銘 著, 更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

如果之前根本沒有為cocoa或它的前身nextstep開發過應用程式,你可能會感覺到在最初使用cocoa touch(ios的應用程式架構)開發ios應用程式時,之前所學的所有程式語言(比如java、.net)在這裡都派不上用場,時常處于一頭霧水的混沌狀态。這是初學者在學習時的正常狀态,你根本不用害怕這種狀态,隻要堅持下去就會慢慢适應。本書假定你已經具有面向對象的開發經驗,以及初步掌握了swift語言的相關知識,這些經驗和知識對于編寫ios應用程式是非常重要的。在為移動裝置編寫應用程式的時候,還需要考慮下面幾個問題:

在ios中,任何時候都隻能有一個應用程式被激活并顯示在螢幕上面。從ios 4開始,當使用者按下home鍵以後,應用程式可以在系統的背景繼續運作,即使是背景運作,它也會受到很多的限制。

與傳統的pc應用程式不同,我們在ios中隻能運作一個視窗應用程式。除非你開發的ios應用程式附帶一個擴充螢幕,通過airplay和appletv裝置投放到電視上。但是,這需要我們編寫更多的程式代碼。使用者與應用程式之間的互動都局限在這個視窗之中,且該視窗的大小固定為整個螢幕。

虛拟鍵盤代替實體鍵盤。2007年喬布斯在iphone釋出會上向大家展示了多部當時市面上流行的“智能”手機,并毫不留情地指出了它們共同的缺點:在螢幕的下方有很大一部分空間被實體鍵盤所占據,如圖2-1所示。不知大家是否想到過,實體鍵盤最緻命的缺點就是按鍵功能被固定死了,不管你是否需要,它都會存在于螢幕下方—伴随手機的一生。iphone就不一樣了,因為有了虛拟鍵盤,系統可以根據app的需要,在适當的情況下調出虛拟鍵盤,并且會根據設定顯示全鍵盤、數字鍵盤或中文的九宮格鍵盤等。

《Swift iOS應用開發實戰》——2.1為移動平台開發應用

iphone的螢幕在當今的世界中可以算是佼佼者(三星有後來居上的趨勢),自從蘋果推出了retina屏的iphone以後,一直是手持裝置中分辨率最高的。這導緻了原來很多必須在pc上完成的任務,現在可以在iphone上面完成了。第一代iphone手機的分辨率隻有320×480像素,之後的iphone 4采用了640×960像素的分辨率。如今,最新的iphone 6 plus螢幕達到了1080×1920像素。表2-1列出了所有裝置螢幕的大小。

《Swift iOS應用開發實戰》——2.1為移動平台開發應用

表2-1中所提到的螢幕硬體大小指的就是ios裝置實際的實體螢幕像素值。然而,在程式員開發應用程式的時候,更多的是與軟體螢幕大小打交道。正如大家在表2-1中看到的,在大部分的情況下,軟體螢幕大小與硬體螢幕大小是2倍的關系。之是以有兩種螢幕大小,完全是因為蘋果引入了retina技術。如果蘋果不做這樣的區分,所有的應用程式都按裝置的硬體螢幕分辨率繪制,軟體在retina裝置的螢幕上面隻會顯示四分之一的大小,使用者使用起來非常費勁。是以,蘋果使用了比例因子的概念,我們開發的應用程式可以在所有的ios裝置上面都完美地全屏顯示,而程式員不用編寫任何的代碼。針對于iphone裝置,從iphone 4s開始都是2倍的比例因子,而iphone 6 plus則擁有更高的分辨率,是以是3倍的比例因子。

另外,與筆記本的14或15英寸螢幕相比,移動裝置的螢幕确實要小很多,是以在設計應用程式的時候,我們要充分利用好這寶貴的螢幕空間,用更加直覺的方式為使用者呈現關鍵的資訊,還要合理擺放系統所提供的各種控件,例如按鈕、滑塊、開關等,讓使用者友善、準确、快捷地進行各種操作。

考慮開發通用應用程式:為了能夠讓你的應用吸引更多的眼球,讓它完美運作在多種不同的ios裝置上成為一種趨勢。如讓你的應用可以同時運作在iphone、7.9英寸的ipad mini和9.7英寸的ipad上。

有限的存儲空間:ios裝置的存儲空間不大(16g~128g),是以不能存儲太多的圖檔、音樂或視訊。

不可靠的網絡連接配接:因為是移動裝置,是以注定其不會有長時間的持續可靠連接配接。即便有可靠的連接配接,發送和接收資料的速度也與無線網絡信号的強弱有關。是以,在有網絡連接配接(wifi網絡,非手機的資料流量)的情況下,你的應用程式應盡量緩存相關資料到裝置上。為了保證使用者使用的流暢度,在下載下傳資料的時候必須使用多線程技術。

ios裝置的不可用性:移動裝置在特殊情況下需要關機(飛機起飛時),也有可能會丢失,當電池電量不足的時候也會自動關機。是以我們的應用程式必須考慮到這些情況。

繼續閱讀