iOS開發周報:Swift 開源,新的包管理和 Swift 3.0 前瞻

jopen 9年前發布 | 15K 次閱讀 IOS

 

新聞

  1. Apple 開源 Swift :WWDC 15 上 Apple 宣布會在年內開源 Swift,而本周 Apple 如約開源了 Swift。公開的源代碼包括之前大家已經知道的 Swift 編譯器,標準庫和 REPL 環境等,另外這次 Apple 開同時開源了一個 Swift 重寫的 NSFoundation 框架和一個全新的包管理系統。所有的項目都可以運行在 OS X 和 Linux 上,這也是 Apple 邁向跨平臺的重要一步。Apple 以 Apache License 2.0 以及一個 runtime 例外的條款進行開源,這是一個比較寬松的條件,基本意味著你可以在自己的項目中保留版權說明的情況下隨意使用。對于 app 開發者來說,Swift 開源意味著會有更多社區力量成為持續不斷的開發,并推進這門語言的發展。同時 Swift 的路線圖也在 這里 進行了公布,開發者們可以在這里找到 Swift 2.2 和 3.0 可能迎來的變化。

  2. Apple Watch 第三季度估算銷量為 390 萬部 :Apple 選擇不在財報中單獨列出 Apple Watch 的銷量,這讓業界紛紛猜測。最近國際數據公司 (IDC) 給出了一份全球可穿戴設備銷量的預估。2015 年第三季度 Apple Watch 的估算銷量在 390 萬部左右,在可穿戴設備的市場上僅落后于 Fitbit。這個數字相信也可以為企業決定是否要開發適配 Apple Watch 的應用的決策提供了一些依據。

  3. 知名 OS X 應用 Sketch 宣布推出 Mac App Store :和 iOS 的 App Store 不同,因為 OS X 的開發者可以自行銷售軟件,所以上架 Mac App Store 并不是唯一選擇。Sketch 是 OS X 上一款繪圖軟件,專注于為應用界面和 UI 進行繪制,受到很多開發者和設計師喜愛。本周 Sketch 開發團隊宣布他們將退出 Mac App Store,而僅在自己的商店進行授權銷售。此前,用戶可以選擇在 Apple 商店或者 Sketch 商店進行購買。Sketch 給出的理由是無法提供一些沙盒外的功能,較長的審核時間不利于 bug 修正,以及沒有升級價格等問題。這些確實也是當前 Mac App Store 面臨的主要問題,本次 Sketch 團隊的退出是一個危險的信號,希望 Apple 能及時改進 App Store 的體驗。

教程

  1. Objective-C 引用計數原理 :一篇比較底層的探索 Objective-C 中引用計數實現的文章。雖然在 ARC 時代對 iOS 開發者來說內存管理已經非常簡單了,但是這一套內存管理從原理上并沒有改變。從一個 iOS 入門者進階的道路上,內存管理的方式和原理總是不可能繞過的門檻。這篇文章和之前的 黑幕背后的Autorelease 從比較底層的角度為我們詳解了這方面的內容。不論是 iOS 開發新人還是已經有一定層次的開發者應該都能在這兩篇文章中有所收獲。

  2. Xcode插件: MMNavigatorFont :一個 Xcode 插件開發的教程,從目標開始到最終效果一步步為我們講述了如何實現一個可以替換 Xcode 項目面板中字體的插件。Xcode 插件的開發現在沒有 Apple 的官方支持,不過 Apple 對于插件開發是采取默許態度的。作為業余時間滿足開發好奇心的話,開發 Xcode 插件還是很有意思的一項活動。如果你有需要 hack Xcode 的需求的話,這篇文章可以帶領你入門 Xcode 插件開發。

  3. OS X Feast :Raywenderich 推出了一系列 OS X 開發的教程,幫助開發者上手 OS X 開發。相對于 iOS 開發,OS X 相對來說復雜一些,但是同時競爭也不如 iOS 上那樣激烈。如果你已經精通于 iOS 開發,想要嘗試一些其他東西的話,OS X 開發會是一個很好的方向。因為兩種開發使用的語言是一樣的,而兩者所使用的框架在最近也有融合的趨勢,因此對 iOS 開發者來說轉換到 OS X 平臺的時候也會非常簡單。

開源項目

  1. Swift :本周最大的新聞就是 Swift 開源了,這里是 Swift 的開源主倉庫。可以看到 Swift 項目的第一行代碼是在 2010 年提交的。對于語言設計者和編譯器的開發者來說,Swift 會是非常好的學習材料。對于 Swift 的一般的使用者和應用開發者來說,語言開源本身意味著之后這門語言的發展將由開發者們一同決定。而在今后的應用開發中,相比起編譯器,我們更有可能接觸到 的是 Swift Package Manager 這個包管理系統。

  2. Crayons :在應用開發中如果使用 Interface Builder 來構建界面的話,經常會需要為 view 指定顏色。Crayons 是一個幫助我們記錄在 IB 中使用過的顏色的插件。你可以為項目添加定義顏色列表,然后在顏色選擇界面中直接選擇顏色,而不用再進行顏色輸入。通過更改列表中的定義,還可以直接將 IB 中的顏色都進行更改,非常方便,這可以大大加快應用的界面開發的速度。

  3. Swiftline :隨著 Swift 開源,相信會涌現出不少跨平臺的命令行工具,而 Swiftline 就是一個幫助我們開發命令行工具的項目。它提供一系列工具鏈,可以讓我們很輕易地處理命令行輸入的參數,構建問答式的命令行交互,以及在命令行中輸出彩色 的字符串等等。如果你要用 Swift 構建命令行工具的話,這個項目會為你的項目提供很好的起點。

  4. Chatto :Chatto 是一個 Swift 的聊天框架,可以很容易地實現類似信息 app 那樣的聊天界面,包括圖片發送,內容分頁,可交互的鍵盤等等,是一個實現非常完整的解決方案。

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!