萬衆矚目的 WWDC 2017 已經落下帷幕,對於 Swift 開發者而言最關心的天然是 「What's New in Swift」 了。程序員
在介紹 Swift 4.0 的新特性以前,仍是讓咱們先回到 2014 年 —— Swift 橫空出世的那一年吧。編程
2014 年的 WWDC 大會上,蘋果在毫無預兆的狀況下發布了用於 Mac OS X 和 iOS 編程的新一代編程語言 Swift。這一舉動讓不少專業的開發者一晚上回到解放前,OC 程序員表示心很涼,在一門全新的編程語言面前,全部人都是零基礎。所幸蘋果下降了 Swift 的入門門檻,在程序編寫上依然支持 Objective-C 和 C 語言,同時彌補了 Objective-C 的一些不足之處,讓更多人更快地入門。小程序
Swift 之前的 iOS 和 OS X 應用開發均使用 Objective-C,而 Objective-C 是一門及其繁瑣(verbose)且學習曲線比較陡峭的語言。如今看來,Swift 1.0 肯定了整個語言的基線:類型安全、迅速、現代,它告訴開發者使用 Swift 進行開發是徹底可能的。Swift 1.0 有了可選的、智能的值類型,以及不少受歡迎的重大特性,獲得了不少 Objective-C 程序員的承認。swift
【WWDC 2014】帶您一覽蘋果全新編程語言Swiftsegmentfault
從這個程序中咱們能夠看到,用 Swift 足夠寫出簡潔易懂,語法上與其餘腳本語言區別很是小,幾乎無需學習 Swift 就能理解大概意思的程序。安全
Swift 是什麼?簡單的說:框架
Swift 用來寫 iOS 和 OS X 程序。(估計也不會支持其它屌絲系統)編程語言
Swift 吸收了 C 和 Objective-C 的優勢,且更增強大易用。佈局
Swift 可使用現有的 Cocoa 和 Cocoa Touch 框架。
Swift 兼具編譯語言的高性能(Performance)和腳本語言的交互性(Interactive)。
僅在 Swift 發佈的 11 個小時後,開發者 Nate Murray 就放出了基於測試版 Swift 開發的應用 —— 一個重製 Flappy Bird 的簡易原型。
第一個受到關注的Swift應用?「Flappy Swift」分享與簡析
推薦對 Swift 感興趣的開發人閱讀這個新做品的代碼,並同時建議下載一份目前的版本試用或收藏。
動做快的小夥伴也第一時間上手用起來,嗯,用過都說好。
手把手教你如何完成一個 TODO 的應用,功能很簡單,就是添加任務和瀏覽任務。將視屏內容整理了一下。雖然沒有什麼高深的內容,可是做爲一個入門的小程序仍是挺適合的。
上一次微軟大張旗鼓的推出 C# 及其編程平臺仍是在 2000 年,而將近15年以後,蘋果推出了另外一門編程語言 Swift。做爲一個開發者,能見證一門編程語言的誕生,備感榮幸。
在 2015 的 WWDC 大會上,蘋果宣佈將開源 Swift。此外蘋果還將公開發布在 OSI 標準許可下的 Swift 的源代碼,包括編譯器和標準庫,開放 Linux 的源代碼端口,開發者能夠在 Linux 上編寫 Swift 程序。不難看出,蘋果這些舉動意在鼓勵開發者從而進一步推進 Swift 的發展。
通過一年的發展,Swift 2.0 有了哪些新特性呢?
Swift 2.0 涵蓋了更多新的功能,如升級的錯誤處理、協議擴展和可用性檢查等。
今年 6 月,一年一度的 WWDC 大會如期而至,在大會上 Apple 發佈了 Swift 2.0,引入了不少新的特性,以幫助開發者能更快,更簡單的構建應用。
做爲這門語言的使用者,必然也會受到它的影響。
每一門編程語言都會有一個從推出到趨之完善的過程。Swift 和 Xcode 的問題雖然飽受詬病,然而,我的相信,隨着時間的推移和語言自身的成長,Swift 的未來一定會成爲主流開發語言之一。
Swift 橫空出世,如火如荼,那 Swift 在將來有可能會取代 Objective-C 嗎?
《Swift基礎教程》做者Boisy Pitre:Objective-C很不錯,但它已是過去時
固然。可是沒人知道會用多長時間,可是我認爲應該是在 5 年以內。咱們很容易就忘記計算機語言的生命有多長(如今 C 語言已經 40 歲了)。Objective-C 不會完全消失,可是我能預見在將來的某一個時刻,它在語言世界中的份額將變得很是小。
那麼問題來了,如何以最短的時間快速從 Object-C 過渡到 Swift?
[分享]iOS開發-快速從Object-C過渡到Swift的一個小技巧
那就是查看 API 文檔,這是一個極其取巧且快速省心掌握 OC 和 SW 之間語法變化的方法
2016 年 9 月,蘋果發佈了被稱爲 「破壞性更新」 的 Swift 3.0。Swift 3.0 可謂 「打破一切」,若是你已精通 Swift 2.0,那升級到 Swift 3.0 無疑是從精通到入門。
保證語言基礎的健全以及一致性是一門新語言發展的必經之路,所以也將受到挫折。Swift 3.0 可能不是最有趣的版本,但它讓 Swift 更爲乾淨。
這意味着什麼?恩,首先,從 Swift 2 過渡到 Swift 3 不可避免地將是懸崖式的過渡,大量的代碼須要重寫,Cocoa 的重命名工做也要落地了,咱們將再次建立使人矚目的科技成果。一樣地,咱們應該嘗試將 「從新佈局式的」 改變放到 Swift 3 中,若是可能的話,Swift 3 到 Swift 4 的過渡儘量平緩一些。
仍是按照慣例,繼續來看看 Swift 3.0 的新特性吧:
經歷了從 Swift 1.0 到 2.0,一個版本以後代碼竟然就不兼容了。這如何在團隊推廣呢?沒有想到 3.0 竟然變化更加的大。有多大,來體會一下。
若是你沒有一直緊跟 Swift Evolution 的話,你也許會想知道都有哪些改變,以及它將會怎麼影響你的代碼,而且你該何時開始着手把代碼 convert 到 3.0,那這篇文章就是寫給你的。
嗯,看到這裏,Swift 2.0 的開發者的心裏是崩潰的,含淚寫下從 Swift 2.2 到Swift 3 的遷移指南。
一個才適應 Swift 2.2 的開發者眼中的 Swift 3.0 和 iOS 10
Xcode 8 帶着 Swift 3 風風火火的到來了,做爲一個平時使用 OC 爲主的 iOS 開發來講,Swift 3 正式和 OC-like 語法劃定了界限。
在開始 Swift 4.0 以前,仍是先來看看開發者們對它的指望吧。
Swift 3 的正式版已經接近完成狀態了, 是時候來回顧一下發布以前的事情, 從中汲取經驗, 而且用來整理一下咱們(Swift 社區)在今年作的事情了. 總的來講, Swift 3 無疑將會是一個 Amazing 的版本, 咱們作到的很了不得, 謝謝每個爲這件事情貢獻力量的人. 比起立刻推動那一堆新計劃, 更重要的是讓咱們每一個人從整個大局來看, 瞭解本身作到的這些了不得的事情.
須要補充的一點是,自從 Swift 開源以後,大部分社區成員提交的提案都在討論和修改以後被接受了。而那些被駁回的提案也都在激烈的討論以後由核心團隊來作最後的決定。就連 Apple 本身的工程師在想要作出改變的時候也會打開 Repo 去寫提案。藉助開源,蘋果充當管理者的角色,確保了語言的一致性,經過開源社區的力量更好的完善語言的功能,讓 Swift 成爲一個更好的語言。
說回本次的更新。
new encoding and decoding, smarter keypaths, multi-line strings, and more!
從 WWDC 2017 發佈的狀況來看,Swift 4.0 作了不少重大的改變,包括 String 的從新設計,Codable 協議的原生支持,原生的 JSON 解析,以及其它不少功能的改進等。所以 Swift 4.0 與 Swift 3.0 並無十分良好的代碼兼容性。
然而,Swift 推出伊始,它的編譯器就是支持兼容性模式的,選擇 -swift-version-3
能編譯大多數 Swift 3.0 的源碼,此外在 Swift 4.0 中還修復了錯誤代碼也能在舊編譯器中編譯經過的漏洞。而 -swift-version-4
將支持全部在 Swift 4.0 設計準則中提到的新特性,開發者能夠以 package 爲單位逐步將本身的代碼庫遷移過來。
Swift 4.0 將在 2017 年秋季發佈。「種一棵樹最好的時間是十年前,其次是如今」,若是你也想嘗試用 Swift 進行 iOS 開發,那麼如今就動手吧!
Swift 2.2 版本:iOS開發入門案例實戰(Swift版)
Swift 3.0 版本:Swift 編程語言學習
「Write the Code, Change the World」,開發者們,讓咱們擁抱變化,用代碼來改變世界吧!
(本期完)
# SegmentFault 技術週刊 #
「技術週刊」是社區特別推出的技術內容系列,一週一主題。週刊篩選的每篇內容,是做者的獨到看法,踩坑總結和經驗分享。