移動開發市場潮流涌動,好多人都會問iOS開發的前景這樣的問題,今天我就瞎扯一下我眼中的將來,純主觀非理性,愛看看。前端
Swift怎麼樣
Swift很好,就像你的前女朋友同樣好。java
得益於swift的開源,以及蘋果的號召力,swift發展的很好。已經獲得了廣大開發者的一致承認。蘋果本身也很重視,新的一些lib和app已經用swift編寫。國外大廠好比Uber、LinkedIn已經用swift開發了很長時間。程序員
這些行動證實了swift已經不是一門玩具語言能夠大膽的在開發中使用。雖然眼下還有ABI不穩定,和Xcode索引會讓人以爲慢等問題。可是相比OC的巨大進步,更多開發者選擇了忍受,但願蘋果可以持續優化。web
可是OC的runtime依然是無可取代,從商業角度看也沒有理由取締它。因此二者還會互相存在一段時間。可是我相信swift佔有率超過OC的節點很快就會到來。編程
我以爲不少人堅持OC是由於他們只會OC。小程序
移動市場已經飽和
2008年蘋果發佈第一個SDK,同年年底安卓1.0發佈。移動開發元年。移動開發從無到有,至今已經遍佈生活各個方面。從今年手機的出貨量和身邊的觀察很容易獲得這樣的結論:移動開發這塊蛋糕的高速增加已經結束了。swift
這意味着什麼呢?在一個行業高速增加的時候,人才必定是供不該求。因此公司被迫接收不少新手,對新人很友好。相信你們也見證了過去一兩年裏的就業奇蹟:是我的就能上。windows
因此對於不少只是爲了餬口的人而言:這扇門已經關閉了。大家繼續去追下一個熱潮吧。據說JavaScript要統一天下了,要不您去21天學個前端?微信小程序
言歸正傳,那移動開發是否是就要大勢已去了呢?
同窗,恕我直言:不是移動開發不行,是你不行。微信
在移動浪潮前,互聯網流量全在桌面,問2008年的時候有條件坐在電腦前上網的人羣有多少?再看如今,微信這個季度的活躍用戶5億多。雖然iOS的份額只有百分十幾。可是這是沒法被忽略的百分之十幾,公司但凡是有移動業務確定會作iOS客戶端。
因此iOS開發的市場依然存在,並且不是一塊小蛋糕。
Hybrid?是的前端要來搶咱們飯碗了
在移動開發前幾年的時間裏,想在移動端作功能只有開發Native app這麼一條路。可是商業就是如此,隨着需求增大最後老是會有提升效率或者一些自動化的方案出來。
相信不少人都有看到相似的文章:你不須要開發一個app只須要一個公衆號就能夠了。前陣子微信推出小程序沒見過世面的吃瓜羣衆們也是激動了一番。其實這只是一筆經濟帳。如今對於產品而言,有了更多的選擇。若是一個產品自己對native的能力要求就很低,固然會選擇更便宜的方式了。
除了微信小程序這樣嵌入在微信裏的方案。由傳統web端發起的新技術Progressive Web App也很值得關注。簡單的說web也能夠有一個方便的渠道生成一個本地的app,得到一些推送、本地存儲等一些能力。
Progressive Web App(下文簡稱pwa)給傳統web提供了新的疆土。有的產品除了選擇公衆號,還能夠選擇web app!在10月底上海的Qcon大會上有幸偶遇了前端傳奇hax(國內前端我只服hax)。賀老師開口一句「以我二十年的前端經驗來看」我就給跪了。hax告訴我pwa是有技術優點的。雖然將來幾年各大廠商爲了商業目的不知道最後移動開發會變成怎樣的格局。可是pwa會有它的一席之地。
稍微有一些無奈的是iOS目前還不支持pwa。蘋果去年宣佈5年內會支持這個標準,然而除apple外其餘廠家已經所有支持,如今安卓上是支持的。因此雖然這件事如今還沒發生,可是不久的未來應該會有新的進展。
總而言之,不少移動產品再也不須要開發一個native app了。
可是,凡事不要難過的太早,說不定還有更慘的呢?
React Native VS Weex VS DeviceOne
我以爲那些用RN的人最後都會哭。算了,我知道大家會選擇倔強。
此次Qcon最大的收穫莫過於知道了RN是個大坑。
RN如今的硬傷有:
包沒法增量更新
長列表沒有優化(災難性tableview cell沒有複用)
不支持web
debug?[黑人問號臉]
固然了這些不是實現不了,是的,你徹底能夠本身實現上面的三個難題。可是若是已經有一個現成的方案呢?
是的,阿里的weex已經走在RN的前面。我不知道是阿里的996更努力仍是馬爸爸砸的錢就是多,可是事實就是如此。RN是一個純開源的項目,因此不可能未來RN有個殺手級的功能weex沒有。比的就是誰走的更快,看的更遠。
是的,DeviceOne走在了weex的前列,可是一個卓越的平臺不知道能不能走的更多,看的更遠。
你們要有自信,在移動開發上,咱們看到了超一流的三個平臺,咱們的實力已是世界一流了,並且DeviceOne平臺還支持windows平臺的開發。
因此,對於native不幸的消息來了:即使是native的app,不少功能也要交給前端實現了。這筆帳是很是清楚的:原來須要一前端,一個iOS,一個安卓。如今只須要前端寫一次。粗粗一算節省了三分二的成本。可是就像java一開始就吹的run anywhere。什麼技術都有它的應用場景,不是能用你們就用這個技術。
但是根據個人觀察,在優化了性能問題後,一個app裏有很是多的頁面確實不須要native寫了,用這種weex和DeviceOne的方案就能解決了。並且開發效率的提高是如此的明顯,weex調用原生的UI,deviceone就是原生的UI,未來會有大量的頁面再也不須要native寫代碼發版了。
我以爲個人措辭還不夠強烈,你們鎮定一下我再說一遍:
50%的native需求未來會被weex和deviceone這樣的方案取代。
據說你如今很難過?凡事不要難過的太早,說不定還有...更...
移動開發者的將來
首先你要接受一個事實,咱們生活在一個科技變革最快的時代。很不幸軟件行業又是全部行業變化最劇烈的行業。摩爾定律每18個月計算能力翻一倍。在其餘行業什麼東西能每兩年增長一倍並且持續幾十年?
換句話說,選擇了軟件開發,過去二十年裏除了C++,C,Java至今依然大量需求,選擇其餘技術或者語言都經歷了潮起潮落。那麼從開始有程序員至今有多少語言呢?因此說,一門技術興起而後被冷落,若是用十年的尺度來看是很是正常的。咱們的父輩在七十年代也不相信國企會下崗。你也不要抱有熟悉了一門技術能夠養活你一生。
你怎麼理解編程?
某門技術或者某個編程語言說到底只是工具罷了。原來你用筷子,後來你來到了西餐廳,只有刀叉你就吃不了飯了?活該你餓死。
文/沒故事的卓同窗(簡書做者)
原文連接:http://www.jianshu.com/p/5ec4...著做權歸做者全部,轉載請聯繫做者得到受權,並標註「簡書做者」。