自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

無服務(wù)端編程服務(wù)推薦(前端必備)

新聞 前端
本文介紹的服務(wù)是很多前端開發(fā)的痛點(diǎn),應(yīng)該也有不少人想象過這樣的服務(wù),但是可能因?yàn)榉椒ɑ蛘咂渌?,沒有找到適合的服務(wù),今天我就介紹兩個(gè)比較成熟的,甚至可以在生產(chǎn)環(huán)境使用的無服務(wù)端編程服務(wù)。

 No Server Code Application(無服務(wù)端編程服務(wù)推薦)

寫的文章太偏總是沒人看,對(duì)大家其實(shí)幫助也不大,所以寫點(diǎn)實(shí)用的吧,我相信此文介紹的服務(wù)是很多前端開發(fā)的痛點(diǎn),應(yīng)該也有不少人想象過這樣的服務(wù),但是可能因?yàn)榉椒ɑ蛘咂渌?,沒有找到適合的服務(wù),今天我就介紹兩個(gè)比較成熟的,甚至可以在生產(chǎn)環(huán)境使用的無服務(wù)端編程服務(wù)。

問題

一句話總結(jié),就是

有沒有一個(gè)方案,可以簡(jiǎn)單的部署,然后不需要做任何的服務(wù)端開發(fā),即可由前端開發(fā)從 JS 端直接向數(shù)據(jù)庫做較為復(fù)雜的增刪改查?

其實(shí)之前我在知乎上看到過這個(gè)問題,很多人其實(shí)會(huì)覺得這個(gè)是異想天開,這個(gè)問題背后有很多問題,例如:如何做復(fù)雜的查詢(聯(lián)合、分組等)?如何實(shí)現(xiàn)業(yè)務(wù)邏輯?如何分發(fā)事件給其他系統(tǒng)?如何保障安全(注入、權(quán)限等)?

不過,想過這個(gè)問題的前端不止你一個(gè),其實(shí)不止是前端,服務(wù)端同學(xué)也非常痛恨增刪改查,從很早,服務(wù)端框架中就內(nèi)置各種 crud 腳手架,不過腳手架還是腳手架,還沒有達(dá)到完全的”無代碼“,對(duì)前端同學(xué)來說總是有成本的。

今天,我們就推薦兩個(gè)服務(wù),請(qǐng)各取所需。

傳統(tǒng)的無服務(wù)代碼

首先介紹一個(gè)思路比較傳統(tǒng)的小服務(wù),可能不能很好的使用于生產(chǎn)環(huán)境,支持的功能也有限,但是對(duì)于想快速開發(fā)一個(gè)demo,且沒有元數(shù)據(jù)管理等訴求的同學(xué),也不失是一個(gè)簡(jiǎn)單粗暴的解決方案,你只要給他喂一個(gè)數(shù)據(jù)庫,他就可以暴露出各種 api 來。

不過這個(gè)小服務(wù)也有一些問題: 1. 安全方面,不是很能保障。 2. 查詢條件的構(gòu)建,有些麻煩,不如下一個(gè)方案方便。 3. 查詢有一些隱含的限制,例如查詢條數(shù)限制在1W以內(nèi),而且不可配置。 4. 分組匯總等能力有限,無法疊加其他字段計(jì)算。

[[401386]]

講一下優(yōu)勢(shì):

  1. 這個(gè)庫大概有4300個(gè)star,相對(duì)來說還是比較熱門的。
  2. 使用 nodejs 開發(fā),安裝非常簡(jiǎn)單,沒有特別的依賴,這個(gè)算是一個(gè)優(yōu)勢(shì)。
  3. 支持單體、列表等查詢,支持分組、關(guān)聯(lián)表等。
  4. 支持直接輸出某些圖表需要的數(shù)據(jù)結(jié)構(gòu),并且可以自動(dòng)生成x軸的分組等。

具體的功能大家可以去github直接查看,安裝和配置也非常簡(jiǎn)單,基本不需要任何服務(wù)端和服務(wù)器運(yùn)維經(jīng)驗(yàn)。

Hasura,Instant GraphQL for all your data

這是第二個(gè)服務(wù)的標(biāo)語,這是我在調(diào)研 GraphQL 相關(guān)生態(tài)后,我認(rèn)為對(duì) data to graphql 封裝最徹底的服務(wù),完全實(shí)現(xiàn)了三無:

  • 無代碼元數(shù)據(jù)管理
  • 無代碼增刪改查
  • 無代碼邏輯串聯(lián)
  • 無代碼事件分發(fā)

