在以往的文章中匯仁智杰網絡推廣介紹過Web前端開發(fā)與iOS終端開發(fā)的兼容性和性能方面的知識,今天我們繼續(xù)研究Web前端開發(fā)與iOS終端開發(fā)的語言。
前端和終端作為面向用戶端的程序,有個共同特點:需要依賴用戶機器的運行環(huán)境,所以開發(fā)語言基本上是沒有選擇的,不像后臺想用什么就用什么,iOS只能用object-c,前端只能javascript,當然iOS還可以用RubyMotion,前端還能用GWT/CoffieScript,但不是主流,用的人很少,真正用了也會多出很多麻煩。iOS還可以用蘋果新出的swift語言,后面可能用于取代object-c,還處于起步階段,先不討論。
objc和js這兩者有個有意思的對比:變量/方法命名的風格正好相反。蘋果一直鼓吹用戶體驗,寫代碼也不例外,程序命名都是用英文全稱并且要多詳細有多詳細,力求看變量和方法名就能知道是干嘛的,例如application:didFinishLaunchingWithOptions:。而js因為每次都要從網絡下載,要力求減少代碼體積,所以變量方法名是盡量用縮寫,實際上有代碼壓縮工具,無論變量名寫多長最終上線的效果是一樣的,但大家也都習慣了用短的命名,例如上述objc的application:didFinishLaunchingWithOptions:方法在js里習慣的命名是:$()。
objc與js都是動態(tài)語言,使用起來還蠻像,但objc是編譯型,速度快,很多錯誤也能在編譯過程中被發(fā)現,js是解釋型,性能依賴于解釋引擎,即使在強勁的v8引擎下性能也趕不上編譯型語言,語言太動態(tài),變量完全沒有類型,寫起來爽,debug起來稍微費點勁。一直感覺js輕巧靈活放蕩不羈充滿各種奇技淫巧,objc中規(guī)中矩沒c++ java那么嚴肅也沒有js那么靈活。
以上內容是由匯仁智杰網絡推廣進行整理編輯,希望能給看到這篇文章的讀者一些小小的幫助,如果你還有什么不同的看法歡迎您關注微信號huirenzhijie跟我們一起討論。