iOS開發周報:iPhone 6s 本周發貨,Dropbox 開源組群通訊工具
新聞
-
iPhone 6s 本周發貨,國內供貨穩定 :本次 iPhone 6s 是大陸地區第二次進入全球首發地區。和兩年前的 iPhone 5s 時的火爆場面相比,今年的首發顯得并沒有那么火爆。一方面是因為網購和快遞的便利性越來越深入人心,另一方面消費者對于 iPhone 作為一款普通消費品的價值也有了更好的認識。最為熱門的玫瑰金現在在官網購買的話,預計發貨為一到兩周。在之后不久應該就會開放在 Apple Store 直接購買。不過新設備擁有速度驚人的 Touch ID,3D Touch 帶來的可能性,隨時待命的 Siri,Liveing Photo 和 2GB 的內存等一系列新特性,還是很值得關注。這里有一篇第一時間的 評測 可以幫助你了解這款 iPhone。
-
蘇寧易購 iOS 項目代碼泄露 :上周 XcodeGhost 風波未平,這周蘇寧易購的項目泄露事件又起。一名 ID 為 gdby 的用戶將蘇寧易購的整個 iOS 項目上傳到了 GitHub 的公開倉庫,并在眾多國內開發者的 “努力” 下攜 2000 余次 forking 一舉沖到了 GitHub 排行榜第一 。由于蘇寧官方還并未對此事作出回應,所以現在無法確定這是因為員工工作失誤導致,還是個人的惡意行為。不過不論如何,這再一次為開發者和企業敲響了安全意識的警鐘。
教程
-
RxSwift 入坑手冊 Part0 - 基礎概念 : RxSwift 是一個幫助你在 Swift 語言中使用 Reactive 概念進行編程的框架。最近 ReactiveCocoa 也推出了適合 Swift 的 3.0 版本。和 ReactiveCocoa 相比,RxSwift 顯得更加學院派一些,算是根正苗紅地繼承了 Rx.NET 的思想。如果你打算嘗試的話,這篇文章和配套的 Playground 會是不錯的示例。
-
Beginning tvOS Development with TVML Tutorial :相比于新的 iPhone 和 iOS 9 SDK,今年開發者所面臨的最大變化其實是兩個新平臺 watchOS 和 tvOS。Apple TV 在國內上架的可能性并不大,但是在國外市場 Apple TV 還是很受歡迎的產品。帶有 App Store,可以進行 app 開發的 Apple TV 肯定會改變客廳的面貌,如果你打算面向全球用戶,這絕對是一個非常好的新機會。Raywenderlich 的這篇教程為我們介紹了用 TVML 來快速開發 tvOS 應用的方法。
-
Swift 2.1 :本周 Apple 發布了 Xcode 7.1 的第二個 beta 版本,其中包含了 Swift 2.1。新版本的 Swift 中強化了與 C 的協作,提供了更好的字符串輸出,支持 協變與逆變 等。另外,在 Swift 2.0 中的一個 bug 也得到了修正。
開源項目
-
zulip-ios :Dropbox 以 Apache Licens 2.0 為協議開源了一個群組聊天工具 zulip 。你可以在自己的服務器上運行這套工具,可以說是企業實時交流的好工具。開源的部分包括全部的服務器端和客戶端,不論是對于專注于 iOS 的開發者還是對于以全棧為目標的工程師,這個完整項目都是很好的參考和學習對象。
-
BluetoothKit :Apple 在 iOS SDK 中提供了 CoreBluetooth 以方便開發者使用藍牙特性,但是因為作為通用庫,CoreBluetooth 必須包含所有的藍牙特性和稍微低層的抽象,這導致直接使用 CoreBluetooth 來做開發會有一定困難,即便是最簡單的數據傳輸和通訊都需要不少工作。BluetoothKit 在其上進行了封裝,提供了一個更為簡單和高層的藍牙通訊 API。
-
Neon :Auto Layout 為我們提供了在不同屏幕尺寸的布局時的靈活性,但是直接使用 Auto Layout 來布局面臨著一些問題,其中最為嚴重的就是約束添加的難度以及可讀性不強。針對這個問題,已經有像 Masonry (或者在 Swift 下對應的 SnapKit ) 來解決。與這種思路不同,Neon 更傾向于使用錨點和邊角關系來定義布局,為我們提供了一種新的布局思路,有興趣的朋友可以看看項目介紹頁面上的例子。
-
SwiftGo :當 Swift 遇到 Go 會如何?Go 的并行特性是這門語言最大的特點之一,SwiftGo 這個項目提供了一種在 Swift 中使用類似 Go 的并行特性的方式。最大的亮點在于整個項目是不依賴像 Foundation 這樣的 Cocoa 框架的,是一個純正的 Swift 實現,也就是說,在 Swift 開源后,我們可以在其他平臺 (比如 Linux) 上使用這個框架。相信隨著 Swift 開源的鄰近,如何用 Swift 跨平臺開發會逐漸成為一個熱門話題。