微信小程序: Web前端的春天?or 噩夢?

來自:前端你別鬧(微信號:webunao)

最近大家看到這張圖是不是都快吐了?這幾天一睜眼就被這張圖刷屏了

喵了咪的,點到哪里都是這個報道和新聞

此文觀點聲明先:

  • 只通過技術角度分析討論 【小程序】對程序員、web前端、后端人員技術路線的影響。

  • 不從產品角度 展望【小程序】以后的發展和方向--  這個都被媒體或專業市場分析人員分析爛了。

「 微信應用號是什么?」

張小龍曾表示,用戶關注一個應用號就如同安裝一個App一樣,而微信應用號就相當于另一個App Store,主要功能就是應用推廣。

此圖也被看爛了是吧?好吧,關于【小程序-應用號】 的概念和解釋,我相信大家已經在各大頭條網站了解的很清楚了,各種推送和刷眼球,真是腥風血雨!我就不多做解釋了。

如果你還不知道 微信‘應用號’是啥意思,那么請你從山洞里出來好嗎?趕緊回到這個殘酷的商品信息時代吧!

「 微信應用號可以做什么」

簡單說,微信“小程序”可以為開發者提供基于微信的表單、導航、地圖、媒體和位置等開發組件,讓他們在微信的網頁里構建一個 HTML 5 應用。同時微信還開放了登錄和微信支付等接口,讓這個“小程序”可以和用戶的微信賬號打通。

簡單地說,目前微信“錢包”中的“大眾點評”、“京東商城”、“滴滴出行”等第三方服務就是應用號的一種雛形。

根據參與本次內測的“小道消息”創始人 Fenng 提供的信息,微信小程序向開發者開放了下列 API 接口:我們再來刷一張圖:

1、微信的目的似乎很簡單,就是希望把用戶使用App的動作都集中在微信上。

2、從開放接口看,這不就是 web app?混合app么?

3、小程序就是一個依托微信,來開發網頁APP的關系戶。

4、html 、css3、js 又泥煤的更重要、更露臉了(笑 ?)

「 對 原生APP 開發人員的影響」

1、Android 、IOS 開發者飯碗會丟嗎?

呵呵,這個問題討論了多少年了?HTML5 API第一版標準出來的時候,都在展望設想,現在呢?手機主流不還是原生APP 的天下,雖說一定程度上網頁應用占了不少河山,原生app里面也嵌入了大量web app 頁面程序。但歸根結底還是原生APP的范疇。一談到體驗、性能問題,就是硬件在發達,還是會想到原生app。

另外 App 天生的優勢,和硬件直接打通、自由奔放,功能、體驗更加友好。

微信是一個大平臺,在怎么折騰還是小馬哥 說了算,哪天說給你接口封了就封了,說給你下了就下了,你只不過是去上邊嘗了嘗鮮。

2、原生app人員應該學習HTML5、JavaScript嗎?

我以前文章早就說過,以后會很長時間甚至可能一直都是 “前端年”,絲毫不夸張。如果身為技術人員不擁抱變化,不get新技能,可能工種不會淘汰你,時間就會淘汰了你,

所以勸只會原生開發的小伙伴,有空學習 JavaScript吧!

「 對 web前端開發人員的影響」

身為 web前端開發里最帥的人,今天我從 專業前端開發者的角度,來分析下 【微信-小程序】會對我們有什么樣的影響。

首先,它的出現不會影響到我的顏值(放心了);

然后,我們前面說了,這基本上就是 我們現在總是接觸到的 Hybrid App方式,你顫抖了嗎?HTML+CSS+JavaScript 快要一統河山了?單單從這方面來講的話,我們web 前端工程師 是應該高興還是高興,還是憂慮呢?

