今天來討論一下iOS App畫面的開發方式,目前有三種
最早期所有的開發使用都是用單純的程式碼(Code)來完成,但是這種方式相對的成本比較高,維護上也比較難一些,程式碼的量也多,開發所需的時間也較長,因此後來開始出現透過介面拖拉的方式來開發畫面,也就是Xib(XML Interface Builder),其將畫面上的物件單元視覺化,可依照每個不同的元件用拉的方式調整修改,大大減少了開發時的時程與複雜度,但Xib本身著重在單一畫面或元件上,對於場景與場景間的關係並無著墨,所以不久後就出現了Storyboard,強調多個場景、頁面間的關係與跳轉,更大幅提升了開發的方便性
我的前一個iOS App也是用純代碼開發,一開始我自己是覺得相當方便,在不會使用介面拉圖的時候,對工程師來說其實比較容易上手的,不用擔心不知道約束條件怎麼設定、什麼時候跑版,但真的比較花時間、程式碼量也超級多,其他人要維護也提高了難度,畢竟每個人抽象的腦袋都不太一樣啊XD後面使用者遇到問題卡住時,我好幾次想打掉重練,但專案都快上線了(老闆會殺了我),還是硬著想辦法調整完
因此,這次的鐵人賽就想嘗試用Storyboard的方式來開發(當然是不同App),比較看看差異,但目前我發現,其實有很多侷限,例如我想做漸層背景,上網查到的都需要用Code來設定,沒有直接使用Storyboard調整(如果有大大知道,麻煩留言跟我說,感恩),因此還是要搭配著使用比較好,另外我也有看到有Xib和Storyboad混用的,或許之後可以來嘗試看看
總結一下,就是每個方法都有其優缺點,可以在開發時,評估好專案的屬性,來挑選開發方式,才是最佳解!
參考網站: