iOS

Massive View Controller 重構: Swift Extension 整理術

Extension 是 Swift 裡用來延伸既有型別的東西。透過 Extension,當我們想為某個型別加功能的時候,就可以不用把新的功能寫在該型別的主體裡面。比如說,如果我們想為 Cat 增加一個 purr() 方法的時候,可以這樣寫: [crayon-5c99a80922c74892494829/] 這種能力讓我們可以為一些碰不到原始碼的型別,加上我們自己給的功能。這也就是所謂的回顧式建模 [...]


iOS

深入解析 Promises 輕鬆控制 Parallel Programming (平行程式設計)

並行 (concurrency) 的概念與我們日常開發工作越來越息息相關。在上兩篇文章中(Swift 平行程式設計:基礎 (Basic)、操作 (Operations)),我們已經探討過 Apple 所提供的工具。這次,我們將重點放在非官方所支援的工具上。 讓我們回顧一下: 並行 (concurrency) 是指在同一時間執行工作的能力。 [...]


iOS

利用 Protocol Extension 減少重覆的 Code 大大增強 Code 的維護性

對任何程式開發來說,減少重覆的 code,把權責明確分開,讓 code 維護性變好,是非常重要的課題。同樣功能的 code,如果分散在程式的各個角落,不但改功能時很有可能會漏改或改錯,而且要找到某個功能確切的擺放位置也會非常困難;這些都會讓開發成本變得非常高,也會讓開發所需要的時間變得難以估計。 [...]





Chatbot

Line Chatbot: 使用 ngrok 開發 LINE 應聲蟲聊天機器人

大約從 2016 年 4 月開始,我們逐漸意識到,將通訊軟體(例如 Facebook Messenger 和 LINE)化身為服務入口,免開網頁、免下載 App,而聊天對象也由真人改為自動應答機器人,也許是個不錯的主意。當時 Facebook 在 F8 開發者大會上宣布將旗下的 Messenger 平台化,也就是允許聊天對象不是真人,而是一個用程式寫的、具備應答能力的服務,統稱為聊天機器人 [...]


iOS

設計多執行緒 (Multi-Threaded) App 處理連續的資料流量更有效率!

身為一名在汽車產業裡的 iOS 開發者,我花了不少時間處理即時資料。現今許多 App 都需要有效率地處理連續的資料流量,為了確保不會卡住使用者介面,你很可能需要使用多執行緒來開發。 處理即時的資料流量非常有趣,因為你會不斷收到可以用來更新視覺畫面的新資料。這也是開發時最困難、最令人沮喪的事情,因為 [...]




iOS

實作無限分頁滾動視圖 (Scroll View) 為使用者帶來更完美的體驗和設計

所有 App 的成功,都取決於使用者是否常用這個 App(使用者留存率高 High User Retention),而成功的使用者體驗 (UX) 和界面設計對留存率就非常重要了!在設計 App 的時候,我們需要確保使用者可以利用最小限度而直覺的操作,來達到他們的目的;而且,這操作最好是一個吸引又有趣的過程。這次的教學就是希望利用客製化 [...]


iOS

善用 Xcode Instruments 來最佳化程式碼 大大提高 App 效能!

世界上還有些頑固的人,拒絕使用如物件導向程式設計 (Object-Oriented Programming)(特別是繼承 (Inheritance) 與多型 (Polymorphism))、協定 (Protocol) 和協定導向程式設計 (Protocol-Oriented Programming)(特別是組合 (Composition))、泛型 (Generics) 與閉包 (Closures) 等技術。在意識層級上,這些頑固的人拒絕這些技術的原因,是因為他們認為這些技術會造成「巨大」的效能消耗。在潛意識中,這些頑固的人並不了解這些技術。所以,我們應該相信 [...]


iOS

《iOS 10 App程式設計進階攻略:39個必學的開發技巧》正式推出


iOS

Lottie初學者教學指南:如何在iOS App設計一個令人驚豔的動畫


Swift

精通Swift:列舉、閉包、泛型、Protocols和高階函數


iOS

iOS 9 新功能 : 堆疊視圖介紹 (Stack Views)


Swift

Swift 2 初學者指南


iOS

Swift 教學:如何使用iOS Charts API 製作漂亮的圖表


iOS

以Parse與Swift建構一個像Instagram一樣的App


iOS

建立一個像Medium App的下滑選單


iOS

如何用Swift建立視圖控制器畫面之間的動畫過場