同時(shí),他有些特別的優(yōu)勢(shì):

  • 使用 graphql,社區(qū)流行的標(biāo)準(zhǔn)前端查詢語法
  • 支持各種數(shù)據(jù)源、支持地理查詢等各種查詢姿勢(shì)
  • 非常強(qiáng)大的可視化查詢構(gòu)建器,前端查詢代碼基本也不需要手寫

簡(jiǎn)單介紹一下

查詢構(gòu)建器

這是我最看重的功能,雖然 graphql 官方就是有查詢構(gòu)建器的,但是其實(shí)沒這么強(qiáng)大,hasura 是做了很多代碼層面的封裝,才實(shí)現(xiàn)了諸多類型的查詢組合,直接上圖:

 

 

這里是一張表,里面有地理信息,整個(gè)查詢,通過左側(cè)點(diǎn)一點(diǎn),就可以構(gòu)建出各種查詢(以及刪除、增加、更新等操作語法),我其實(shí)深深理解構(gòu)建通用查詢接口的參數(shù)有多么痛苦,所以這個(gè) Query Builder 對(duì)我來說是莫大的福音。

Hasura 是個(gè)比較龐大的服務(wù),他的部署是通過 docker 來部署的,所以需要你的服務(wù)器或者電腦,有 docker 和 docker-compose 的環(huán)境,然后部署就變的特別簡(jiǎn)單了,一個(gè)命令即可搞定。

安裝后,啟動(dòng)服務(wù),即可利用你配置的數(shù)據(jù)庫信息自動(dòng)生成所有表的 scheme 信息,及相應(yīng)的增刪改查方法,然后使用 query builder 構(gòu)建你的請(qǐng)求即可,無需做任何代碼的開發(fā)。

另外 hasura 支持一些圍繞元數(shù)據(jù)的其他功能,例如多表組合(通過數(shù)據(jù)庫的view實(shí)現(xiàn)),例如 Actions,用來編排和串聯(lián)多個(gè)服務(wù)、內(nèi)外服務(wù)、數(shù)據(jù)接口的,還有 Events,用來做數(shù)據(jù)的變更通知等。另外,hasura 也支持一些代碼層面的使用方式,擁有一些腳手架命令可以自動(dòng)生成 scheme 等,也可以自己寫代碼去使用 engine 和 scheme 等。

目前 hasura 的所有功能都支持 postgres 數(shù)據(jù)庫,另外也有支持 mysql 的 beta 版,mysql版沒有很多高級(jí)功能,但是基本的 query builder 和增刪改查是完整的。

官方文檔: Hasura GraphQL Engine Documentation | Hasura GraphQL Docs

Github 項(xiàng)目: https:// github.com/hasura/graph ql-engine/

mysql 版: MySQL preview | Hasura GraphQL Docs

 

責(zé)任編輯:張燕妮 來源: 知乎
相關(guān)推薦

2015-01-13 10:32:23

RestfulWeb框架

2016-03-18 09:04:42

swift服務(wù)端

2012-03-02 10:38:33

MySQL

2013-03-25 10:08:44

PHPWeb

2011-08-17 09:14:03

FlexJava

2022-09-22 10:51:32

服務(wù)端開發(fā)者異步非阻塞編程

2016-11-03 09:59:38

kotlinjavaspring

2010-08-03 09:59:30

NFS服務(wù)

2024-03-06 14:58:52

客戶端微服務(wù)架構(gòu)

2023-10-20 21:29:56

運(yùn)維端口

2010-03-19 18:17:17

Java Server

2022-12-29 08:56:30

監(jiān)控服務(wù)平臺(tái)

2009-08-21 15:22:56

端口偵聽

2010-02-24 15:42:03

WCF服務(wù)端安全

2010-03-18 18:09:36

Java Socket

2021-04-26 13:20:06

Vue服務(wù)端渲染前端

2023-08-08 08:17:23

VasDolly服務(wù)端參數(shù)

2011-09-09 09:44:23

WCF

2009-08-21 16:14:52

服務(wù)端與客戶端通信

2009-08-21 15:59:22

服務(wù)端與客戶端通信
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)