我們先簡單分析一下 開發移動混合APP 的方式,根據此網絡圖分析:

  • 左邊一類(A)是繼續堅持使用HTML+CSS進行界面布局,通過對頁面渲染進行優化和對標準JS進行原生擴展來實現跨平臺App開發。框架例如 MUI 、SUI、jquerymobile、ioinc。

  • 右邊一類(B)是放棄使用HTML+CSS的界面布局,選擇一種第三方的中間語言(如JS,C#等)來映射成Android和iOS的系統調用,從而實現跨平臺。這種方式的界面布局需要通過中間語言組合系統UI組件來完成,渲染性能比HTML+CSS的方式要好,但這樣也失去了HTML+CSS布局的標準性和靈活便捷。但為了性能一切都忍了,至少目前這種方式已經占據了市場和開發狗的心。 如 React Native。

A類特點

簡單 快速,模版布局現成,一般熟練 html5 css 的前端開發人員根據api都可以勝任、調用基本的原生接口 如相機、掃描、地理定位也夠用。但渲染太耗內存、性能堪憂。

B類特點

完全映射底層接口。通過中間件打通視圖 和底層借口,利用中間語言 JS 來開發應用程序。渲染性能比HTML+CSS的方式強悍許多,但布局和開發已經不是原生的 html+css+js了,這增加了難度和便捷性。

但此方式還是比原生app開發周期短很多,屬于web開發范疇,只不過開發方式包裝了一些技巧。性能直逼原生(原生小伙伴們,還不學前端?)

【小程序】是哪種開發方式和技術棧

那么分析完了,這2種方式原理,我們回到主角,【小程序】到底是通過什么方式來開發和渲染的呢?來跟著我來分析,沒錯的!

第一時間已有神人在github開源了 內測小程序的應用包,猜測估計是 內測200名額里面的某公司的開發人員,并且把他破解開源了(不得不說,國人手速是真快)

從上邊一些截圖 可以一目了然確定,前端開發的福利 穩了!控制臺、dom結構、js文件、require包含模塊。

但當我看到這個文件的時候。。我tm 合不攏嘴了,這不就是 vuejs 、react嗎這   MVVM家族的子孫嗎。

完全組件化、自定義組件標簽、數據雙向綁定。

現在我根據以上代碼結構分析,我可以確定 小程序 是屬于 B類,也就是React Native 方式的開發模式,簡直和現代的web前端技能無縫對接了。

微信‘小程序’: web前端的春天 or 噩夢?

前面噴了那么多,都是為我們這個問題來的。小程序的發布對  web前端的春天 or 噩夢呢? 

  • 不言而喻,上邊經過我的分析,傻子也能看出來是滿篇的好處和福利了 也就是春天。html+css+js +各種前端框架經驗,你他喵的 小程序簡直是web前端開發人員的定制福利。

  • 值得擔憂的問題:福利好自然壓力大,以后前端開發又得多掌握一份技能 和 一套微信體系開發工具了,微信開發必須在微信提供的 寶寶箱 sdk里開發,而且也不是原生js語法 和react  、angular語法,它是 WXML 和 WXSS ,微信自體系。

  • 進入全面 js時代,也不遠了 Any application that *can* be written in JavaScript, will eventually be written in JavaScript。

    “能用js寫的東西,就全部用js寫 ”,所以 以后入門門檻 會更高,后端 、原生app開發人員也都要掌握一些 JavaScript 技能。

    本身這些混合開發框架 就是用c++ /c 語言調用的硬件接口來映射給js 調用的,所以以后前端人員的競爭可能會變大,越來愈多的后端 或者原生APP開發人員會進入 JavaScript 的學習大軍,那么本來普遍邏輯能力就強的他們,會不會侵蝕一部分前端開發的福利呢?

那么以前企業項目 可能需要 一個wap、wap app、企業號,以后 會 + 一個 ‘ 應用號’開發。 工作量大了,企業成本也增高了,那么涉及到我們個人, 工資會不會隨著業務量、工作量的增長而增長,這個才是關鍵問題。

總結:

擁有5-8億 用戶的微信,無疑成為了世界數一數二的移動互聯網最大入口。它的一舉一動,堪比國家經濟動蕩,發布一個東西就是一個行業,滋生無數機會。

所以我們是無奈的,接受就好,讓市場來考驗,讓用戶來決定。

APP開發人員不必跟風媒體恐慌,你只要保持自我,不斷學習,肯定是不會被淘汰的。

web開發人員高興之余,也不要忘形,因為這意味著以后你會承擔更多的壓力和工作量,和更多其他行業進來的競爭者們,大家都準備好了嗎?

 

 

來自:http://mp.weixin.qq.com/s?__biz=MzA3NTUzNjk1OA==&mid=2651560467&idx=1&sn=759ab4d1472ce40a25e9e5bb9c1d1ecf&chksm=84903542b3e7bc5419c09e130d0e966a934d0eb0259e1069f964c2fdf0356e97876a64156b26&scene=0#wechat_redirect

 

 本文由用戶 DelorasZcg 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!