成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

為什么非蘋果開發人員也有理由關注Swift語言?

譯文
移動開發 Android
隨著在開源之后獲得對Linux的支持能力,Swift已經成為跨平臺與服務器端開發人員不可忽視的一種強大編程語言選項。

【51CTO.com快譯】隨著在開源之后獲得對Linux的支持能力,Swift已經成為跨平臺與服務器端開發人員不可忽視的一種強大編程語言選項。

就在上周,蘋果公司已經公布一項承諾:其Swift語言如今正式轉型為開源項目。作為一款一年之前才剛剛出爐的編程語言,Swift屬于C語言家族中的組成部分,其設計目的在于實現通用型應用程序開發任務。蘋果公司最初發布Swift語言之時主要針對新型桌面與移動應用開發工作,且采用LLVM編譯器。Swift汲取了眾多現代語言設計方案中的思路成果,并將C語言的復雜性與深度同Python等解釋語言的易用性加以結合。除此之外,其運行速度亦非常出色,且能夠與大型數且及集合順暢對接。

Swift的開源發布版本將繼續保持自身發展,同時加入了Linux支持能力與服務器端語言功能。Swift目前已經走上了前進的快車道:在其發布的當年,Swift已經升級至2.2版本,此外其同時增加了LLVM與clang編譯器等對接能力。目前Swift尚不提供Windows版本,不過微軟公司已經在其***Visual Studio版本當中加入了iOS與OS X應用的Swift支持能力。

如果大家曾經在OS X系統平臺上使用過Swift,就會發現Swift在Xcode當中的使用方式與多年以來Objective-C開發者所熟知的開發環境非常相似,而兩種語言也能夠使用同一款編譯器。蘋果公司甚至直接將Swift描述為“剔除C元素的Objective-C”。

這是因為Swift實際上就是Objective-C的一種抽象化版本,且同樣使用底層LLVM編譯器。事實上,Swift與Objective-C相當相似,大家甚至可以將Swift描述為一種新的、對特定關鍵性結構進行了簡化并提升代碼可閱讀性的Objective-C語言分支。Swift立足于Objective-C的語法基礎,同時添加了現代結構支持能力以簡化語言自身并幫助習慣于利用JavaScript或者C#進行iOS或者OS X應用創建的開發人員輕松上手。這部分開發人員會從中發現大量自己熟知的特性,包括Swift的控制流處理機制以及函數使用方式等等。

Swift與Objective-C之間的共性簡化了應用程序面向新語言進行更新的流程。大家可以將Swift與Objective-C代碼在同一應用之內進行混合與匹配,從而保證現有庫能夠在新應用中進行復用。如果大家從其中一種語言轉移至另一種語言,則完全無需對有必要加以復用的代碼內容進行重寫——除非各位刻意為之。

蘋果公司在語言設計當中高度關注安全性保障原則,而Swift語言的一大核心特性亦在于其支持類型推斷。如此一來,盡管Swift并非強類型,但其仍然具備類型安全保障。具體來說,如果大家未能聲明某變量類型,但卻為該變量賦予某個已經進行過聲明的值,那么Swift能夠自動推斷其聲明類型。在這種情況下,我們的代碼將更加安全——即降低了發生崩潰的風險。Swift還利用自身內存管理機制對指針進行訪問限制。

類型安全還意味豐大家永遠不會將int傳遞至string;Swift編譯器能夠始終將此標記為錯誤。其中將有一條守護語句在某段代碼的值為nil時阻止其執行,這就使得我們能夠確保自己的代碼遠離各類常見用戶與API錯誤的困擾(一般來講,nil往往會導致編譯器時間錯誤)。或者,大家也可以使用optionals以允許特定變量的賦值為null,而無論其實際類型為何。

編寫Swift應用非常簡單:大家只需要著手進行即可。整個過程不需要設置任何主函數或者導入引用。這種方式的設計目的在于進一小提高代碼可訪問性。盡管目前舂OS X或者iOS用戶界面都是由庫負責處理,不過大家仍然可以在為其設置外觀以及使用體驗之前首先開發應用核心。

Swift中的一大關鍵元素為蘋果所謂“面向協議編程”機制。作為接入其它語言的關鍵性途徑,協議會利用某個類特定方法,從而保證大家能夠在該協議的幫助下在任意類當中使用已定義方法。另外,協議還允許我們對任意類進行擴展——包括核心語言元素在內——而無需對其源代碼進行編輯。這意味著大家可以同時使用各類第三方代碼與庫。

另一大優勢:大家可以利用一整套協議組合幫助自己的開發團隊實現代碼標準。協議本身也是一款極為強大的工具,我們可以將其作為開發策略中的一項關鍵性因素。

