NAMI:專為微信小程序服務端開發而生

NAMI:專為微信小程序服務端開發而生

面向前端開發人員的后端邏輯容器. 百度云盤(最新版本0.2.0): http://pan.baidu.com/s/1bJmUtg

什么是NAMI

微信小程序的前端框架,官方命名為MINA;那我們的非官方后端就呼應一下,姑且命名為NAMI(納米)。

NAMI提供了一個小程序服務端所需 所有 服務的支持, 包括但不僅限于處理request請求、接收和處理websocket、與微信服務端交互并維護access_token、處理微信服務端登錄鑒權、發送模板消息、接收微信支付事件 ,等等。

對于小應用:你只需要找一臺電腦(無論windows、mac還是linux),一臺云虛擬機,甚至一個docker實例,就可以安裝NAMI;NAMI提供了一整套完整的小程序后端解決方案,替你包攬有關小程序后端開發的所有問題。

對于大應用:可能小程序只是你整個IT架構的其中一部分;可能你還需要考慮負載均衡,考慮多實例部署,考慮緩存;NAMI可以作為一個純粹的JAVA開源框架,簡化你的JAVA開發,幫你更高效解決與小程序有關的問題。

NAMI受眾

前端開發工程師

不需了解JAVA、PHP或其他后端語言;

不需要安裝TOMCAT,不需要LAMP;

用你 最熟悉的javascript語言編寫后端邏輯 ,用命令式的語句直接操作數據庫,調用微信后臺服務( 你試過用javascript發送模板消息嗎?

專注于業務實現,而不想糾結于技術的小程序后端開發者

也許你是有經驗的JAVA或PHP程序員,但是leader給你開發小程序的時間不多了;

面對著 鑒權登錄、支付、模板消息、用unionid打通服務號 ,看著微信官方文檔的 access token心跳維持、加密解密 ,你頭都大了;

也許你更擅長需求建模、業務邏輯開發,但不想糾結于技術細節;

NAMI采用腳本式開發, 只要會寫if(判斷)會寫for-each(循環) ,你的問題都可以快速高效解決。

JAVA程序員

NAMI采用純粹的JAVA語言開發,擁有清晰的封裝和外部API;

NAMI內置動態腳本引擎,對微信官方服務端API進行全封裝;

NAMI 也可以成為你JAVA項目的其中一個開源獨立JAR包 ,幫你更高效快速解決問題。

NAMI特性

  • 可直接運行于任意主流IAAS或PAAS或docker容器,如阿里云、網易蜂巢
  • 內置JDK,內置tomcat,支持跨平臺(windows/linux/macOS)
  • 內置https解決方案,快速申請免費證書并自動維持永久生效
  • javaEE技術架構,成熟的橫向擴展方案,支持高并發、高可用系統需求,能支持大型/超大型系統
  • 傻瓜化腳本開發模式,只關注業務邏輯,不糾結技術實現
  • 支持javascript,groovy,java語言開發業務邏輯,總有一款合你意
  • 微信API封裝,消息、支付、鑒權簡單實現

NAMI關鍵模塊

  • 簡潔的request門面
  • 配置化websocket
  • 內置腳本邏輯引擎(可選語言:groovy/javascript/el)
  • 全量微信API封裝
  • 解壓即可運行的容器式封裝
  • 小程序文件上傳下載體系封裝
  • 內置的https解決方案封裝

一個例子

  1. 前端發起一個request 前端源碼:
//==================NAMI HELLO WORLD begin =================
    //第一個NAMI小程序調用
    wx.request({
      url: 'http://localhost:8080/request/hello.js',
      data: {
        a : 'hello',
        b : 2
      },
      method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
      // header: {}, // 設置請求的 header
      success: function(res){
        // success
      },
      fail: function() {
        // fail
      },
      complete: function(res) {
        // complete
        console.log("調用完成");
        console.log(res.data);
      }
    })
    //==================NAMI HELLO WORLD end =================

1.啟動NAMI后,在request目錄中增加腳本

后端源碼:

//definde
function main() {
    var a = request.getString("a") || 'none';
    var b = request.getInteger("b") || 0;

return {
    a : a,
    b : b
}

}

// invoke main();</code></pre>

2.前端回調結果

系列文章

如何打包

用maven構建,根目錄執行:

mvn clean install

打包結果在/package/target/nami-pack-<platform>.zip, platform = nojdk|win32|win64|linux32|linux64

 

 

 

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