我們眼中的微信小程序——宜博程序員眼中的小程序這個樣子

近期微信不聲不響地推送了“微信小程序”,前端圈里鋪天蓋地的都是這個話題。
我嘗試了一下,做了個小demo,由于太小,幾乎就是跟著文檔刷了一遍而已。所以就不放出截圖代碼了。
這篇主要說一下我眼中的“微信小程序”
學習Vue
寫代碼的時候很明顯能感覺到有 vue 的影子。
每個page分到一個文件夾里面,這個文件夾含有至少三個文件:.wxml, .wxss, .js 還有一個可選的.json分別對應的是 DOM 結構, 樣式,控制器,配置文件
完完全全就是vue的template語法的拆解版。
這樣做的好處是結構特別的清晰,不像jsx一樣,不用什么都寫.jsx里面,學習成本就變得很低了。
控制器里面也是有些模仿的意思吧。
Page({ data: { }, onLoad: function(options){ } })其實講道理沒什么模仿吧,畢竟js就是這么寫的
融合React
我很明顯地在函數(shù)中看到了這樣的語法:
this.setData({ foo: 'bar' })語法上還是很像的,對吧?
「微信小程序」剖析(二):框架原理 在桌面瀏覽器上運行的嘗試 這篇文章后面有一段講的是數(shù)據(jù)變動渲染什么的。說的比較含糊,沒看太懂
綁定事件上也比較像react對吧,不過我比較偏愛的是 vue 的語法,很優(yōu)雅
<button @click="handle">click me</button>還有點兒 Angular2 的味道
只是在頁面文件分成幾個部分的時候我嗅到了一些Angular2的味道,把dom和style分開,放到自己當前文件夾里。
好吧,這個理由似乎有點兒勉強
特點
我在寫代碼的時候,感受到的一個最大的特點就是:簡單,真的不需要太多的概念,不需要很復雜的工程就能在微信這么一個可能是全世界最大的流量入口做一個可用的小程序。是不是很激動。
每個頁面對應一個文件夾,文件夾里一套微信規(guī)定好的東西。頁面只要填充上微信做好的組件就可以跑起來了,而且還帶支付功能!
它所帶來的幾個特性:
低成本
學習成本很低,整個模式對于初學者是很友好的,只要了解了 pattern 就能寫代碼了,也不用寫 native。
也不用像 Angular2, React 那樣要先學很多概念才能干活。
我甚至想,微信小程序的簡單程度可能直逼 jQuery。
所以培訓應該會很容易搞,公司招人也不需要太高的要求了,拉進公司學半天就行了。
高收益
微信流量巨大。我之前說過,它可能是全球最大的流量入口了。
關于這一點我想說,微信用戶量大總所周知。不僅量大,微信的用戶粘度非常強,用戶也非常活躍,走在路上很容易看到各種人走兩步就刷一下朋友圈,我覺得 Instagram 還沒有這么強吧。
流量入口很容易帶來高收益,再加上微信支付。我想很多中小型公司,尤其是電商這些的。會很快跟進。
阿里地位岌岌可危。
跨平臺
做出的產(chǎn)品寫一遍就能跨平臺了。包括沒什么產(chǎn)品支持的 windows phone 平臺
缺點
太簡單,無法支撐復雜應用
簡單是好事,也是壞事。
微信小應用實在太簡單了。甚至連組件化都沒有!
也就是說,所有頁面要寫一些重復的工作才能看起來是一樣的。
復雜的表單,強交互的場景把controller寫幾千行也是很正常的吧。
更沒有組件通信。當然了,畢竟連組件都沒有。
有好有壞吧,加上組件要考慮的事情就會變得更多,難度自然就上來了。
ES2015+
而且我看的 demo 代碼幾乎沒有用到 ES2015+ 的特性,不過別擔心,babel都能轉。
不過暫時沒有看到 module 是怎么處理的。
就像上面說的,一個文件寫幾千行?
我對代碼略有潔癖,表示不能接受。
審核問題
首先是蘋果的審核,會不會不允許微信這么干,IOS 這么一個大平臺如果說不同意那這個項目基本就GG了。
對于這個問題我是持樂觀態(tài)度的。我猜想這個項目進行之前就已經(jīng)和蘋果那邊有商量了。而且騰訊的能量還是相當大的,蘋果就算不想支持,在博弈之后可能還得慎重考慮。
然后是微信的審核是否過關?
我想微信是都想讓大家過的,只是。。。廣電總局這樣的部門在國內(nèi)力量似乎很強大嘛。
還有就是那種“屠龍寶刀,點擊就送”的應用,會不會很容易放過?
微信政策
我其實很想做微信小程序玩玩的,只是擔心會不會只開放給企業(yè)用戶。
我認為個人開發(fā)者才是最勇猛,最激進,最熱愛技術的那批人。
我希望能夠盡量讓更多的人都來開發(fā)。
這個問題其實我也是持樂觀態(tài)度的。
微信可能不愿意開源出來,但是他們肯定很想讓所有人都用。
暫時并不能取代客戶端
比較尷尬的一點是,微信小程序并不能取代客戶端。
一個非常重要的點是功能太弱。很多功能還是需要獨立客戶端來做的。
另一個,誰甘心并且完全放心把流量入口完全交給其他人呢?說不定一個亂七八糟的政策就能搞死一個產(chǎn)品。
我的態(tài)度
我覺得微信小程序是一個非常棒的消息,它可以更簡單地做一些輕應用。也會更好玩。
輕應用,交互簡單中小企業(yè)的可以快速來一套。并嘗試重心轉移到這里。
重型應用可以讓現(xiàn)有的前端花幾天擼一個頁面,就做展示就好了,別想做很多功能了。
微信小應用可以說一定程度上又推了一把火熱的前端。可能會帶更多的人踏入前端的大坑了。
然而冷靜一點。多少年了,我們一直追尋的跨平臺真的能夠在微信小程序上得到一定程度的實現(xiàn)嗎?
我相信前端一定會越來越好。加油~
宜博技作為蘭州本地一家專業(yè)的微信小程序開發(fā)公司,能為企業(yè)開發(fā)出受用戶歡迎和高質(zhì)量的微信微信小程序,同時宜博科技擁有一支技術一流、年輕有為的技術骨,能為蘭州本地用戶做出優(yōu)質(zhì)、優(yōu)越的移動客戶端。