中午大致瀏覽了下Swift.org,寫下總結(jié)。
關(guān)于Swift
Swift 于2014年6月在WWDC2014正式發(fā)布,2015年12月正式開源,真是千呼萬喚。
Swift 面向手機(jī)應(yīng)用、桌面應(yīng)用和云服務(wù)器這幾塊開發(fā)。語言特性主要有三個(gè)方面安全性(safty)、執(zhí)行效率(performance)和軟件設(shè)計(jì)模式(software design patterns)。
安全性。作為一種強(qiáng)類型語言,時(shí)時(shí)刻刻、無處不在地需要注意“安全性”!例如變量使用之前要保證初始化,還要判斷值存不存在,常量用
let變量用var等等。感覺約束有點(diǎn)多,但是從長遠(yuǎn)角度來說還是很重要的。執(zhí)行效率。Swift 底層實(shí)現(xiàn)主要是C++、Objective-C和C ,其中C++占了60%+之多,這讓想看源碼的我頓時(shí)望而卻步了。但是說到執(zhí)行效率,目前感受不到,觀望。
Expressive。Swift可以說是集眾多語言優(yōu)點(diǎn)于一身,這也是為什么我第一次學(xué)習(xí)Swift時(shí)感覺非常親切,易上手。
此外工具也是構(gòu)成Swift 生態(tài)系統(tǒng)至關(guān)重要的部分之一。如目前Xcode中的Playground, web-based REPL (這貨能在Linnux 服務(wù)器端玩)。
特性
Swift 能夠自動(dòng)管理內(nèi)存,加;看你喜好吧,反正我一般不加。官網(wǎng)文章中列舉了一些東西:
- 閉包,其實(shí)底層實(shí)現(xiàn)就是函數(shù)指針。
- 元組,能夠返回多值結(jié)果。
- 泛型,如果你想寫個(gè)庫,泛型真的很有用
- 對集合的遍歷方式有很多,例如
for-in - 結(jié)構(gòu)體支持添加方法,進(jìn)行擴(kuò)展,以及遵循協(xié)議。
- 函數(shù)式編程。
- 錯(cuò)誤機(jī)制,do-catch try
- 控制流,
do,guard,defer(這貨開源之后應(yīng)該要用的比較多) ,repeat等,對于guard 請看我寫的Swift基礎(chǔ)入門系列。
開源
2015.12.03 Swift開源多個(gè)項(xiàng)目,放在Github上,短短一天就過萬的start,讓人不得不感慨是“蘋果親兒子”。
主要開源項(xiàng)目有:
平臺(tái)支持
蘋果自家平臺(tái),iOS/watchOS/tvOS/OS X 以及Linux,其中Linux下開源了編譯器和靜態(tài)文件庫,Swift RERL 和 LLDB以及核心庫。