最近參加了銀聯商務開放平台舉辦的小程序設計比賽,這對本人來說是全新的技術領域,嘗試來記錄一下學習過程。由於是以比賽為導向,可能過程比較功利,直接奔着作品來。
比賽網址如下:https://open.chinaums.com/miniprogram/competition/pc
在本人個人的認識中,“小程序”是大前端趨勢下的一個體現,目前最成功的微信小程序已經積累了大量了應用和開發者,相關的開發工具和流程文檔也較為全面。各大互聯網公司也都紛紛瞄准了這一塊可能的市場,紛紛搭建自己的小程序平台。但是本來是互聯網企業的事情,銀聯是個怎么回事呢?於是特意了解了下“銀聯商務開放平台”,簡而言之,這是個面向商戶和企業的平台,用來提供如統計信息,媒體資源,支付管理等服務,由於銀聯是我國銀行卡普遍支持的,所以銀聯也在實體支付場景中占有很大一塊。然后呢銀聯看着自己這么多的商務用戶和終端pos機,就打起了平台的主意,試圖依托自己的用戶和流量入口資源來進行內容分發,打造小程序平台,進而積累生態,或許還有與微信支付競爭的打算?
在完成比賽報名等事項后,打開其提供的教程,准備開始學習。網址:https://wiki.open.chinaums.com
首頁上給了這么個介紹,對於這方面完全沒接觸過的我先去查了查weex是個什么東東(
weex是一個由阿里出品並開源提交給Apache基金會管理的前端框架。它基於vue開發,並且可以直接發布到Android/iOS環境上運行,與React~ React Native類似,故也有人說它可以稱作是vue native。當然,本人對目前的前端技術了解甚少,只知道確實越來越多的desktop程序開始采用基於web前端框架的方式編寫,相當於是用瀏覽器在瀏覽網頁,這些程序通常都很好看,有設計的很漂亮的元件和UI,但是與native的binary相比,執行效率就差了一些。而本人對html/css/js技術棧的了解僅僅停留在皮毛,根本不知道目前日新月異的框架技術究竟是什么樣子了。
具體到銀聯這里呢,銀聯自己“基於Weex深度定制”了一個ums-toolkit,與weex-toolkit相對應,針對銀聯商務開放平台專門設計。於是按照教程里的搭建流程開始搭建環境。
(然后就失敗了)
哦,教程里給的服務器404了()本人連續試了若干天,一直如此,期間了解了一下node和npm包管理體系,得知了npm庫和鏡像源等概念(如同Ubuntu的apt源),遂發現在淘寶維護的cnpm源里只有0.0.1版本的ums-toolkit,來自於官方npm庫且提交於兩年前,本着死馬當活馬醫的態度,采用npm官方庫和嘗試安裝,結果如下:
行吧,看來ums-toolkit是沒得用了,直接用weex-toolkit吧(后來發現ums-api的api庫好像還能用)
反正,比賽里也寫的是。
於是直接轉投weex。本人開發環境采用Ubuntu18.04 只因bash的ui比cmd好看太多。接下來的內容就是weex開發了,與銀聯再無關系,既然比賽要求只需要在weex playground上調試,也就不用關心移植到Android或iOS的部分了。
因為已經熟悉了npm的包管理機制,包的安裝就不多贅述,主要就是
npm install weex-toolkit -g
npm install weex-debug -g
npm install webpack -g
(-g代表全局安裝)
然后采用
weex create xxx_demo
(其中xxx_demo為工程名)
這樣weex工具鏈就會在當前目錄創建一個weex工程。
本人采用webstorm ide進行開發,這是銀聯推薦的開發工具之一。
關於調試 用npm start ,直接將初始工程進行調試
得到如下頁面,在手機上用weex playground app掃描二維碼(需要手機和電腦處於同一內網)就可以顯示網頁上手機框中的內容。
到這里基礎環境搭建就算完成了,接下來看到了銀聯教程上提到的weex-ui擴展,就嘗試放了個按鈕上去
(HelloWorld.vue改成如下內容)
<template>
<wxc-button text="確定" @wxcButtonClicked="wxcButtonClicked"></wxc-button>
<text </template>
<script> import { WxcButton } from 'weex-ui' export default { components: { WxcButton }, methods: { wxcButtonClicked (e) { console.log(e) } } } </script>
顯示效果如下:
於是第一次就這樣咯。
旁敲側擊的也去了解了下weex的評價。。統一的結論就是:坑很多。說得難聽的就是連阿里自己都不想用,把包袱甩給Apache,說的好點吧,也沒啥好的。。然后銀聯方面 教程問題多多,還有錯別字(
總之現在有些失望。。但是比賽還是要做下去的,於是找了個技術胖的weex視頻(也是兩年前的了,不知道能用幾分)准備學習一下,估計也只能當做一點積累咯。