Swift最為重要的創新成果之一在于將Playgrounds添加至Xcode當中。蘋果公司目前正利用Xcode與Swift將LLVM編譯器推廣到更多開發人員手中,并確保使用者能夠在IDE之內直接查看代碼功能。Playgrounds機制允許開發人員快速嘗試代碼片段功能,從而在無需切換至IDE之外的前提下了解其是否與預期相符。大家不必對代碼進行編譯再運行其build或者調試工具;一切都能夠在代碼編寫完成后立即進行檢驗。這種方式無疑極大鼓勵了開發人員做出新鮮嘗試,并將代碼編寫變成一種更具娛樂性的體驗。

將這些特性代入其它平臺則是同樣重要的一步。編程語言需要能夠在任意平臺上供開發人員使用,從客戶端到服務器端再到云端,而一套能夠跨越全部現代堆棧元素的一致性語言正是這類開發場景中的核心角色。但需要強調的是,目前大家尚無法在Linux平臺上享受到Swift編譯器內的Playgrounds功能。

不過這種功能缺失也有其道理:作為主要面向服務器應用程序的開發環境,大家在Linux當中可能工不需要這種快速功能可視化機制——在這里,我們只需將輸出結果導入控制臺即可。蘋果公司在其Linux工具組合中提供一款基于REPL的調試工具,允許大家以交互形式快速運行代碼,這樣大家就能夠利用REPL(即讀取-運算-輸出-循環)工具作為表達式評估機制。

隨著源代碼被正式公布在GitHub之上,如今任何人都能夠對Swift原始庫進行fork,著手代碼實驗并將成果以貢獻代碼形式pull至Swift。其中最為重要的元素要數Swift的核心庫,其承諾提供對應選項、從而將蘋果的各類開發框架擴展至其它平臺。這意味著我們只需一次性構建Swift代碼,即可將其交付至多種平臺,而開發人員將借此獲得微軟開源.Net之外的又一套備選方案——另外,亦允許Xamarin等跨平臺工具供應商為更為廣泛的開發者群體提供支持。

原文標題:Why non-Apple developers should care about Swift

【51CTO.com獨家譯稿,合作站點轉載請注明出處】

責任編輯:李英杰 來源: 51cto.com
相關推薦

2022-12-19 07:33:49

開發人員谷歌制度

2020-07-23 08:21:25

PHP開發人員MVC

2022-03-03 23:30:27

TypeScrip開發前端

2011-05-05 17:57:18

軟件開發

2010-03-22 09:33:51

Opera MiniIphone

2023-01-05 14:51:01

測試開發軟件開發

2023-01-06 17:18:00

測試開發集成測試

2018-07-09 14:05:16

編程語言PythonPipenv

2021-04-18 18:12:07

Linux開發操作系統

2021-11-01 22:19:29

開發測試代碼

2020-06-22 07:18:21

Java語言開發

2019-07-12 13:59:21

Docker軟件技術

2021-01-30 10:51:07

Python編程語言開發

2011-06-20 08:43:15

Windows 8開發人員

2023-09-04 08:20:00

2015-07-28 16:38:56

App移動開發

2022-10-24 17:08:12

物聯網

2023-01-11 12:14:50

NeoVimVim開發

2025-06-23 08:35:00

2023-10-13 06:54:58

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕亚洲精品在线观看 | 精品久久一 | 玖玖国产 | 欧美精品在欧美一区二区少妇 | 欧美日韩国产一区二区三区 | 网络毛片 | 91av视频在线观看 | 在线一区视频 | 久久国产欧美日韩精品 | 国产亚洲欧美另类一区二区三区 | 日韩视频在线观看一区二区 | 亚洲成人激情在线观看 | 精品一区二区三区四区五区 | 国产精品成人一区二区三区 | 午夜精品一区二区三区在线视 | 日本二区在线观看 | 久色激情 | 久久综合九九 | 国产在线看片 | 精品亚洲永久免费精品 | 成人亚洲性情网站www在线观看 | 日本小视频网站 | 毛片一级片 | av先锋资源| 日韩五月天 | 国产日韩欧美在线 | 午夜精品久久久久久久星辰影院 | 国产伦精品一区二区三区高清 | 日韩中文字幕 | 自拍偷拍亚洲一区 | 天堂在线1 | 亚洲国产精品久久 | 国产精品美女久久久久久久网站 | 国产色在线| 超碰在线免费公开 | 亚洲第1页 | 欧美日韩综合一区 | 亚洲区一区二 | 欧美激情精品久久久久久变态 | 精品国产黄a∨片高清在线 www.一级片 国产欧美日韩综合精品一区二区 | 日韩中文在线 |