摘要:隨著以服務器端的桌面端的和原生移動端為代表的全棧迅猛發展,真正生產環境中的前端技術全棧化已經逐漸變為可能。不過在一段時間之內,還是會繼續向前沖。在剛剛結束的大會上,的作者宣布成為的技術顧問。
隨著以服務器端的NodeJS、桌面端的Electron和原生移動端React Native為代表的全棧JS迅猛發展,真正生產環境中的“JS/前端技術全棧化”已經逐漸變為可能。盡管在前端以外的領域里,JavaScript還不能取代各領域原本主流語言的地位,但對于大量初創型公司或技術人手不足的團隊來說,更低的學習成本本身就是一種極大的優勢。
對于技術學習而言,學得好和學得巧同樣重要,選對技術棧進行學習,可能會節省大量的時間和精力,更有可能帶來更多的機會。因此結合最新的NingJS會議上的趨勢和自己過去一段時間的實踐經驗,推薦未來一段時間比較值得學習和嘗試的技術棧。
原生移動端首先,不要幻想能用JavaScript在原生移動端一步登天,但也不要因為許多開發者對于React Native等技術的抵觸而感到畏懼。
如果你/公司的目標不是一個QQ這個級別的大型App,你只是需要給你項目中日益復雜的Web移動端減負,用更強大原生性能去彌補Web移動端在復雜交互中的不足,并且你沒有時間或者興趣去學習原生平臺對應的語言,那么現在機會來了。
問題初現分享一下我自己的經驗。在之前的一個Web項目中,前端使用的是Vue框架。隨著功能不斷迭代以及幾次專門針對移動端的重構之后,我認為在業務需求和性能上已經找到了一個平衡點,當時認為下一次比較大的優化可能就要基于Vue 2.0的服務器端渲染以及用自己寫的圖表庫替代項目中的第三方圖表庫。
但是在一次小規模的用戶內測中,我們發現對于大多數非技術背景的用戶來說,對于性能問題依然是敏感又粗暴的。我們不能指望去告訴每個用戶“這個SPA超復雜的,能實現成這樣已經很棒了好嘛?”,只能繼續想辦法讓每個頁面都能在那些內存快被占滿的低端安卓手機上也保持一定的水準。
當我意識到Web性能終有盡頭、公司暫時也不可能招到兩個原生平臺的開發者時,我決定要不用那些JSer也能玩的方案先做個過得去的App?
Weex準備好了嗎由于前端使用的是Vue,因此Weex是一個非常自然地備選方案。
事實上,我在阿里的Weex內測的第一時間就申請了(當時上述項目還沒開始)。當我第一次下載Weex的playground把玩的時候,我的想法是“哇,不錯。”;當我準備開始第一個Weex項目的時候,我的想法是“咦,這文檔怎么不太順”;當我暫時放下Weex,并且在四個月后評估它是否能幫助我完成我的第一款App時,我的想法是“怎么還這樣...”
其實Weex的團隊已經做了很多很酷的工作了,但是對于一個0原生開發經驗的人來說,光是按要求搞定Android Studio就已經脫了一層皮,跟別說沒想到一個潛在的功能需求去查issue時,發現回復總是“我們正在排期開發”,這難免會給人帶來一種強烈的不確定感。更關鍵的是文檔中有太多遺留問題,導致閱讀起來邏輯不夠通暢,進一步加深了各種小問題帶來的煩躁感。
因此在配置了一晚上Weex環境依然沒有很清晰的思路的情況下,我帶著對同時學習React和React Native的擔憂轉向了React Native。
React Native不是銀彈,但威力不俗作為重點推薦的技術棧,這段少講小故事,多談談推薦的理由以及和Weex的對比吧。
首先是Getting Start部分坑不多,基本一次過成功,少數幾個問題都能夠通過搜索快速解決,平復了我七上八下的心情。
其次是有比較優秀的開源項目作為參考借鑒,例如Facebook自己開源了F8App,里面有不少最佳實踐;其次社區也貢獻了很多優秀項目,我個人主要是參考reading這個項目,通過閱讀其源碼,盡快掌握React中的部分技巧。
同時不能忽略完整的調試、測試以及打包方案。這些對于沒有原生開發經驗的開發者來說,都是極其需要并且很難自己完成的。
大量的社區項目輔助。React Native社區貢獻的項目主要集中在幾個方面:兩個平臺均可用且表現一致的組件、一些需要寫原生代碼的功能例如第三方登錄、一些常用功能的移植例如iconfont和svg等。大部分項目都不是由Facebook主導的,但是React Native能夠在生產上使用絕對離不開這些項目的貢獻。
基于以上這些理由,我認為現在開始嘗試React Native是一個比較合適的時機,如果你也遇到我之前所描述的這類問題,不妨試試看。
至于一些其他的方案例如Ionic、Cordova、Hbuilder、H5+等等我個人興趣不大。基于WebView做的各類優化,結果可能更像是性能以及學習成本都走向了一個中間點,兩邊都不出彩。
用JS開發原生移動端有未來嗎我認為這個問題主要取決于社區先厭倦給React Native造輪子還是主流原生開發者們先對React Native產生足夠多的興趣。不過在一段時間之內,React Native還是會繼續向前沖。
當然如這段的標題所寫,我們關注的不僅僅是React Native。在剛剛結束的NingJS大會上,Vue的作者宣布成為Weex的技術顧問。對于我來說,這可能是再次去嘗試Vue的一個理由,希望尤大大不僅關注Weex本身的技術細節,還能給Weex帶來和Vue一樣嚴謹又易用的文檔風格。
但是Weex團隊在項目越來越偏離公司原本的業務需求之后還能對項目投入多少持續的熱情,以及能否在營造出一個愿意不斷造輪子的社區,這都將決定我們能否有機會把Weex用在自己的生產環境中。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/111526.html
摘要:隨著以服務器端的桌面端的和原生移動端為代表的全棧迅猛發展,真正生產環境中的前端技術全棧化已經逐漸變為可能。不過在一段時間之內,還是會繼續向前沖。在剛剛結束的大會上,的作者宣布成為的技術顧問。 隨著以服務器端的NodeJS、桌面端的Electron和原生移動端React Native為代表的全棧JS迅猛發展,真正生產環境中的JS/前端技術全棧化已經逐漸變為可能。盡管在前端以外的領域里,J...
摘要:隨著以服務器端的桌面端的和原生移動端為代表的全棧迅猛發展,真正生產環境中的前端技術全棧化已經逐漸變為可能。不過在一段時間之內,還是會繼續向前沖。在剛剛結束的大會上,的作者宣布成為的技術顧問。 隨著以服務器端的NodeJS、桌面端的Electron和原生移動端React Native為代表的全棧JS迅猛發展,真正生產環境中的JS/前端技術全棧化已經逐漸變為可能。盡管在前端以外的領域里,J...
摘要:在裝逼成本越來越高的圈,是時候充值一下了題記開發是標配,美其名曰提高開發體驗什么你還在用趕緊給我換編輯器,三選一雖然很想用,但一定要忍住,并且與人解釋道啟動速度慢,消耗資源多,不適合我這種完美主義者如果不是為了美觀,我寧愿使用命令行二逼 在裝逼成本越來越高的JS圈,是時候充值一下了 ——題記 § 開發 Macbook Pro是標配,美其名曰提高開發體驗 什么?你還在用Spotligh...
摘要:在裝逼成本越來越高的圈,是時候充值一下了題記開發是標配,美其名曰提高開發體驗什么你還在用趕緊給我換編輯器,三選一雖然很想用,但一定要忍住,并且與人解釋道啟動速度慢,消耗資源多,不適合我這種完美主義者如果不是為了美觀,我寧愿使用命令行二逼 在裝逼成本越來越高的 JS 圈,是時候充值一下了 ———— 題記 § 開發 Macbook Pro 是標配,美其名曰提高開發體驗 什么?你還在用 S...
摘要:模版用戶可以選擇不同的基礎設施服務組成模版同時還是有默認的主要模版,用戶可以快速創建用戶也可以把的項目放到模版中,來管理和部署增強已經大大簡化了管理和配置,在多節點部署中和已經被去掉了。請保持關注,和一起走上偉岸光明的容器之路 開篇第一句,先為Rancher v1.2曾經的跳票深深抱歉(鞠躬)。我們補償的方式,就是在此日、此刻,用新版功能向你證明Rancher v1.2值得你的等待。R...
閱讀 3864·2021-09-23 11:51
閱讀 3057·2021-09-22 15:59
閱讀 856·2021-09-09 11:37
閱讀 2063·2021-09-08 09:45
閱讀 1260·2019-08-30 15:54
閱讀 2056·2019-08-30 15:53
閱讀 485·2019-08-29 12:12
閱讀 3283·2019-08-29 11:15