让我们使用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

这是一个可以从仪表板上完成所有操作的后端创建服务!

スクリーンショット 2017-12-19 19.22.17.png
スクリーンショット 2017-12-19 19.23.43.png

顺便说一下…

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!
bannerAds