999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Swift編程語言的特點及應用分析

2020-04-08 09:30:50侯睿哲
電腦知識與技術 2020年3期
關鍵詞:特點應用

侯睿哲

摘要:Swift是為高效而強大的編程而創建的一種新的編程語言,它結合了C和Objective-C的優點并且不受C兼容性的限制,充分利用現代化的Mac.iPhone和iPad的硬件,讓編程的流程大大縮短和簡化。作為一種新的編程語言,它主要用于編寫iOS和Osx的應用。相較于其他編程語言,其采用了安全的編程模式,并添加了許多現代功能,使得編程更加輕松,靈活和有趣,因此具有廣泛的運用前景。

關鍵詞:Swift;編程語言;特點;應用

中圖分類號:TP312 文獻標識碼:A

文章編號:1009-3044(2020)03-0062-02

1 Swift語言的產生與發展

Swift是由蘋果公司在2014年全球開發者大會(WWDC)首次推出的由蘋果員工Chris Lattner開發的一種新的編程語言[1]。在此之前,蘋果公司為了更好地推廣Swift語言,其研發人員在“語言編譯器、調試器和構建框架棧”等方面進行了優化改進,避免了Objective-C難學且使用不便的缺陷,讓Swift語言在編程中相較于其他編程語言更加輕松、靈活和有趣。正是開發人員做好了這些基礎工作,所以,Swift編程語言一發布,立即受到廣大程序員的歡迎和好評。為了推廣使用Swift,2015年12月4日,蘋果公司宣布其Swift編程語言開放源代碼,長達600多頁的The Swift Programming Language可以在蘋果官方Github在線免費下載。由于Swift廣泛用于蘋果操作系統(iOS,macOS,wa-tchOS和tvOS),實際上隨著蘋果公司業務的增長,其以“令人難以置信的速度”增長。2017年下半年,已在RedMonk的語言排名中攀升了44位。在不到四年的時間里,Swift以創紀錄的速度達到了編程語言前10名[2]。

2 Swift語言的特點

2.1 Swift語法更加簡潔

Swift不僅吸收了C語言和Objective-C等編程語言的優點,而且改進了Objective-C難學且使用不便的缺陷,并且在使用過程中還不受C語言兼容性的限制,由于它采用了實時編譯、持續跟蹤和及時警告語法錯誤、提供設計建議和內存管理等安全的編程模式,且自身帶有預定義的庫,使得Swift的API更容易閱讀和維護。它不僅具有C或C++等基礎編程語言的功能,還具備C#或JavaScript等高級語言的流暢性。以下代碼片段的比較和圖1、圖2示例能夠直觀地感受到Swift語法簡潔和流暢性的特點。

Objective-C代碼:

const int count= 10;

double price= 23.55;

NSString *firstMessage = @"Swift is awesome. ";

NSString *secondMessage = @"What do you think? ";

NSString *message = [NSString stringWithFormat: @"o-/o @o-/o@". firstMessage, secondMessage];

NSLog(@"o-/o@", message);

Swift代碼:

let count = 10

var price = 23.55

let firstMessage = "Swift is awesome. "

let secondMessage = "What do you think?"

var message = firstMessage + secondMessage

print(message)

2.2 Swift的伸縮性強

Swift具有較強的可伸縮性,可以在Swift的基礎上發展為Swift/T.較好地避免了以前開發的Swift實現集中式單節點評估模型限制的缺陷[3]。Swift/T是一種新的數據流語言實現,旨在實現極高的可伸縮性。其技術創新包括分布式數據流引擎,該引擎使用數據流驅動的模式來平衡大量節點的程序評估。Swift/T擴展了Swift數據流編程模型,使系統以分布式方式運行,從而使系統在完成一項繁重的任務時效率更高,速度更快。“因此,Swift/T提供了可伸縮的并行編程模型,以高效地表達高度并行的多任務應用程序的外部層次[4]。”圖3顯示了考慮Swift原有的單數據流結構。

在以前,單節點Swift引擎將以小于500個任務/秒的速度將這些子函數發送到分布式CPU中執行。與之相反,新的Swift/T架構可以將外部循環的任務分配給許多CPU,每個CPU可以依次將內部循環的任務分配給許多其他CPU。這個例子清楚地顯示了Swift/T如何使系統高效地運行。我們的測試結果表明,對于一個lOOs的任務,Swift/T可以將128k的處理器效率提高85%。

