首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

英国卫报基于 Serverless、React 和 GraphQL 构建内容协作工具 Pinboard

它使用 Apollo 作为 GraphQL 客户端库。在服务器端,使用 AWS Lambda 执行所有业务逻辑,使用 AWS RDS for PostgreSQL 存储用户和项目数据。...AWS AppSync,AWS 的托管 GraphQL 服务,用于抽象化各种数据源,包括 Postgres 数据库和其他系统。...Pinboard 的架构(来源:卫报工程博客) Pinboard 的架构在很大程度上依赖于无服务器组件,Lambda 函数充当了各种不同的角色,包括为嵌入到编辑工具中的客户端应用提供服务、提供 AppSync...Pinboard 使用 GraphQL 获取和聚合来自多个数据源的数据,避免编写自定义数据聚合层,并充当 API 的适配器门面。...AppSync 支持所有这三种 GraphQL 操作类型,并提供了定义订阅服务器端过滤器和订阅失效的能力。它还支持 Pub/Sub API,支持通过 WebSocket 进行 异步消息传递。

9010

GraphQL+Koa2实现服务端API结合Apollo+Vue

从这个意义上说,它是数据库无关的, 而且可以在使用 API 的任何环境中有效使用,我们可以理解为 GraphQL 是基于 API 之上的一 层封装,目的是为了更好,更灵活的适用于业务的需求变化 GraphQL...ID类型使用和String一样的方式序列化;然而将其定义为ID意味着并不需要可读型。...GraphQl 5.1 使用graphQl简单查询 安装 找到Vue中集成GraphQl的文档 https://github.com/vuejs/apollo https://vue-apollo.netlify.app...将它与vue-apollo和graphql一起安装: npm install vue-apollo graphql apollo-boost --save 在src/main.js中引入apollo-boost...:h=>h(App) }) 简单查询 组件加载的时候就会去服务器请求数据,请求的数据会放在navList这个属性上面,在模板中可以直接使用当前属性 简单查询文档 带参数查询参考 import gql from'graphql-tag

