利用 EarlGrey 做 UI Test 強化你的 UI 測試流程
在軟體的開發過程中,我們一定會需要測試我們做出來的東西是不是運作正常。以手機開發為例,我們通常都是咻咻咻地寫好一堆程式之後,把它丟到手機或模擬器上面執行,然後東點一點西點一點,看看是不是一切都運作正常。這樣的流程雖然運作正常,但是卻非常花時間,而且很容易漏掉該測試的項目。如果要簡化這個流程,你就會需要電腦來幫你做自動化測試 [...]
GraphQL 教學:為你迭代快速的專案 提供最適合的解決方案!
GraphQL 是一個由 Facebook 開發、而且公開的資料查詢語言。在 client 跟 server 溝通的時候,目前最流行的做法是定義 RESTful API,藉由 client 跟 server 端定義好的無狀態介面,來做資料的交換。RESTful API 雖然被廣為使用,但有著介面不容易修改、版本不好控管等問題。相對於 [...]
Compositional Layout 詳解 讓你簡單操作 CollectionView!
隨著手機 App 介面和硬體的不斷進化,現在 App 介面的複雜度已經跟以往不能同日而語了。以前的 UI 可能就是一個簡單的 TabelView,把所有資訊都一視同仁地列出來,上面也不太會有甚麼複雜的互動,就程式的撰寫上,一個或兩個 UICollectionView 就有辦法滿足大部份的需求。還記得很久以前的 [...]
給 Swift 工程師的後端指南:用 Kitura 來架設自己的 API 後台
身為一個 Swift 開發者,每天撰寫著 iOS/macOS/tvOS/watchOS 的程式,你的經驗讓你的效率高到破表,一天就可以輕易做出一個線上聊天室介面,兩天就可以做出塗鴉牆介面,你覺得自己的開發速度天下無敵;但不知道為甚麼,突然你覺得有點惆悵:啊,只有介面的程式,就像沒有加珍珠的奶茶,我怎麼樣都喝不下去啊!沒錯,再強的前端,都有可能需要一個後端來配合,才有辦法做出更多樣的應用,以往我們需要團隊作戰,但現在你可以全部都自己來,當個真正的一條龍工程師(不要哭,我知道領 [...]
利用 Protocol Extension 減少重覆的 Code 大大增強 Code 的維護性
對任何程式開發來說,減少重覆的 code,把權責明確分開,讓 code 維護性變好,是非常重要的課題。同樣功能的 code,如果分散在程式的各個角落,不但改功能時很有可能會漏改或改錯,而且要找到某個功能確切的擺放位置也會非常困難;這些都會讓開發成本變得非常高,也會讓開發所需要的時間變得難以估計。 [...]
深入了解 Swift String 字串型別 讓你的程式跑得更快更好
字串型別 String 是每一個程式語言都會有的基本型別,也是所有工程師在牙牙學語的階段中,第一個會接觸到的資料型別(應該沒有人印 hello world 不是印字串、而是在螢幕印點陣的吧?)。雖然 String 在程式語言中非常基本,在大多數的情況下使用也不算太難,但是 [...]
生產力再提升:利用 Swift Package Manager 製作自動化開發者工具
Command Line Tool,通常指的就是能在 terminal 下指令執行的程式,身為一個利用 mac 做開發的工程師,一定非常熟悉,像是原始碼管理工具 git、自動化工具 fastlane、或是套件管理工具 homebrew,都可以算是 Command Line Tool 的一種。雖然現在有非常多 open source 的第三方工具可供使用,但並不是所有工具都能夠滿足我們在開發上的需求。舉例來說,如果我希望在建置我的 [...]
Table View 太複雜?利用 MVVM 和 Protocol 就可以為它重構瘦身!
UITableView 或者 UICollectionView 絕對是 iOS 工程師一定會使用到的 UI 元件,甚至可以說大多數 app 的 UI 都是圍繞著 tableView 來設計。隨著手機介面體驗的進步,tableView 也變得越來越複雜,尤其是像 news feed、photo wall 等,一個 cell 塞滿各種功能的設計,近幾年來已經成為手機開發的基本款。基本上一張 [...]