對於蘋果開發者來說,如今已經進入了「swift時代」。雖然程式語言objective c備受喜愛,不過它作為蘋果主流程式語言的日子已經所剩無幾。隨著wwdc開發者大會的落幕,swift即將取而代之,成為蘋果新ios8、os x yosemite的新寵。
美國時間6月2日舉行的蘋果wwdc大會上,swift正式**在鎂光燈前,嘆息聲、驚呼聲此起彼伏。不過不用太過擔心,objective-c、swift能夠在同乙個應用程式中並存。
venturebeats記者devindra hardawar、理查德-布萊恩-萊利(richard byrne reilly),採訪了知名軟體工程師山姆-索菲斯(sam soffes),了解程式設計師眼中的swift。據悉,索菲斯曾創作《litely》、《hipstamatic》、《bible》等應用程式。
以下是記者準備的七個問題,涉及swift的優點、缺點。以及objective-c的結局。索菲斯的答案中有些會有點駭人、令人震驚,或許還有幾絲傷感。推薦大家學習
swift快速進行ios開發第一季
教程。1.為什麼開發人員會去學習另一種語言?
蘋果swift語言的主要目標,是簡單易學、使用便捷高效。蘋果並不是強迫所有人都去學習新的語言。過去,每當他們帶來一些巨大的技術變革(就像是自動引用計數,automatic reference counting),他們都會給開發人員留上點時間,讓人們繼續沿襲老的方式懷舊,直到有一天,他們自己就想要擁抱新技術。
不過拋棄習慣的一切,轉去學習一些全新的東西絕非易事。對於很多開發者來說,objective-c就是他們的生計、飯碗。拋棄我們過去幾年已經習以為常的工具,乍聽起來十分困難。不過,蘋果卻總有辦法將人們引向預設的方向。
蘋果這次的殺手鐗就是「速度」。swift使用十分便捷,這本身就是一場巨大的勝利。新的語法也非常棒。「我認為objective-c的開發者,很快就會喜歡上swift。」
2.objective c效率不夠高?
objective c是一款非常偉大的語言,它甚至比網路還要年長。不過這個已為蘋果貢獻多時的程式語言,想要上手卻並不容易,對那些程式設計菜鳥來說更是如此。「學習難」的主要原因在於,objective c看起來和其他的c系語言大相徑庭。它最讓人頭疼的原因就在於,它是「蓋在c語言上的薄薄一層」。
在c這樣的底層語言基礎上建立的東西,很難做到易學、高效。你需要通過c語言去做很多的事情——這顯然並不簡單。蘋果並不需要乙個新的語言,不過他們還是積極地去做了一些新的、巨大的嘗試。
3.著手學swift要用多久?容易麼?
swift才剛剛破殼而出,現在來講,這一問題的答案還很難說。「在嘗試了幾個小時之後,我把自己的objectivec程式改用swift編寫,進展非常不錯。起初,我真的感到很沮喪。不過,當我妥協之後,接受了學習過程中可能會讓人有些彆扭,swift的文件反而就變得更容易閱讀,遇到問題的時候也能迎刃而解。」
swift最出色的一大亮點在於:擺脫了c的束縛,swift語言十分便捷。
想把objective c介紹給那些沒有程式設計基礎的人非常困難。你必須去解釋所有的例外規則,然後再從頭開始深入講解電腦科學話題。swift跳過了這一切,只是簡簡單單去編碼就ok。
4.swift從**汲取靈感?
swift從多種程式語言中獲得靈感。我在用它編碼的時候,會想起javascript、go、ruby以及其他一些語言。objective c歲數比較大。swift是乙個非常可喜的變化,它擁有從很多現代程式語言延伸出的靈感。
5.swift的目標是?
蘋果swift的目標,是讓任何人都能夠快速學習,高效編碼。「我覺得,他們可能希望用幾年的時間完全淘汰掉objective c。」簡單易學大有裨益,也會吸引更多的開發者會來到蘋果的平台。
6.swift vs 微軟、谷歌語言?
「用swift的時候,我的眼前總會浮現出谷歌go語言。go擁有很好的併發功能,很欣喜能看到蘋果汲取了go的一些特點。微軟c#語言也十分簡潔。不過,現在才僅僅是蘋果新語言的開始。
7.swift可以省下兩、三行**?
當然可以。相比objective c,swift算得上是極致簡潔。很多內容寫在一行,卻仍然簡單易讀。當然,用objective c也能實現不少功能,但是內容會很長,而且不方便閱讀。有些新的東西,用objective c編寫起來會讓人十分頭疼,但是用swift卻是種快樂的享受。
「才與swift接觸短短一天的時間,又開始用objective c去寫**了。不過,我已經開始想念起了swift。」
更多ios
地球在宇宙中的地位
2018 01 21 15 48宇宙 有一首兒歌我想大家都聽過 一閃一閃亮晶晶,漫天都小星星。對,沒錯,今天我們要說的就是這漫天的 小星星 但是星星真的很小嗎?不不不,有些星星大到你懷疑人生,突然間發現自己生活的星球小到不能再小。盾牌座uy是一顆坐落盾牌座的赤色特超巨星。這顆恆星是至今人類已知體積最...
iOS 開發中控制項獲取焦點(swift 開發)
我們在做ios 開發時 有時有兩個輸入框,但有時我們想讓其中乙個輸入框預設為第乙個輸入框 游標落在第乙個輸入框內 如 兩個textfield 控制項 iboutlet weak var textfieldone uitextfield iboutlet weak var textfieldtwo u...
討論 需求獲取在系統開發中的地位
引 面對乙個系統,如何能做好需求,如果確實做不好這個需求,那麼在設計開發中該注意些什麼?當有需求變更的時候,不能不改變原來的需求,或者加進新的功能需求,那又該怎麼辦?面對自己的 越來越龐大,該怎麼辦?如何在實際開發過程中做到 精簡?需求分析 在學校的時候,一直就在學軟體工程相關的東西。老師們就是乙個...