雨燕

開發語言

蘋果公司在美國舊金山召開2014年度全球開發者大會。在全球開發者大會之前,就有預測稱此次蘋果會有一些硬體產品亮相,甚至是iWatch智能手錶、iPhone 6,因為健康管理應用HealthKit鐵定發布。實際上,開場庫克所提到的兩件事均與硬體無關,分別是iOS 8Mac OS X兩部分,除此之外還發布了全新編程語言Swift

在本屆WWDC全球開發者大會接近尾聲時,蘋果公司專門針對開發人員公布全新的Swift編程語言以及新版的Xcode,蘋果公司稱其擁有“快速、現代、安全、互動”等特性,並且要全面優於Objective-C語言。“在過去的20年裡,我們只支持Objective-C。”軟體工程副總裁克雷格·費德里奇在台上表示,而未來蘋果開發者平台將支持這款全新的Swift編程語言。

Xcode目前已有1400萬次下載量,而全新的編程語言Swift改變了Obejective-C複雜的語法,並保留了Smalltalk的動態特性,簡而言之就是敏捷易用,大家都說蘋果的生態圈要優於Google,現在蘋果又進一步完善了開發生態圈。相信日後又有更多優秀的App要與大家見面了,我們都知道軟體也是支撐蘋果的又一根基,不過今天來看期待硬體發布的朋友恐怕就要失望了。

基本介紹


最優秀的語言?
腳本語言,例如Python,通常易於編寫和測試,但並不是非常強大,難以帶來高質量程序。如果你希望編寫一款遊戲,完全利用設備的性能,那麼這樣的語言並不理想。傳統編程語言,例如Objective-C,使開發者能更好地利用設備的性能,開發更複雜的應用,但通常較難掌握,在編譯和測試時也更麻煩。
Swift希望解決所有這些不便。蘋果表示,至少從幾項關鍵指標來看,Swift程序的執行速度比Python和Objective-C程序更快。而儘管如此,這一語言支持Xcode開發環境中所謂的“體育場(playground)”,能像腳本語言一樣,實現對Swift代碼的實時可視化。
在今天所舉的一個例子中,一名開發者希望編寫一款遊戲,其中的氣球能以自然的模式上下運動。為了實現這一功能,他希望使用一個簡單的數學函數:正弦函數。正弦函數能產生上下波動的弧線,類似於漂浮的氣球。
通過Swift,開發者可以很方便地對氣球賦以正弦值,隨後在簡單的曲線圖中觀察應用執行過程中值的變化。這使開發者能很方便地觀察氣球運動的模式,以及是否符合預期。如果存在問題,開發者可以立即作出調整。以往,開發者需要通過編譯器來運行代碼,隨後執行程序,希望獲得正常的結果。根據應用的大小不同,這一過程可能需要幾秒、幾分鐘,甚至更長時間。
優勢
方便快捷地測試所編寫應用將幫助開發者更快地開發出複雜應用。以往,對規模較大的應用來說,編譯和測試過程極為冗繁。如果Swift能在這一方面帶來較大的改進,那麼應用開發者將可以更快地發布經過更徹底測試的應用。
此外,Swift是一種非常簡潔的語言。與Python類似,你不必編寫大量代碼即可實現強大的功能。這也有利於提高應用開發速度。
最後,如果Swift應用的執行速度比Objective-C應用更快,那麼我們會在遊戲中看見更引人入勝的畫面(需要蘋果新的Metal界面的幫助),而其他應用也會有更好的響應性。與此同時,我們不用購買新手機。
問題
並非所有一切都很美好。正如多名開發者所說,Swift最大的問題在於,要求使用者學習一門全新的語言。程序員通常喜歡掌握最新、最優秀的語言,但關於如何指導人們編寫iPhone應用,目前已形成了完整的產業。在蘋果發布Swift之後,所有一切都要被推翻重來。(你仍可以開發Objective-C應用,但不會有人想要。)
另一方面,如果編程語言更加易學易用,那麼應用開發的門檻將會降低,導致更多新手開發者參與這一行業。這或許不是一件好事。這種情況完全有可能出現,但對從40年代發展起來的軟體開發行業而言,情況一直如此。是的,在一些情況下,有人仍然認為,不會使用打孔卡片的開發者是業餘人士。
仍需檢驗
如果Swift如蘋果所宣傳的一樣,那麼我們將看到更多、更快、更穩定的應用。
最終,Swift的性能如何仍需要通過實踐去檢驗。蘋果喜歡在台上公布各種指標和數據,以突顯某款產品相對於競爭對手的優勢。但對編程語言來說,情況更微妙。人們需要花一定時間才能了解Swift究竟有何優勢。這將是一次徹底的變革,或許也將是自App Store推出以來,蘋果開發者社區迎來的最重要變革。
終端用戶或許不會看到任何改變,這樣的情況是正常的。不過,現在你至少可以對其他人解釋,為何Swift值得我們為之興奮。(維金)