本文面向於廣大 iOS開發者,不少時候,咱們看待技術的方向老是以目前所處的環境、或者項目。前端
但咱們應該意識到,咱們是以開發者自居,而不是某某公司的開發者自居,咱們學習儲備技術應該從自身出發,讓本身技術範疇的選擇更加的寬闊,而不是隨着經驗的積累反而變得更加狹隘,缺乏了一些創造性和選擇性,java
咱們是獨一無二的,咱們應該作獨一無二的事,用盡心盡力的態度去追逐,你會發現那些曾經偷偷設想的事正一步一步的朝你走來,人最珍貴的就是咱們的思想,去開拓的思考,像守護生命同樣,守護你堅守的夢想。程序員
任何技術也只是工具,須要掌握的一種理念和思考問題的方式方法,在提高專業技能的同時更快地提高職業技能纔是最重要的目的,在技術編程這一行業永遠要有嘗新和突破自個人態度,這是一個優勝劣汰,適者生存的大環境!web
做爲一個開發者,有一個學習的氛圍跟一個交流圈子特別重要這是一個個人iOS交流羣:638302184,無論你是小白仍是大牛歡迎入駐 ,分享BAT,阿里面試題、面試經驗,討論技術, 你們一塊兒交流學習成長!面試
得益於swift的開源,以及蘋果的號召力,swift發展的很好。已經獲得了廣大開發者的一致承認。蘋果本身也很重視,新的一些lib和app已經用swift編寫。國外大廠好比Uber、LinkedIn已經用swift開發了很長時間。編程
這些行動證實了swift已經不是一門玩具語言能夠大膽的在開發中使用。雖然眼下還有ABI不穩定,和Xcode索引會讓人以爲慢等問題。可是相比OC的巨大進步,更多開發者選擇了忍受,但願蘋果可以持續優化。小程序
可是OC的runtime依然是無可取代,從商業角度看也沒有理由取締它。因此二者還會互相存在一段時間。可是我相信swift佔有率超過OC的節點很快就會到來。swift
我以爲不少人堅持OC是由於他們只會OC。微信小程序
2008年蘋果發佈第一個SDK,同年年底安卓1.0發佈。移動開發元年。移動開發從無到有,至今已經遍佈生活各個方面。從今年手機的出貨量和身邊的觀察很容易獲得這樣的結論:移動開發這塊蛋糕的高速增加已經結束了。微信
這意味着什麼呢?在一個行業高速增加的時候,人才必定是供不該求。因此公司被迫接收不少新手,對新人很友好。相信你們也見證了過去一兩年裏的就業奇蹟:是我的就能上。
因此對於不少只是爲了餬口的人而言:這扇門已經關閉了。大家繼續去追下一個熱潮吧。據說JavaScript要統一天下了,要不您去21天學個前端?
言歸正傳,那移動開發是否是就要大勢已去了呢?
在移動浪潮前,互聯網流量全在桌面,問2008年的時候有條件坐在電腦前上網的人羣有多少?再看如今,微信這個季度的活躍用戶5億多。雖然iOS的份額只有百分十幾。可是這是沒法被忽略的百分之十幾,公司但凡是有移動業務確定會作iOS客戶端。
因此iOS開發的市場依然存在,並且不是一塊小蛋糕。
在移動開發前幾年的時間裏,想在移動端作功能只有開發Native app這麼一條路。可是商業就是如此,隨着需求增大最後老是會有提升效率或者一些自動化的方案出來。
相信不少人都有看到相似的文章:你不須要開發一個app只須要一個公衆號就能夠了。前陣子微信推出小程序沒見過世面的吃瓜羣衆們也是激動了一番。
其實這只是一筆經濟帳。如今對於產品而言,有了更多的選擇。若是一個產品自己對native的能力要求就很低,固然會選擇更便宜的方式了。
除了微信小程序這樣嵌入在微信裏的方案。由傳統web端發起的新技術Progressive Web App也很值得關注。簡單的說web也能夠有一個方便的渠道生成一個本地的app,得到一些推送、本地存儲等一些能力。
稍微有一些無奈的是iOS目前還不支持pwa。蘋果去年宣佈5年內會支持這個標準,然而除apple外其餘廠家已經所有支持,如今安卓上是支持的。因此雖然這件事如今還沒發生,可是不久的未來應該會有新的進展。
總而言之,不少移動產品再也不須要開發一個native app了。
可是,凡事不要難過的太早,說不定還有更慘的呢?
React Native VS Weex
我以爲那些用RN的人最後都會哭。算了,我知道大家會選擇倔強。
先從感情上說。你是相信馬雲爸爸仍是相信404伯格?
一、包沒法增量更新
二、長列表沒有優化(災難性tableview cell沒有複用)
三、不支持web
固然了這些不是實現不了,是的,你徹底能夠本身實現上面的三個難題。可是若是已經有一個現成的方案呢?
是的,阿里的weex已經走在RN的前面。我不知道是阿里的996更努力仍是馬爸爸砸的錢就是多,可是事實就是如此。RN是一個純開源的項目,因此不可能未來RN有個殺手級的功能weex沒有。比的就是誰走的更快,看的更遠。
你們要有自信,在移動開發上,咱們的實力已是世界一流了。
因此,對於native不幸的消息來了:即使是native的app,不少功能也要交給前端實現了。這筆帳是很是清楚的:原來須要一前端,一個iOS,一個安卓。如今只須要前端寫一次。粗粗一算節省了三分二的成本。可是就像java一開始就吹的run anywhere。什麼技術都有它的應用場景,不是能用你們就用這個技術。
但是根據個人觀察,在優化了性能問題後,一個app裏有很是多的頁面確實不須要native寫了,用這種weex的方案就能解決了。並且開發效率的提高是如此的明顯,未來會有大量的頁面再也不須要native寫代碼發版了。
首先你要接受一個事實,咱們生活在一個科技變革最快的時代。很不幸軟件行業又是全部行業變化最劇烈的行業。摩爾定律每18個月計算能力翻一倍。在其餘行業什麼東西能每兩年增長一倍並且持續幾十年?
換句話說,選擇了軟件開發,過去二十年裏除了C++,C,Java至今依然大量需求,選擇其餘技術或者語言都經歷了潮起潮落。那麼從開始有程序員至今有多少語言呢?因此說,一門技術興起而後被冷落,若是用十年的尺度來看是很是正常的。咱們的父輩在七十年代也不相信國企會下崗。你也不要抱有熟悉了一門技術能夠養活你一生。
某門技術或者某個編程語言說到底只是工具罷了。原來你用筷子,後來你來到了西餐廳,只有刀叉你就吃不了飯了?活該你餓死。
不是iOS沒有人要,不少公司如今都在招iOS的開發者,主要是不少iOS的開發者已經沒有那種創新的想法跟不上市場需求公司需求,可是本身也沒有認清本身,因此被淘汰了纔來怪這個行業 ,每一個行業都是會飽和的,趨於平穩的,可是優勝劣汰是一直存在的,因此只要你的技術一直創新符合市場的需求,那就不存在沒有人要 ,歸根結底,仍是本身淘汰了本身
做爲一個開發者,有一個學習的氛圍跟一個交流圈子特別重要這是一個個人iOS交流羣:638302184,無論你是小白仍是大牛歡迎入駐 ,分享BAT,阿里面試題、面試經驗,討論技術, 你們一塊兒交流學習成長!