让我们使用Scaphold作为GraphQL后端服务。它可以用来创建React-Relay应用程序!
让我们使用GraphQL Backend as a Service的Scaphold吧。我们可以创建React-Relay应用程序!
这篇文章是Fringe81 2017年Advent Calendar的第20天。
这是关于什么的文章?
这是一篇介绍GraphQL Backend as a Service的Scaphold以及相关技术的文章。
Scaphold – 即全球专业的代码托管平台。
这是什么样的服务?
https://scaphold.io 的原文改写请求意思是”原文改写 https://scaphold.io”。
这是一个可以提供后端服务的服务。(Zhè shì yí ge de .)
其后端提供的API是以GraphQL进行定义的,这是其特点。
如果您在服务的仪表板上定义数据类型,GraphQL将自动为该数据生成CRUD操作。
还有免费可用的方案可供选择。
其他人还有其他选项。
-
- 認証
-
- 外部サービス連携
-
- websocketによるリアルタイムデータ購読
-
- ダッシュボードから入力補完付きのクエリ叩き
-
- mutation(更新系のクエリ)へのロジックのフック
- APIのAnalytics
这是一个可以从仪表板上完成所有操作的后端创建服务!


顺便说一下…
GraphQL是什么?
这是用于服务器和客户端之间数据交互的查询语言。
通过 Schema 的定义来实现类型?。
GraphQL 能够实现以一次请求完成的功能,而不需要像 REST 一样需要客户端多次发送请求的情况。可以参考这个链接:http://graphql.org。
我将提供一篇详细介绍GraphQL的文章。
我对Scaphold印象深刻!
-
- ダッシュボードから定義したデータ型のschemaをjson出力
-
- graphql relay Specificationに沿っている
- 無料で使える
因为前面的两点都得到了实现,所以使用Relay进行应用开发非常方便。
我想用 Relay 做一个客户端应用程序!这只是我的个人爱好,但是自己从零开始创建服务器端API(GraphQL)非常困难。。
Relay 和 GraphQL Relay 规范
Relay是什么意思?
Facebook提供的用于数据驱动的React应用程序的框架。
只需利用GraphQL与API进行交互和数据管理。开发者只需编写查询,并与React组件连接!
当涉及到更新、添加或删除数据等操作(例如删除数据后,也会从数据列表中删除)时,系统会按照规则自动执行。
听说如果考虑数据流的话,在进行客户端开发时可以专注于用户界面。
为了使用GraphQL,您需要的是GraphQL的API及其模式定义文件(在Scaphold上可以找到!)
我会在这里放一篇关于relay的详细介绍的文章。
我只是想传达一种愉快的氛围,所以贴了下面这句话。
查询结果会被传递到props中。
export const ActorComponent = createFragmentContainer(
class extends React.Component {
render() {
return <div>
{this.props.actor.name}
{this.props.actor.starringMovies.edges.map(movie => {
return <MovieComponent key={movie.node.id} data={movie.node}/>
})}
</div>
}
}, graphql`
fragment ActorComponent_actor on Actor {
id
name
starringMovies {
edges {
node {
id
...MovieFragment
}
}
}
}
`);
顺便说一下…
relayのexampleはスターウォーズネタです。
みなさんはEP8の最後のジェダイ見ましたか?
僕は見ました。とても面白かったです。
GraphQL Relay Specification是什么?
就像我之前所写的那样,Relay框架会自动处理很多事情,所以GraphQL需要适应它的方式。
幸運的是,這並不是一個奇怪的規定,所以應該沒有抵抗遵從的困難。(雖然實施可能有些繁瑣,但有Scaphold可以協助)
-
- 1つのデータ型になるオブジェクトはユニークなIDを持てよ。
- 1 対 Nとか N 対 Nは ページングとかしやすいようにルールをつくったからね! …等々
GraphQL Relay规范
总结成果
-
- graphql api なバックエンドがぽちぽち作れるScaphold!ステキ!
- Relayでアプリケーション作ろうとすると面倒なサーバサイド開発をスキップできるScaphold!