Xcode互動式的除錯環境,可以馬上顯示程式碼的結果,或是透過時間軸功能以圖表檢視程式的進行,提供開發者順暢的開發流程。

蘋果於6月2日的WWDC大會上發表了專為Cocoa及Cocoa Touch所設計的程式語言Swift,強調簡潔、明瞭、有趣、安全與快速。Cocoa為OS X平臺的應用程式介面(API),而Cocoa Touch則是iOS的API。

Mac OS X平台有Carbon 和Cocoa兩種API,Carbon是OS 9末期,Apple為幫助舊程式轉到OS X,所提出的API架構。而Cocoa應用程式介面與Apple公司創辦人賈伯斯淵源頗深,當時賈伯斯被自己創辦的Apple公司掃地出門,因此他另外創辦了NeXT.Inc,並開發了以Mach和BSD為基礎,擁有先進GUI的NeXTSTEP,後來Apple買下NeXT.Inc,同時也引入以Objective-C為原生語言的NeXTSTEP,而NeXTSTEP就是Cocoa的前身。

利用Swift與Cocoa開發,結合了編譯語言的效能與效率,以及腳本語言的簡單及互動等特性,透過消除各種普遍錯誤的類別來協助開發人員打造更安全及更可靠的程式,並能與Objective-C並存,方便開發人員將Swift植入既有的程式中。蘋果軟體工程副總裁Craig Federighi表示,蘋果希望以Swift來取代Objective-C與Python等程式語言。

行動通訊軟體Cubie Messenger的開發公司Gamelet,其行動裝置App開發工程師黃千碩表示,Objective-C是歷史悠久的程式語言,因此對於開發人員來說並不友善,無法使用較新的程式語言所提供的程式設計方法。

根據蘋果的說明,Swift是該公司結合蘋果打造各式平臺經驗以及對程式語言的研究所得到的成果,具備簡潔與清楚的語法,使其很容易了解及維護;各種的推論類型讓程式碼更乾淨也更不容易出錯,還有各種模組與可自動管理的記憶體。

在Xcode整合開發環境(IDE)中的遊樂場(Playgrounds)互動式開發情境亦支援Swift,開發人員只要輸入一行的程式碼,結果就會立即呈現,或是透過時間軸功能以圖表檢視程式的進行,或是以SpriteKit進行動態播放,在Playgrounds中完成的程式碼可以直接移到程式專案中使用。Xcode的除錯機制針對Swift語言也提供REPL(Read-Eval-Print Loop)環境,可利用Swift語法來評估或與程式互動,或是撰寫新程式碼並觀察它的運作。

蘋果強調了Swift的安全性,因為它消除了不安全程式碼的所有類別,例如變數在使用者皆會經過初始化,陣列及整數都會經過溢出檢查,而記憶體則具自動管理特性,讓語法更為簡單及精確,例如以3個字元的關鍵字就能定義變數或常數。

此外,Swift使用了高效能的LLVM編譯器,讓Swift程式能夠轉換成優化的原生程式,以充分利用Mac、iPhone與iPad的硬體能力,同時汲取了C與Objective-C中的許多優良設計。

黃千碩說,Swift看起來很像是直譯式語言,很好上手,程式碼相對於Objective-C來說簡潔很多,也因為Swift核心的研發工程師來自前C#團隊,所以Swift有不少語法借鏡C#。

在全球70個城市都能通行的行程規畫App TransitTimes+開發者Quentin Zervaas表示,Apple用心的使他們的開發流程以及開發工具更簡單,讓使用者不需要耗費太多心神在克服程式開發技術上,而能專注於開發更好的App,而且Xcode提供的除錯環境有助於簡化程式碼。另外,他也認為,Swift是Apple用來榨乾硬體效能的手段之一。

阿碼科技創辦人黃耀文則在臉書上表示,Swift不僅是一個程式開發語言而已,加上Xcode的互動的除錯環境Playgrounds,發揮了直譯式語言才有的特性。這整個流程縮短了App部署時程,如此,友善的開發環境將吸引更多開發者進入Apple開發圈,有了豐富的App支援才能稱為是好手機。黃耀文也提到,隨著Swift的發表,也點出了軟硬體整合的議題,值得探討未來是硬體主導抑或是軟體主導。

開發人員可下載最新的Xcode 6測試版以試用Swift,並可於今年秋天隨著iOS 8與OS X Yosemite正式版的出爐提交Swift程式。蘋果已透過iBooks Store出版多達500頁的Swift開發準則供外界免費下載。文⊙陳曉莉、李建興


 iOS 8 SDK史上最大改版,蘋果釋出4千個新API 

iOS 8號稱是App Store上線以來最大的一次改版。與此同時也宣布釋出iOS 8的開發人員套件(SDK),內含超過4000種新的程式設計介面(API),也是iOS有史以來規模最大的SDK版本。

有鑑於iOS 8具備了多種重大的新功能,包含智慧家庭應用HomeKit、健康應用HealthKit、新繪圖技術Metal,及新程式語言Swift等,新的API將允許開發人員在程式中利用這些新應用或技術,以及擴充的通知中心工具與第三方鍵盤等功能。

其中,支援HealthKit的各種API將讓開發人員打造可與其他程式互通的健康或瘦身程式,例如測量血壓的程式能夠與醫師程式分享資料,讓醫師能夠基於第三方程式的資料提供更適當的照護。開發醫師程式的Mayo Clinic執行長John Noseworthy表示,蘋果的HealthKit將革新健康產業與人們的互動方式。

HomeKit則是藉由共同的協定與匹對來控制各種家中的裝置,而且整合了Siri,例如當你告訴Siri你要去睡覺的時候,它就能自動關閉車庫的門、鎖住大門、把燈調暗,以及設定睡眠溫度。

蘋果軟體工程資深副總裁Craig Federighi表示,有鑑於全球已售出逾8億臺iOS裝置,開發人員將擁有巨大的機會,iOS 8 SDK內含逾4千種新的API,涉及新的框架、更強大的擴充能力,以及革命性的新程式語言。

iOS的擴充功能包括新的分享選項、客製化的照片篩選功能、客製化的動作與文件API,蘋果亦首度允許開發人員把自己開發的工具嵌入通訊中心,或是使用第三方的鍵盤當作輸入工具。

此外,蘋果宣稱新的繪圖技術Metal可最大化A7晶片的效能,因而能夠將遊戲機上的3D遊戲帶到行動裝置上。針對iOS與OS X設計的新程式語言Swift則結合了編譯語言的效能與效率,以及腳本語言的簡單及互動,能與Objective-C並存及可消除常見錯誤的特性將讓開發人員方便將Swift嵌入既有的程式中,以及打造更可靠的程式。

現階段App Store在155個國家提供120萬種的程式,平均每周的造訪人數超過3億人,迄今用戶所下載的程式數量已突破750億。

iOS開發人員已可下載iOS 8測試版、Swift測試版,及iOS 8 SDK,其中,iOS 8與Swift正式版皆預計於今年秋天出爐,屆時也將開放開發人員提交以Swift撰寫的iOS 8或OS X Yosemite程式。文⊙陳曉莉

相關報導請參考「蘋果軟硬、雲端大整合」


Advertisement

更多 iThome相關內容