5.2K42
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    GraphQL最突出的架构优势是什么?

    作者 | Khalil Stemmler 策划 | 田晓旭 在服务器上使用 GraphQL 代替 REST 是有很多好处的,使用 Apollo Client 取代自己编写的数据获取逻辑也有很多优势。...3数据图 数据图 这个理念我是最早在 2019 年 GraphQL 峰会上听 Apollo GraphQL 的首席技术官 Matt DeBergalis 提出的。...数据图是一个声明性的、自文档化的、组织层面的 GraphQL API。 对我来说,数据图是现代应用程序技术栈中之前 缺少的一个层。...由于具备执行自省查询的能力,所以 GraphQL Playground 的 GraphQL 资源管理器可以显示 GraphQL 端点的所有功能 在 REST 领域中,我只看到了使用 Swagger 构建的...使用 Apollo Federation,每个服务团队都可以从其限界上下文中构建和管理自己的 GraphQL 服务,将其注册到一个 Apollo 网关,从而在整个企业中分布化 GraphQL 的运维工作

    2.2K20

    为什么我使用 GraphQL 而放弃 REST API?

    最近,我有机会为自己的项目和客户开发和运行一些使用 GraphQL API 构建的移动和 Web 应用程序。这真是一个很好的体验,尤其要感谢令人惊叹的 PostGraphile 和 Apollo。...GraphQL 如何做得更好? 对于所有讨论过的问题,我倾向于认为,在 CRUD 应用程序中,有一种标准方式来生成和使用 API 会非常棒。...客户端库可以很容易地将 GraphQL 响应自动解包为所需类型的对象实例,因为从模式和查询可以提前知道响应形状。 GraphQL 是个时髦的东西,是一种时尚,对吗?...总的来说,我发现,Apollo 比 Relay 等更简单和易于使用。...由于 Apollo 客户端库架构简单,我能够将一个使用 React.js 与 Redux 的应用慢慢过渡到 React Apollo,一个组件一个组件的,只在有意义的时候才这样做。

    2.3K30

    写在 2021: 值得关注学习的前端框架和工具库

    ,你可以理解为复杂度与完善性方面低于NestJS,但是高于Egg和Koa。...这个方法,可以把整个GraphQL Server以中间件的形式挂载到一个Node应用上(我就是使用这种方式来同时提供REST和GraphQL两套API的,但需要注意某些中间件的配置需要ignore掉挂载的路径...在TS中这个工具的主要能力就是生成TS的类型定义,同时它的插件体系还提供了更多的额外能力,如Apollo-Client的插件,让你可以直接使用封装好的的useXXXQuery等,前端连查询语句都不用写了...,Apollo的useQuery接收的是GraphQL Document,BlitzJS中的则接收的是后端方法,其中会直接db.entity.create()这样去写数据库)。...Reactive.How[92],生动的展示RxJS Observable在操作符管道中的流动,入门期间使用有奇效。

    4.2K10

    我为什么要放弃RESTful,选择拥抱GraphQL

    它是数据库无关的,而且可以在使用API的任何环境中有效使用,我们可以理解为GraphQL是基于API之上的一层封装,目的是为了更好,更灵活的适用于业务的需求变化。...了解清楚后我全面拥抱GraphQL GraphQL执行逻辑 有人会问: 使用了GraphQL就要完全抛弃REST了吗? GraphQL需要直接对接数据库吗?...使用GraphQL需要对现有的后端服务进行大刀阔斧的修改吗? 答案是:NO!不需要!...Graphql的一些服务 整理了下目前比较流行的服务框架: Apollo Engine:一个用于监视 GraphQL 后端的性能和使用的服务。...你会在你下一个项目中引入Graphql并使用它吗? 你对Graphql还有什么疑惑的问题呢?

    2.4K40

    GraphQL详解

    它是数据库无关的,而且可以在使用API的任何环境中有效使用,我们可以理解为GraphQL是基于API之上的一层封装,目的是为了更好,更灵活的适用于业务的需求变化。...,为下一步查询返回做准备; 前端使用模式查询语言(Schema)来描述需要请求的数据对象类型和具体需要的字段(称之为声明式数据获取); 后端GraphQL通过前端传过来的请求,根据需要,自动组装数据字段...了解清楚后我全面拥抱GraphQL GraphQL执行逻辑 有人会问: 使用了GraphQL就要完全抛弃REST了吗? GraphQL需要直接对接数据库吗?...使用GraphQL需要对现有的后端服务进行大刀阔斧的修改吗? 答案是:NO!不需要!...Graphql的一些服务 整理了下目前比较流行的服务框架: Apollo Engine:一个用于监视 GraphQL 后端的性能和使用的服务。

    2.6K00

    GraphQL是API的未来,但它并非银弹

    如果你读了整篇文章,当然这会花一些时间,你就会完全理解,为什么我认为 Kyle 的文章应该改名为“为什么使用 Apollo”。 如果你还没有读过 Kyles 的文章,我建议你先读一下。...GraphQL 完全不能解决版本控制问题。相反,我认为它实际上使情况变得更糟。 你必须支持移动应用程序吗?你应该意识到,发布原生应用需要时间。...GraphQL 服务器可以自由地使用它期望的任何类型进行响应。如果你发送一个查询,则服务器的响应可以不符合自省响应中的 GraphQL 模式。以 Apollo Federation 为例。...7 支持遗留应用 在这一段中,作者说,为移动应用保留 REST API 的旧版本是一件痛苦的事情。他总结说,因为我们只使用了一个 GraphQL 服务器,所以没有这个问题。...另一方面,GraphQL 非常适合封装基于资源和 RPC 的 API。 如果没有 Apollo 提供的所有工具,你认为 GraphQL 会变成现在这样吗?会议呢?GraphQL 峰会?

    2K10

    “别更新了,学不动了” 之:全栈开发者 2019 应该学些什么?

    简单地说就是你可以构建可以被添加到不使用 Angular 的 HTML 页面中的组件,有点像 Web 组件。...现在,我可以使用 Angular 创建世界上最好的组件,并将它交给我的朋友,她将它用在她的 React 应用程序中!...随着新的 Context API 的问世和 GraphQL + Apollo 的普及,React 今年则遭遇了一点危机。很长一段时间以来,Redux 第一次被认为不是状态管理的明智选择。...新的 Context API、Redux 和 GraphQL Apollo 内置的离线客户端缓存将使 Apollo + GraphQL 在 2019 年成为 Redux 的一个重要替代品(当然,从技术上讲...这将是 2019 年最重要的趋势:不是如何单独使用 GraphQL,而是如何在极少数情况下使用 GraphQL 优化一些 RESTful API 路由。

    2.6K30

    为什么我劝你放弃了Restful API?

    它是数据库无关的,而且可以在使用API的任何环境中有效使用,我们可以理解为GraphQL是基于API之上的一层封装,目的是为了更好,更灵活的适用于业务的需求变化。...我用动图来分别演示下REST和GraphQL是怎么样的一个过程。...GraphQL 思考模式 使用GraphQL接口设计获取数据需要三步: 首先要设计数据模型,用来描述数据对象,它的作用可以看做是VO,用于告知GraphQL如何来描述定义的数据,为下一步查询返回做准备;...GraphQL需要直接对接数据库吗? 用GraphQL需要对现有的后端服务进行大刀阔斧的修改吗? 答案是:NO!不需要!...Graphql的一些服务 整理了下目前比较流行的服务框架: Apollo Engine:一个用于监视 GraphQL 后端的性能和使用的服务。

    3.1K20

    写在2021: 值得关注学习的前端框架和工具库

    前言 最近在知乎看到了这么个问题:学完Vue还有必要学习React和Node吗?...Relay,FaceBook出品,所以也比较受到推崇(我记得看到过原因是这样,GraphQL如果要改啥,才刚进入草案,Relay团队就已经提供了支持),但上手没有Apollo-Client那么容易。...,可以把整个GraphQL Server以中间件的形式挂载到一个Node应用上(我就是使用这种方式来同时提供REST和GraphQL两套API的,但需要注意某些中间件的配置需要ignore掉挂载的路径)...在TS中这个工具的主要能力就是生成TS的类型定义,同时它的插件体系还提供了更多的额外能力,如Apollo-Client的插件,让你可以直接使用封装好的的useXXXQuery等,前端连查询语句都不用写了...Reactive.How,生动的展示RxJS Observable在操作符管道中的流动,入门期间使用有奇效。

    2.9K10

    【Graphql实践】使用 Apollo(iOS) 访问 Github 的 Graphql API

    最近在协助调研 Apollo 生成的代码是否有可能跨 Query 共享模型的问题,虽然初步结论是不能,并不是预期的结果,但是在调研过程中积累的一些经验,有必要记录下。...关于 Graphql 官网 尽管只是做客户端的一些实践,我还是建议你先过一遍 Graphql 官网的学习指南。这样能更快速地理解概念。一些客户端库的文档,大部分都只是介绍基本用法。...如果你非要看的话,我友情提醒一句,需要在父目录执行的是 yarn && npm run build 或者你干脆自己新建一个自己的示例: yarn add graphiql yarn add graphql...Github 甚至还有专门的使用该 App 访问 Github API 的教程:https://developer.github.com/v4/guides/using-the-explorer/ 注意...如果你的项目指定最低版本为 8.0,会发现 pod 安装的总是旧版 Apollo 库。

    1.4K00

    为 Vue 配置 GraphQL API

    接前文为 Django 配备 GraphQL API,Django 提供 GraphQL 接口服务之后,我们需要让前端来消费这些接口数据,以 Vue 为例,看一看前端如何访问后端 GraphQL API...注意第一步执行 vue create hello-world 时我们选择默认的 Vue2, Vue3 是 2020 年 09 月 18 日发布的,我在使用 Vue3 时后面生成样例代码那一步报错了,这里暂时用...使用 Vue Apollo Vue Apollo[2] 是一个三方库,可以让你在 Vue 的应用中使用 GraphQL,使用起来也很轻松,在上述 hello-world 目录下,也就是 package.json...同级的目录下,打开命令窗口执行: vue add apollo 这个命令会自动安装 npm 包:graphql graphql-tag @apollo/client。... 这里为了让返回的 json 数据格式更加好看,我这里用了插件:vue-json-pretty,只需要使用 npm install vue-json-pretty --save 安装下

    1.2K20

    2018年微服务的5个发展趋势

    尽管开发人员可以将容器环境构建为事件驱动,但功能即服务(FaaS)本身就体现了这种质量。在FaaS体系结构中,函数作为文本存储在数据库中,并由事件触发。...在使用无服务器技术的169个中,77%表示他们使用AWS Lambda。虽然Lambda可能是领先的无服务器平台,但我们相信,在其边缘可能存在一些有趣的机会。...通通过在类型和字段之间定义资源之间的关系(而不是像REST一样的端点),GraphQL可以遵循属性之间的引用,因此服务可以使用单个查询从多个资源中接收数据。...另外,REST api要求为一个请求加载多个url,增加网络跳数,减慢查询速度。通过减少往返,GraphQL减少了每个数据请求所需的资源数量。返回的数据通常被格式化为JSON。...GraphQL用户包括Amplitude,Credit Karma,KLM,NY Times,Twitch,Yelp等.11月,亚马逊通过推出AWS AppSync(包括GraphQL支持)来验证GraphQL

    1.4K20

    在 redux 应用中使用 GraphQL

    正如 Sashko Stubailo 指出的: 不幸的是,在 Redux 应用程序中异步加载服务器数据的模式还没有建立起来,并且经常需要使用外部帮助程序库,如 redux-saga。...快速的启动一个服务端环境 启动一个 redux 脚手架 增加一个 GraphQL 客户端 (Apollo Client) 使用 GraphQL 获取数据 获取更多的数据 接下来要做的 1....启动一个服务端环境 首先,我们需要一个 GraphQL 服务器。最简单的方式就是完成这一教程. 如果你不想这么麻烦的话,可以克隆我的 repo, 这个项目和上述教程几乎是一模一样的。...客户端正在运行,现在是开始添加 GraphQL 客户端的时候了。我们的目标是使用 GraphQL 查询,从服务器轻松获取数据并将其呈现在着陆页(HomeView)中。 3....不过我准备在后续的教程中介绍这些内容,您可以阅读 Sashko 的 文章 或者 Apollo Client 文档来更好的理解 GraphQL 的原理 (比如,当我们把 Provider 替换成 ApolloProvider

    1.9K10

    GraphQL 实践与服务搭建

    GraphQL​ REST API 构建在请求方法(method)和端点(endpoint)之间的连接上,而 GraphQL API 被设计为只通过一个端点,即 /graphql,始终使用 POST...查询 personID 为 2 的 Person 并且只获取 name,eyeColor、skinColor、hairColor 字段 从上面查询案例中其实就可以发现,我只需要在 person 中写上想要获取的字段...不仅需要在后端中配置 GraphQL 服务,用于接收 GraphQL 查询并验证和执行,此外前端通常需要 GraphQL 客户端,来方便使用 GraphQL 获取数据,目前实用比较多的是Apollo Graph...我的建议是了解即可,新项目可以考虑使用,就别想着用 GraphQL 来重构原有的 API 接口,工作量将会十分巨大,并且还可能是费力不讨好的事。...回想我为何尝试 GraphQL,就是因为我无意间看到了一份 ts 全栈的远程面试招聘,在这份招聘单中写到 【会 graphql 编写是加分项】。

    5.3K10

    GraphQL项目中前端如何预生成Persisted Query

    GraphQL - Wikipedia 简单翻译一下: GraphQL是一个由Facebook在2012年的内部项目孵化并且于2015年正式发布的一个文档型API GraphQL的用法 GraphQL里面的所有操作归为两类...Automatic persisted queries - Apollo Server - Apollo GraphQL Docs 简单翻译一下就是, 一个短dash代替一个超长的graphql schema...已经有很多合适的前/后端框架来使用, 我这里说一个前端框架 GitHub - apollographql/apollo-link-persisted-queries: Persisted Query...预生成persisted query 刚刚我们介绍了, 如何在使用过程中生成. 但是如何预生成呢? 也就是, 在前端部署的过程中或者是在访问页面之前就已经生成好....· apollographql/apollo-client · GitHub, 但是使用上述代码也是没有问题的.

    1K20
    领券