面向前端開發人員的後端邏輯容器.
微信小程式的前端框架,官方命名為MINA;那我們的非官方後端就呼應一下,姑且命名為NAMI(奈米)。
NAMI提供了一個小程式服務端所需所有服務的支持,包括但不僅限於處理request請求、接收和處理websocket、與微信服務端互動並維護access_token、處理微信服務端登入鑑權、發送範本訊息、接收微信支付事件,等等。
對於小應用:你只需要找一台電腦(無論windows、mac還是linux),一台雲端虛擬機,甚至一個docker實例,就可以安裝NAMI;NAMI提供了一整套完整的小程式後端解決方案,替你包辦有關小程式後端開發的所有問題。
對於大應用:可能小程式只是你整個IT架構的其中一部分;可能你還需要考慮負載平衡,考慮多執行個體部署,考慮快取;NAMI可以作為純粹的JAVA開源框架,簡化你的JAVA開發,幫你更有效率解決與小程式有關的問題。
更多精美介紹(感謝公司前端小夥伴做的頁面):http://riversoft.com.cn/nami.html
不需了解JAVA、PHP或其他後端語言;
不需要安裝TOMCAT,不需要LAMP;
用你最熟悉的javascript語言寫後端邏輯,用命令式的語句直接操作資料庫,呼叫微信後台服務(你試過用javascript發送模板訊息嗎? )
也許你是有經驗的JAVA或PHP程式設計師,但leader給你開發小程式的時間不多了;
面對鑑權登入、付款、範本訊息、用unionid打通服務號,看著微信官方文件的access token心跳維持、加密解密,你頭都大了;
或許你比較擅長需求建模、業務邏輯開發,但不想糾結於技術細節;
NAMI採用腳本式開發,只要會寫if(判斷)會寫for-each(循環) ,你的問題都可以快速且有效率地解決。
NAMI採用純粹的JAVA語言開發,擁有清晰的封裝和外部API;
NAMI內建動態腳本引擎,對微信官方服務端API進行全封裝;
NAMI也可以成為你JAVA計畫的其中一個開源獨立JAR包,幫助你更有效率快速解決問題。
//==================NAMI HELLO WORLD begin =================
//第一个NAMI小程序调用
wx . request ( {
url : 'http://localhost:8080/request/hello.js' ,
data : {
a : 'hello' ,
b : 2
} ,
complete : function ( res ) {
console . log ( "调用完成" ) ;
console . log ( res . data ) ;
}
} )
//==================NAMI HELLO WORLD end =================
( function ( ) {
var a = request . getString ( "a" ) || 'none' ;
var b = request . getInteger ( "b" ) || 0 ;
return {
a : a ,
b : b
}
} ) ( ) ;
NAMI採用函數式開發,無論function抑或request,一個檔案代表一個函數(或請求)。 NAMI約定:
下載運行版(百度雲端碟盤): http://pan.baidu.com/s/1bJmUtg
線上文件:https://hyhcoder.gitbooks.io/namiapi/content/
用maven構建,根目錄執行:
mvn clean install
打包結果在/package/target/nami-pack-<platform>.zip, platform = nojdk|win32|win64|linux32|linux64
woden(http://github.com/wodenwang) BPMT微信快速開發平台核心開發,微信公眾號:全端生薑頭。
borball(http://github.com/borball) 開源專案微信JavaSDK(https://github.com/borball/weixin-sdk)發起人。