Feathers哲學(xué)
它并不是又一個(gè)Javascript框架,也不是一個(gè)重復(fù)被造的輪子。而是使用service和cross cutting concerns來(lái)構(gòu)建web應(yīng)用的嘗試??蓴U(kuò)展而又面向服務(wù)是它的一大特點(diǎn),結(jié)果會(huì)更靈活。它始終堅(jiān)信,UI、數(shù)據(jù)或商業(yè)邏輯是web應(yīng)用或移動(dòng)app的核心,而架構(gòu)可以幫助實(shí)現(xiàn)剩余的工作。
服務(wù)的概念
服務(wù)層可以幫助解耦應(yīng)用的接入和呈現(xiàn),也方便測(cè)試??梢詾镠TTP REST和websocket提供相同的API。
統(tǒng)一接口
好比如REST的一個(gè)關(guān)鍵約束,命名約定可以見(jiàn)詞知意。對(duì)應(yīng)于REST,有以下方法:GET, POST, PUT, PATCH and DELETE。而服務(wù)也有統(tǒng)一的接口。
const myService = {
// GET /path
find(params, callback) {},
// GET /path/
get(id, params, callback) {},
// POST /path
create(data, params, callback) {},
// PUT /path/
update(id, data, params, callback) {},
// PATCH /path/
patch(id, data, params, callback) {},
// DELETE /path/
remove(id, params, callback) {}
}
這個(gè)接口讓”hook”到方法執(zhí)行中以及返回后發(fā)射事件更簡(jiǎn)單,來(lái)提供實(shí)時(shí)功能。
Hooks
遵循小的模塊做一件事好于大的復(fù)雜模塊。然后,可以創(chuàng)建before和after hooks 來(lái)把各模塊鏈起來(lái)。
站在巨人之肩
Express 4 Feathers繼承了它。
Vorpal Feathers的CLI工具的生成器繼承了它。
Socket.io or Primus Feathers封裝了兩位巨人,來(lái)實(shí)現(xiàn)web socket傳輸。
mongoose, sequelize, knex, or waterline 服務(wù)適配器的ORM的實(shí)現(xiàn)。
npm 仍然是包管理工具
passport 完成了很多feathers-authentication的工作。
下面展示了利用Feathers實(shí)現(xiàn)的利器,業(yè)績(jī)Feathers的生態(tài)系統(tǒng)。
應(yīng)用方面
Feathers Chat
Feathers React Native Chat
起步中的項(xiàng)目
Feathers + Apollo
Feathers + React + Mobx
Feathers + React + Webpack
社區(qū)插件
。。。
認(rèn)證
Feathers-accounts
Feathers-service-verify-reset
通信
Feather-batch
數(shù)據(jù)庫(kù)
省略若干字
文檔
Feathers-swagger
多實(shí)例
Feathers-cluster
Feathers-sync
Feathers-mailer
Feathers-mailgun
Feathers-sendgrid
回應(yīng)
Feathers-action
Feathers-action-creators
Feathers-action-reducer
Feathers-action-types
Feathers-react-redux
Feathers-reduxify-services
測(cè)試
Feathers-tests-fake-app-users
轉(zhuǎn)化
Feathers-populate-hook
Feathers-transform-hook
Feathers-virtual-attribute-hook
工具
Feathers-hooks-common
Feathers-hooks-utils
有效性
Feathers-hooks-validate-joi
Feathers-hooks-validatiob-jsonschema
Feathers-tcomb
Feathers-validate-hook
Feathers-validator
視圖層
donees-Feathers
Feathers-done-ssr
Feathers-mithril
Feathers-reactive
ng-Feathers
vue-syncers-Feathers