3 Swift語言的應用分析

為了說明Swift編程語言的應用前景和優勢,下面筆者將Swift編程語言與目前較為流行的Java語言進行對比說明。一般情況下,使用Java進行程序構建時,應牢記5個主要目標:1)應該使用面向對象的編程方法;2)應該允許同一程序在多個操作系統上執行;3)應該包含使用計算機網絡的內置支持;4)應該設計為可以安全地從遠程源執行代碼;5)通過選擇被認為是其他面向對象語言的組成部分,應該易于使用。

而Swift的主要目標是大大簡化軟件工程流程:1)不需要分號;2)沒有頭文件需要管理;3)鍵入推斷;4)函數是第一的要素,不會發生空指針異常;5)不允許C語言風格的枚舉(int i=0;i

設計用戶界面:除語法語義外,Swift的最大優勢之一是設計用戶界面。對大多數開發人員說,iOS開發的美麗之處在于代碼(.Swift文件)和用戶界面(.storyboards)的分離。首先,使用者可以選擇任何UI對象,然后將它們拖放到視圖中。然后建立源代碼和用戶界面之間的關系。按下控制鍵就可將其拖動到“視圖控制器”圖標。然后,就可以選擇一個彈出窗口以連接代碼。這就是Swift將UI與源代碼連接的方式。對于開發人員來說,設計用戶界面非常方便。

3.2 Java的優勢

具有更多庫:Java作為世界上五大編程語言之一,比Swift擁有更悠久的歷史。Swift是一種新興的語言,比Java更“現代”,但Java的優勢在于它的歷史。作為經過長期開發的語言,Java比Swift具有更多的第三方庫。用戶可以找到幾乎所有需要的Java語言庫。世界上很少有像Java這樣的具有深度庫的語言。

更多支持:當用戶嘗試構建應用程序時,錯誤和異常是不可避免的,這時就能顯現出Java的優勢。編程過程中總會有一些細節錯誤或編譯異常,用戶無法在書中找到具體的解決方案,然后就需要在線尋求支持。由于Java開發人員的數量遠遠超過Swift,因此用戶會發現,獲得Java支持遠比Swift容易得多。這可以幫助用戶更快,更輕松地解決問題。

3.3 兩者比較的意義

在現實中,兩種語言并沒有真正競爭。如果要制作iOS應用程序,則需要Swift。如果要進行Android開發,則選擇Java。兩種語言都有自己的用途和適用情況。但是,兩種語言的比較并非沒有意義。如今的移動設備在我們的生活中占據了越來越多的空間,無論是Android還是iOS開發都很流行。如果開發人員想在它們之間進行選擇,那么對他來說,了解它們之間的比較很重要。另一方面,如果開發人員只熟悉其中的一個,那么比較可以幫助他更快,更輕松地學習另一個。

3.4 Swift前景分析

Swift作為一種新興的“現代”編程語言,它具有“語法、代碼簡潔、可讀性強,對用戶友好且易于學習”等諸多優勢,因此,對于初學程序開發的人員具有較強的吸引力。特別是Swift使用Playground編寫模式,使編寫語言代碼難以置信的簡單和有趣。輸入一行代碼,結果立即出現。如果您的代碼通過一個循環運行一段時間你可以看它在時間軸助理進展。在時間線中的圖表顯示變量,組成一個視圖時繪制每一步,并能起到一個動畫SpriteKit現場。當你在Playground上完善你的代碼,只需將代碼運行在項目中。有了Playground,用戶可以:設計一種新的算法,看其工作的每一步,創建新的測試,驗證他們推動到你的測試套件前工作,嘗試新的API來磨煉你的Swift的編碼技巧,同時可以消除不安全的代碼。

當然,Swift作為一種不斷發展完善的編程語言,需要在用戶數量和庫的擴展方面進一步仍提高,同時亟待改變其特定的編譯環境等不足、缺陷和局限性,它不僅需要蘋果公司而且也需要更多的開發人員進行持續的開發,增強其兼容性。Swift/T是開發Swift的很好的例子。我們相信隨著開發人員貢獻的不斷加入,Swift將變得更加完善,因此具有廣泛的運用前景。

參考文獻:

[1] Beginning iOS 12 Programming Swift[EB/OL]. (2014-11-16).https://www.appcoda.com/learnSwift/.

[2] Developing an iOS Application for Value Estream Mapping withSwift[EB/OL]. https://pdfs. emanticscholar. org/7662/07e79d5b1882e3eclac98dbc270e59bb6078.pdf.

[3] Open Sourcing Programming Language - Case Apple Swift[EB/OL]. https://pdfs. semanticscholar. orq34e5/6a279f1175141314c3f8db8c6807d63lla33.pdf.

[4] Swift/T: Scalable Data Flow Programming for Many-Task Ap-plications[EB/OL]. http://citeseerx. ist. psu. edu/viewdoc/down-load?doi=10.1. 1.718.2708&rep=repl&type=pdf.

猜你喜歡
特點應用
互聯網時代小米的成本管理特點
高中生道德價值觀的特點及原因分析
高壓輸配電線路工程施工技術控制之我見
中低壓配網桿塔防撞措施淺析
微信輔助對外漢語口語教學研究
科技視界(2016年21期)2016-10-17 17:18:00
從語用學角度看英語口語交際活動的特點
考試周刊(2016年76期)2016-10-09 09:16:03
多媒體技術在小學語文教學中的應用研究
考試周刊(2016年76期)2016-10-09 08:45:44
分析膜技術及其在電廠水處理中的應用
科技視界(2016年20期)2016-09-29 14:22:00
GM(1,1)白化微分優化方程預測模型建模過程應用分析
科技視界(2016年20期)2016-09-29 12:03:12
煤礦井下坑道鉆機人機工程學應用分析
科技視界(2016年20期)2016-09-29 11:47:01
主站蜘蛛池模板: 强乱中文字幕在线播放不卡| 在线人成精品免费视频| 午夜一级做a爰片久久毛片| 国产精品视频猛进猛出| 精品国产网| 精品国产污污免费网站| 99色亚洲国产精品11p| 香蕉网久久| 亚洲无码91视频| 伊人久久大香线蕉成人综合网| 日韩国产综合精选| 久久久91人妻无码精品蜜桃HD| 再看日本中文字幕在线观看| 欧美视频在线播放观看免费福利资源 | 国产日本欧美亚洲精品视| 国产主播一区二区三区| 亚洲区一区| 久久婷婷五月综合色一区二区| 91精品免费高清在线| 99尹人香蕉国产免费天天拍| 欧美日韩中文国产| 国产永久无码观看在线| 亚洲欧美日韩综合二区三区| 成人免费午间影院在线观看| 亚洲人成人无码www| 综合亚洲网| 欧美19综合中文字幕| 国产人成午夜免费看| 国产成人综合久久精品尤物| 97在线观看视频免费| 国精品91人妻无码一区二区三区| 成人永久免费A∨一级在线播放| 免费全部高H视频无码无遮掩| 五月婷婷亚洲综合| 伊人中文网| 永久毛片在线播| 亚洲国产成人超福利久久精品| 久久国产V一级毛多内射| 国产一级一级毛片永久| 欧美三级日韩三级| 亚洲中文字幕无码mv| 都市激情亚洲综合久久| 99热这里只有精品在线播放| 婷婷激情亚洲| 久久久久国色AV免费观看性色| 精品国产Av电影无码久久久| 麻豆国产精品视频| 99人妻碰碰碰久久久久禁片| 欧美天堂在线| 青草视频久久| 欧美色99| 国产精品漂亮美女在线观看| 国产精品无码作爱| 国产高潮视频在线观看| 国产精品久久久久久久久| 国产主播在线一区| 日韩成人在线一区二区| 日韩精品无码免费专网站| 国产亚洲美日韩AV中文字幕无码成人| 亚瑟天堂久久一区二区影院| 在线色国产| 国产麻豆福利av在线播放| 无码电影在线观看| 欧美高清日韩| 亚洲天堂网在线播放| 国产亚洲精品自在久久不卡| 波多野结衣的av一区二区三区| 日韩欧美中文字幕一本| 欧美午夜在线观看| 国产免费网址| 亚洲IV视频免费在线光看| 91麻豆精品国产91久久久久| 国产乱子伦精品视频| 97在线视频免费观看| 亚洲欧洲天堂色AV| 嫩草影院在线观看精品视频| AV在线麻免费观看网站| 免费看黄片一区二区三区| 国产网友愉拍精品视频| 久久亚洲国产最新网站| 最新亚洲人成网站在线观看| 激情乱人伦|