![Swift編程語言的特點(diǎn)及應(yīng)用分析_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/3/83a3a2a4-abd8-47fe-8171-47ac7afe8fd8/83a3a2a4-abd8-47fe-8171-47ac7afe8fd81.gif)
![Swift編程語言的特點(diǎn)及應(yīng)用分析_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/3/83a3a2a4-abd8-47fe-8171-47ac7afe8fd8/83a3a2a4-abd8-47fe-8171-47ac7afe8fd82.gif)
![Swift編程語言的特點(diǎn)及應(yīng)用分析_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/3/83a3a2a4-abd8-47fe-8171-47ac7afe8fd8/83a3a2a4-abd8-47fe-8171-47ac7afe8fd83.gif)
![Swift編程語言的特點(diǎn)及應(yīng)用分析_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/3/83a3a2a4-abd8-47fe-8171-47ac7afe8fd8/83a3a2a4-abd8-47fe-8171-47ac7afe8fd84.gif)
![Swift編程語言的特點(diǎn)及應(yīng)用分析_第5頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/3/83a3a2a4-abd8-47fe-8171-47ac7afe8fd8/83a3a2a4-abd8-47fe-8171-47ac7afe8fd85.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 swift編程語言的特點(diǎn)及應(yīng)用分析 侯睿哲摘要:swift是為高效而強(qiáng)大的編程而創(chuàng)建的一種新的編程語言,它結(jié)合了c和objective-c的優(yōu)點(diǎn)并且不受c兼容性的限制,充分利用現(xiàn)代化的mac.iphone和ipad的硬件,讓編程的流程大大縮短和簡化。作為一種新的編程語言,它主要用于編寫ios和osx的應(yīng)用。相較于其他編程語言,其采用了安全的編程模式,并添加了許多現(xiàn)代功能,使得編程更加輕松,靈活和有趣,因此具有廣泛的運(yùn)用前景。關(guān)鍵詞:swift;編程語言;特點(diǎn);應(yīng)用:tp312 :a:1009-3044(2020)03-0062-021 sw
2、ift語言的產(chǎn)生與發(fā)展swift是由蘋果公司在2014年全球開發(fā)者大會(huì)(wwdc)首次推出的由蘋果員工chris lattner開發(fā)的一種新的編程語言1。在此之前,蘋果公司為了更好地推廣swift語言,其研發(fā)人員在“語言編譯器、調(diào)試器和構(gòu)建框架?!钡确矫孢M(jìn)行了優(yōu)化改進(jìn),避免了objective-c難學(xué)且使用不便的缺陷,讓swift語言在編程中相較于其他編程語言更加輕松、靈活和有趣。正是開發(fā)人員做好了這些基礎(chǔ)工作,所以,swift編程語言一發(fā)布,立即受到廣大程序員的歡迎和好評(píng)。為了推廣使用swift,2015年12月4日,蘋果公司宣布其swift編程語言開放源代碼,長達(dá)600多頁的the swi
3、ft programming language可以在蘋果官方github在線免費(fèi)下載。由于swift廣泛用于蘋果操作系統(tǒng)(ios,macos,wa-tchos和tvos),實(shí)際上隨著蘋果公司業(yè)務(wù)的增長,其以“令人難以置信的速度”增長。2017年下半年,已在redmonk的語言排名中攀升了44位。在不到四年的時(shí)間里,swift以創(chuàng)紀(jì)錄的速度達(dá)到了編程語言前10名2。2 swift語言的特點(diǎn)2.1 swift語法更加簡潔swift不僅吸收了c語言和objective-c等編程語言的優(yōu)點(diǎn),而且改進(jìn)了objective-c難學(xué)且使用不便的缺陷,并且在使用過程中還不受c語言兼容性的限制,由于它采用了實(shí)時(shí)
4、編譯、持續(xù)跟蹤和及時(shí)警告語法錯(cuò)誤、提供設(shè)計(jì)建議和內(nèi)存管理等安全的編程模式,且自身帶有預(yù)定義的庫,使得swift的api更容易閱讀和維護(hù)。它不僅具有c或c+等基礎(chǔ)編程語言的功能,還具備c#或javascript等高級(jí)語言的流暢性。以下代碼片段的比較和圖1、圖2示例能夠直觀地感受到swift語法簡潔和流暢性的特點(diǎn)。objective-c代碼:const int count= 10;double price= 23.55;nsstring *firstmessage = "swift is awesome. "nsstring *secondmessage = "wha
5、t do you think? "nsstring *message = nsstring stringwithformat: "o-/o o-/o". firstmessage, secondmessage;nslog("o-/o", message);swift代碼:let count = 10var price = 23.55let firstmessage = "swift is awesome. "let secondmessage = "what do you think?"var messa
6、ge = firstmessage + secondmessageprint(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ù)流語言實(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á)
7、高度并行的多任務(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īng)用分析為了說明swift編程語言的應(yīng)用前景和優(yōu)勢(shì),下面筆者將swift編程語言與目前較為流行的java語言進(jìn)行對(duì)比說明。
8、一般情況下,使用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īng)該易于使用。而swift的主要目標(biāo)是大大簡化軟件工程流程:1)不需要分號(hào);2)沒有頭文件需要管理;3)鍵入推斷;4)函數(shù)是第一的要素,不會(huì)發(fā)生空指針異常;5)不允許c語言風(fēng)格的枚舉(int i=0;i設(shè)計(jì)用戶界面:除語法語義外,swift的最大優(yōu)勢(shì)之一是設(shè)計(jì)用戶界面。對(duì)大多數(shù)開發(fā)人員說,ios開發(fā)的美麗之處在于代碼(.swift文件)
9、和用戶界面(.storyboards)的分離。首先,使用者可以選擇任何ui對(duì)象,然后將它們拖放到視圖中。然后建立源代碼和用戶界面之間的關(guān)系。按下控制鍵就可將其拖動(dòng)到“視圖控制器”圖標(biāo)。然后,就可以選擇一個(gè)彈出窗口以連接代碼。這就是swift將ui與源代碼連接的方式。對(duì)于開發(fā)人員來說,設(shè)計(jì)用戶界面非常方便。3.2 java的優(yōu)勢(shì)具有更多庫:java作為世界上五大編程語言之一,比swift擁有更悠久的歷史。swift是一種新興的語言,比java更“現(xiàn)代”,但java的優(yōu)勢(shì)在于它的歷史。作為經(jīng)過長期開發(fā)的語言,java比swift具有更多的第三方庫。用戶可以找到幾乎所有需要的java語言庫。世界上很
10、少有像java這樣的具有深度庫的語言。更多支持:當(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í)中,兩種語言并沒有真正競(jìng)爭。如果要制作ios應(yīng)用程序,則需要swift。如果要進(jìn)行android開發(fā),則選擇java。兩種語言都有自己的用途和適用情況。但是,兩種語言的比較并非沒有意義。如今的移動(dòng)設(shè)備在我們
11、的生活中占據(jù)了越來越多的空間,無論是android還是ios開發(fā)都很流行。如果開發(fā)人員想在它們之間進(jìn)行選擇,那么對(duì)他來說,了解它們之間的比較很重要。另一方面,如果開發(fā)人員只熟悉其中的一個(gè),那么比較可以幫助他更快,更輕松地學(xué)習(xí)另一個(gè)。3.4 swift前景分析swift作為一種新興的“現(xiàn)代”編程語言,它具有“語法、代碼簡潔、可讀性強(qiáng),對(duì)用戶友好且易于學(xué)習(xí)”等諸多優(yōu)勢(shì),因此,對(duì)于初學(xué)程序開發(fā)的人員具有較強(qiáng)的吸引力。特別是swift使用playground編寫模式,使編寫語言代碼難以置信的簡單和有趣。輸入一行代碼,結(jié)果立即出現(xiàn)。如果您的代碼通過一個(gè)循環(huán)運(yùn)行一段時(shí)間你可以看它在時(shí)間軸助理進(jìn)展。在時(shí)間線
12、中的圖表顯示變量,組成一個(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ā)展完善的編程語言,需要在用戶數(shù)量和庫的擴(kuò)展方面進(jìn)一步仍提高,同時(shí)亟待改變其特定的編譯環(huán)境等不足、缺陷和局限性,它不僅需要蘋果公司而且也需要更多的開發(fā)人員進(jìn)行持續(xù)的開發(fā),增強(qiáng)其兼容性。swift/t是開發(fā)swift的很好的例子。我
13、們相信隨著開發(fā)人員貢獻(xiàn)的不斷加入,swift將變得更加完善,因此具有廣泛的運(yùn)用前景。參考文獻(xiàn):1 beginning ios 12 programming swifteb/ol. (2014-11-16).https:/2 developing an ios application for value estream mapping withswifteb/ol. https:/pdfs. emanticscholar. org/7662/07e79d5b1882e3eclac98dbc270e59bb6078.pdf.3 open sourcing programming language - case apple swifteb/ol. https:/pdfs. semanticscholar. orq34e5/6a279f1175141314
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 設(shè)計(jì)類合同協(xié)議書
- 軟件產(chǎn)品開發(fā)與生命周期管理作業(yè)指導(dǎo)書
- 2025年聊城道路貨運(yùn)駕駛員從業(yè)資格證考試
- 2025年咸寧道路貨運(yùn)駕駛員從業(yè)資格證考試題庫
- 2024-2025學(xué)年高中政治課時(shí)作業(yè)12博大精深的中華文化含解析新人教版必修3
- 2024-2025學(xué)年度九年級(jí)物理全冊(cè)15.3串聯(lián)和并聯(lián)教學(xué)設(shè)計(jì)3新版新人教版
- 2024-2025學(xué)年高中英語Unit2LanguageSectionⅦWriting-調(diào)查報(bào)告教案含解析牛津譯林版必修3
- 2024年春八年級(jí)物理下冊(cè)第十章浮力章末小結(jié)與提升分層精煉新版新人教版
- 2024年新教材高中生物課時(shí)素養(yǎng)評(píng)價(jià)十八6.3.2隔離在物種形成中的作用含解析新人教版必修2
- 蘇科版數(shù)學(xué)八年級(jí)上冊(cè)聽評(píng)課記錄《1-3探索三角形全等的條件(1)》
- 國庫集中支付培訓(xùn)班資料-國庫集中支付制度及業(yè)務(wù)操作教學(xué)課件
- 詩詞寫作入門課件
- 2023年上海青浦區(qū)區(qū)管企業(yè)統(tǒng)一招考聘用筆試題庫含答案解析
- 2023版押品考試題庫必考點(diǎn)含答案
- 植物之歌觀后感
- 空氣能熱泵安裝示意圖
- 建筑工程施工質(zhì)量驗(yàn)收規(guī)范檢驗(yàn)批填寫全套表格示范填寫與說明
- 2020年中秋國慶假日文化旅游市場(chǎng)安全生產(chǎn)檢查表
- 昆明天大礦業(yè)有限公司尋甸縣金源磷礦老廠箐-小凹子礦段(擬設(shè))采礦權(quán)出讓收益評(píng)估報(bào)告
- 心有榜樣行有力量 -從冬奧冠軍徐夢(mèng)桃身上感受青春奮斗初中主題班會(huì)
- 七年級(jí)英語下冊(cè)閱讀理解10篇
評(píng)論
0/150
提交評(píng)論