1. 程式人生 > >微信 小程式 web前端的春天 or 噩夢

微信 小程式 web前端的春天 or 噩夢

                     
 

最近大家看到這張圖是不是都快吐了?這兩天一睜眼就被這張圖刷屏了   喵了咪的,點到哪裡都是這個報道和新聞

最近因為工作 和生活略忙,愛吹文章的我,更新頻率也低了,在這裡抱個歉,希望大家理解和包容,希望“粉絲們”(裝逼完成、跑….),不要離開我這麼帥的人!  

此文觀點宣告先:

  • 只通過技術角度分析討論 【小程式】對程式設計師、web前端、後端人員技術路線的影響
  • 不從產品角度 展望【小程式】以後的發展和方向–  這個都被媒體或專業市場分析人員分析爛了

「 微信應用號是什麼?」

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

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

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

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

簡單說,微信“小程式”可以為開發者提供基於微信的表單、導航、地圖、媒體和位置等開發元件,讓他們在微信的網頁裡構建一個 HTML 5 應用。同時微信還開放了登入和微信支付等介面,讓這個“小程式”可以和使用者的微信賬號打通。

簡單地說,目前微信“錢包”中的“大眾點評”、“京東商城”、“滴滴出行”等第三方服務就是應用號的一種雛形。 還有支付寶裡的 “生活繳費”,“城市服務”等,都是這種範疇,只不過是直接集中在app裡面。

根據參與本次內測的“小道訊息”創始人 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 天生的優勢,和硬體直接打通、自由奔放,功能、體驗更加友好。 微信是一個大平臺,在怎麼折騰還是小馬哥 說了算,哪天說給你介面封了就封了,說給你下了就下了,你只不過是去上邊嚐了嚐鮮。 所以,Android 、IOS 開發人員完全不必擔心會丟飯碗(短時間內),小程式也不會取代原生APP。

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

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

而且現在 Hybrid App 開發方式如此流行和輕便,各種框架+語言 都可以無壓力操作原生介面開發,比如 react native(火爆程度直逼安卓原生,甚至有超越趨勢),而且體驗也是極好的。

所以勸只會原生開發的小夥伴,有空學習 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開發人員高興之餘,也不要忘形,因為這意味著以後你會承擔更多的壓力和工作量,和更多其他行業進來的競爭者們,大家都準備好了嗎?

末尾福利 : github 開源 【小程式】 連結奉上 裡面有一切關於這個demo、工具和文件、新聞,謝謝最初收集者

關注我微訊號,給我留言 “小程式” 字眼的  我會發送更多 資源和工具連線。請大家排好隊了!嘿嘿!

 

最後 ,容我說一件事:經過不懈努力,微信終於邀請我開通了  文章【讚賞】 功能;   所以原創很不易,每次寫完文章,累得半死,所以大家有錢的出個喝水錢,沒錢的點個贊 轉個發 支援下都可以的,這樣我更有動力 來和大家一起分享。

長按掃碼,關注我的公眾號額