亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Swift編程語(yǔ)言的特點(diǎn)及應(yīng)用分析

        2020-04-08 09:30:50侯睿哲
        電腦知識(shí)與技術(shù) 2020年3期
        關(guān)鍵詞:特點(diǎn)應(yīng)用

        侯睿哲

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

        關(guān)鍵詞:Swift;編程語(yǔ)言;特點(diǎn);應(yīng)用

        中圖分類號(hào):TP312 文獻(xiàn)標(biāo)識(shí)碼:A

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

        1 Swift語(yǔ)言的產(chǎn)生與發(fā)展

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

        2 Swift語(yǔ)言的特點(diǎn)

        2.1 Swift語(yǔ)法更加簡(jiǎn)潔

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

        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的伸縮性強(qiáng)

        Swift具有較強(qiáng)的可伸縮性,可以在Swift的基礎(chǔ)上發(fā)展為Swift/T.較好地避免了以前開發(fā)的Swift實(shí)現(xiàn)集中式單節(jié)點(diǎn)評(píng)估模型限制的缺陷[3]。Swift/T是一種新的數(shù)據(jù)流語(yǔ)言實(shí)現(xiàn),旨在實(shí)現(xiàn)極高的可伸縮性。其技術(shù)創(chuàng)新包括分布式數(shù)據(jù)流引擎,該引擎使用數(shù)據(jù)流驅(qū)動(dòng)的模式來平衡大量節(jié)點(diǎn)的程序評(píng)估。Swift/T擴(kuò)展了Swift數(shù)據(jù)流編程模型,使系統(tǒng)以分布式方式運(yùn)行,從而使系統(tǒng)在完成一項(xiàng)繁重的任務(wù)時(shí)效率更高,速度更快?!耙虼?,Swift/T提供了可伸縮的并行編程模型,以高效地表達(dá)高度并行的多任務(wù)應(yīng)用程序的外部層次[4]?!眻D3顯示了考慮Swift原有的單數(shù)據(jù)流結(jié)構(gòu)。

        在以前,單節(jié)點(diǎn)Swift引擎將以小于500個(gè)任務(wù)/秒的速度將這些子函數(shù)發(fā)送到分布式CPU中執(zhí)行。與之相反,新的Swift/T架構(gòu)可以將外部循環(huán)的任務(wù)分配給許多CPU,每個(gè)CPU可以依次將內(nèi)部循環(huán)的任務(wù)分配給許多其他CPU。這個(gè)例子清楚地顯示了Swift/T如何使系統(tǒng)高效地運(yùn)行。我們的測(cè)試結(jié)果表明,對(duì)于一個(gè)lOOs的任務(wù),Swift/T可以將128k的處理器效率提高85%。

        3 Swift語(yǔ)言的應(yīng)用分析

        為了說明Swift編程語(yǔ)言的應(yīng)用前景和優(yōu)勢(shì),下面筆者將Swift編程語(yǔ)言與目前較為流行的Java語(yǔ)言進(jìn)行對(duì)比說明。一般情況下,使用Java進(jìn)行程序構(gòu)建時(shí),應(yīng)牢記5個(gè)主要目標(biāo):1)應(yīng)該使用面向?qū)ο蟮木幊谭椒?2)應(yīng)該允許同一程序在多個(gè)操作系統(tǒng)上執(zhí)行;3)應(yīng)該包含使用計(jì)算機(jī)網(wǎng)絡(luò)的內(nèi)置支持;4)應(yīng)該設(shè)計(jì)為可以安全地從遠(yuǎn)程源執(zhí)行代碼;5)通過選擇被認(rèn)為是其他面向?qū)ο笳Z(yǔ)言的組成部分,應(yīng)該易于使用。

        而Swift的主要目標(biāo)是大大簡(jiǎn)化軟件工程流程:1)不需要分號(hào);2)沒有頭文件需要管理;3)鍵入推斷;4)函數(shù)是第一的要素,不會(huì)發(fā)生空指針異常;5)不允許C語(yǔ)言風(fēng)格的枚舉(int i=0;i

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

        3.2 Java的優(yōu)勢(shì)

        具有更多庫(kù):Java作為世界上五大編程語(yǔ)言之一,比Swift擁有更悠久的歷史。Swift是一種新興的語(yǔ)言,比Java更“現(xiàn)代”,但Java的優(yōu)勢(shì)在于它的歷史。作為經(jīng)過長(zhǎng)期開發(fā)的語(yǔ)言,Java比Swift具有更多的第三方庫(kù)。用戶可以找到幾乎所有需要的Java語(yǔ)言庫(kù)。世界上很少有像Java這樣的具有深度庫(kù)的語(yǔ)言。

        更多支持:當(dāng)用戶嘗試構(gòu)建應(yīng)用程序時(shí),錯(cuò)誤和異常是不可避免的,這時(shí)就能顯現(xiàn)出Java的優(yōu)勢(shì)。編程過程中總會(huì)有一些細(xì)節(jié)錯(cuò)誤或編譯異常,用戶無法在書中找到具體的解決方案,然后就需要在線尋求支持。由于Java開發(fā)人員的數(shù)量遠(yuǎn)遠(yuǎn)超過Swift,因此用戶會(huì)發(fā)現(xiàn),獲得Java支持遠(yuǎn)比Swift容易得多。這可以幫助用戶更快,更輕松地解決問題。

        3.3 兩者比較的意義

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

        3.4 Swift前景分析

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

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

        參考文獻(xiàn):

        [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.

        猜你喜歡
        特點(diǎn)應(yīng)用
        互聯(lián)網(wǎng)時(shí)代小米的成本管理特點(diǎn)
        高中生道德價(jià)值觀的特點(diǎn)及原因分析
        高壓輸配電線路工程施工技術(shù)控制之我見
        中低壓配網(wǎng)桿塔防撞措施淺析
        微信輔助對(duì)外漢語(yǔ)口語(yǔ)教學(xué)研究
        科技視界(2016年21期)2016-10-17 17:18:00
        從語(yǔ)用學(xué)角度看英語(yǔ)口語(yǔ)交際活動(dòng)的特點(diǎn)
        考試周刊(2016年76期)2016-10-09 09:16:03
        多媒體技術(shù)在小學(xué)語(yǔ)文教學(xué)中的應(yīng)用研究
        考試周刊(2016年76期)2016-10-09 08:45:44
        分析膜技術(shù)及其在電廠水處理中的應(yīng)用
        科技視界(2016年20期)2016-09-29 14:22:00
        GM(1,1)白化微分優(yōu)化方程預(yù)測(cè)模型建模過程應(yīng)用分析
        科技視界(2016年20期)2016-09-29 12:03:12
        煤礦井下坑道鉆機(jī)人機(jī)工程學(xué)應(yīng)用分析
        科技視界(2016年20期)2016-09-29 11:47:01
        国产av一区二区内射| 国产偷窥熟女精品视频| 国产精品亚洲а∨天堂2021| 日韩视频中文字幕精品偷拍 | 国产xxxxx在线观看| 真正免费一级毛片在线播放| 色老汉亚洲av影院天天精品| 漂亮人妻被强了中文字幕| 国产成人精品a视频一区| 女厕厕露p撒尿八个少妇| 亚洲人妻无缓冲av不卡| 日韩中文字幕一区二十| 欧美又大粗又爽又黄大片视频| 性激烈的欧美三级视频| 老汉tv永久视频福利在线观看| 国产精品久久一区性色a| 阴唇两边有点白是怎么回事| 精品亚洲成a人在线观看 | 亚洲av日韩av永久无码色欲| 日韩不卡av高清中文字幕| 日韩av最新在线地址| 亚洲国产精品高清一区| 亚洲av一二三四区四色婷婷| 一本无码人妻在中文字幕免费| 久久国产精彩视频| 成人免费丝袜美腿视频| 中文字幕色偷偷人妻久久一区| 久久精品99久久香蕉国产| 少妇AV射精精品蜜桃专区| 国产视频精品一区白白色| 在线播放国产自拍av| 男女猛烈拍拍拍无挡视频| 国产农村妇女高潮大叫| 日本香蕉久久一区二区视频| 亚洲一区二区三区高清视频| 一本色道无码不卡在线观看| 曰韩人妻无码一区二区三区综合部 | 区一区二区三免费观看视频 | 粗大的内捧猛烈进出少妇| 欧美色aⅴ欧美综合色| 一区二区三区岛国av毛片|