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

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

GraphQL-Yoga[43],Prisma团队出品,基于Apollo-Server,封装了一些特性,因此比Apollo-Server更容易上手,但功能却更强,比如原生支持文件上传这种。...GraphQL-Code-Generator[48],很强大工具,从.graphql文件到语言可以直接使用方法/类型定义,这个思想实际上各个语言都有,Dart和Ruby等。...在TS这个工具主要能力就是生成TS类型定义,同时它插件体系还提供了更多额外能力,Apollo-Client插件,让你可以直接使用封装好useXXXQuery等,前端连查询语句都不用写了...,ApollouseQuery接收GraphQL Document,BlitzJS则接收是后端方法,其中会直接db.entity.create()这样去写数据库)。...通用 RxJS[86],ReactiveX实际上是一个“理念”,在各个语言都有相关实现,RxDart[87]RxJava[88] RxPy[89] RxGo[90] 等等,在对于异步处理上是非常有帮助一个库

4.2K10
您找到你想要的搜索结果了吗?
是的
没有找到

混搭 TypeScript + GraphQL + DI + Decorator 风格写 Node.js 应用

GraphQL RESTful API 方式用得比较多,不过我还是想在自己小项目里使用 GraphQL,具体优点我就不多说了,可以参考《GraphQLApollo 为什么能帮助你更快地完成开发需求...GraphQL 理解成本和接入成本还是有一些,建议直接通读官方文档 《GraphQL 入门》 去了解 GraphQL 概念和使用。...4.1 接入 GraphQL 服务中间件 整体技术选型阵容就是 apollo-server-koa 和 type-graphqlapollo-server 是一个在 Node.js 上构建 GraphQL...数据库连接)、 type-graphqlGraphQL处理)工具库来使用,整体代码风格更加简洁,同样业务功能,代码量减少非常可观且维护性也提升明显。...+ GraphQL = TypeGraphQL:阿里 CCO 体验技术部文章,介绍地比较详细到位,推荐阅读(结合 egg.js 开发实践) Apollo Server: GraphQL 数据分页概述

3.2K20

TypeGraphQL尝试

前言 GraphQL 在我们之前项目中使用情况非常不错,后端可以只需要专注于合理 Schema 设计与开发,并不需要太关心界面上功能交互,在前端我们用 Apollo GraphQL 替代了 Redux...我们在准备使用 TypeScript 来写 GraphQL 时候,我们会有面临一个最大问题 GraphQL Schema Type DSL 和数据 Modal 需要写两份么?...安装 apollo-server-koa , 处理请求路由( egg.js 是基于 koa ) yarn add apollo-server-koa 集成中间件路由 // ~/app/graphql/index.ts...Resolver(of => Recipe) 返回对象添加一个字段处理 方法参数: @Root:获取当前查询对象 @Ctx:获取当前上下文,这里可以拿到 egg Context (见上面中间件集成处理...我们在正式使用目前也没有遇到大问题,该项目目前也比较活跃,很多新特性也在开发,建议可以做一些尝试。

2.2K10

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

,可以把整个GraphQL Server以中间件形式挂载到一个Node应用上(我就是使用这种方式来同时提供REST和GraphQL两套API,但需要注意某些中间件配置需要ignore掉挂载路径)...GraphQL-Yoga,Prisma团队出品,基于Apollo-Server,封装了一些特性,因此比Apollo-Server更容易上手,但功能却更强,比如原生支持文件上传这种。...GraphQL-Code-Generator,很强大工具,从.graphql文件到语言可以直接使用方法/类型定义,这个思想实际上各个语言都有,Dart和Ruby等。...在TS这个工具主要能力就是生成TS类型定义,同时它插件体系还提供了更多额外能力,Apollo-Client插件,让你可以直接使用封装好useXXXQuery等,前端连查询语句都不用写了...提供GraphQL API管理工具,配合Apollo-Server插件可以实现埋点统计、可视化分析等功能。

2.8K10

一种不错 BFF Microservice GraphQLREST API 层开发方式

原生(Cloud Native)Node JS Express Reactive 微服务模板 (REST/GraphQL) 这个项目提供了完整基于 Node JS / Typescript 微服务模板..., 打包 启用 Swagger - Express swagger 中间件 / Swagger UI 集成 GraphQL 基于 Apollo Server 2.0,带有 JWT 安全性、数据加载器(data...当前添加了一个使用 @date 指令示例( graphql-tools 文档中所述) Query ({ today(format: "mmm-dd-yy") }) - 这里格式基于@date scheme...此处区别在于,我们使用 @auth 指令根据角色来处理身份验证,而不是对解析程序实现进行硬编码。这是更清蒸方法,并且与解析器分离。...查询 schema examplesWithAuth: [ExampleType] @auth(requires: ADMIN) 使用 @auth 指令,该指令将拦截具有适当角色经过身份验证用户调用检查

2.3K10

【译】Graphql, gRPC和端对端类型检验

最终我们选择了Apollo GraphQL+gRPC+React+TypeScript这样一套技术栈,并对使用它们结果感到满意。...我们使用graphql-code-generator基于我们schema来生成对应Typescript typings, 并且在写解析器时候使用这些Typescript typings。...为了保证GraphQL server和前端之间类型安全,我们使用Apollo CLI代码生成器:使用命令行来生成我们所有GraphQL查询类型: React示例 在我们应用需要用到三种查询:...然而,不像.jsx/.js之间那样宽松,当文件包含任何JSX代码时,你必须使用.tsx扩展名,这样TypeScript才能消除JSX和其他TypeScript语言特性之间歧义。...Apollo GraphQL、gRPC、React和TypeScript,我们既享受了查询数据灵活性,也保证了我们后端服务之间原子性。

3.1K20

前端开发使用GraphQL——服务端技术选型

express与koa都太过简单,不适合直接拿来使用,egg文档优秀,社区内容也丰富,但是对typescriptGraphQL支持都比较有限,最终决定使用nestjs,nestjs是基于typescript...Apollo GraphQL: Apollo 提供实现和 GraphQL 生态,内容丰富,不止一套引擎,还提供了纯客户端使用等多种工具。...这些模块本质上都是通过解析类或者文本生成可以执行Schema,然后交由GraphQL-JS或者apollo-server执行。...区别在于组织代码方式上,具体区别这里不展开,有兴趣可以参考GraphQL 落地背后:利弊取舍 使用 typescript 开发 GraphQL 时,一般要基于 typescript 对数据定义模型...,也要在 Schema 定义数据模型。

1.8K20

GraphQL到底怎么使?看看智联前端团队技术沉淀

省略一些校验、合并细节,数据获取过程如下: 执行请求:GraphQL 引擎拿到 Document 并解析并处理之后,得到一个新结构化 Document(当然原本 Document 也是结构化...Apollo Apollo 提供了完整 GraphQL Node.js 服务框架,但是为了更直观感受可执行 Schema 创建过程,使用 Apollo 提供 graphql-tools 进行可执行...函数),或 apollo-server 提供服务执行。...type-grahpql:当使用 TypeScript 开发 GraphQL 时,一般要基于 TypeScript 对数据定义模型,也要在 Schema 定义数据模型,此时 type-graphql...数据 Mock:服务端 Schema 包含数据结构和类型,所以在此基础上实现一个 Mock 服务并不困难,apollo-server 就有实现,可以加快前端开发介入。

2.3K20

2020 年你应该知道 React 库

所有 React 内置 hooks 都非常适合本地状态管理。当涉及到远程数据状态管理时,如果远程数据带有 GraphQL 端点,我建议使用 Apollo Client。...Apollo Client 替代方案是 urql 和 Relay。 如果远程数据不是来自 GraphQL 端点,请尝试使用 React Hooks 来管理它。...如果您有足够时间来处理 GraphQL API,我建议您使用 Apollo Client。可供选择 GraphQL 客户端将是 urql 或 Relay。...React 应用程序TypeScript 为整个应用程序增加了类型安全性,而不是使用 React PropTypes。...如果你希望有人来处理所有的事情,如果你已经在使用第三方身份验证/数据库,Netlify 是一个很受欢迎解决方案,比如 Firebase,你可以检查他们是否也提供主机服务(比如 Firebase Hosting

14.4K40

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

作者 | Khalil Stemmler 策划 | 田晓旭 在服务器上使用 GraphQL 代替 REST 是有很多好处使用 Apollo Client 取代自己编写数据获取逻辑也有很多优势。...基本全栈 Apollo Client+Server 应用程序栈 4数据图让远程状态更接近客户端本地状态 所有前端框架都需要解决三个挑战分别是数据存储、更改检测和数据流。...在 Apollo Server 端,这些 API 调用将控制权转交给负责使用 ORM、原始 SQL、缓存、其他 RESTfulAPI 或任何你想到方法来获取数据解析器。...使用 Apollo Federation,每个服务团队都可以从其限界上下文中构建和管理自己 GraphQL 服务,将其注册到一个 Apollo 网关,从而在整个企业中分布化 GraphQL 运维工作...在架构层面,由于 GraphQL 仅向客户端公开单个端点,因此它满足了这一原则。 客户端隐藏了字段解析机制所有复杂性,它只需关注如何在 GraphQL 服务器之上构建即可。

2.1K20

精读《初探 Reason 与 GraphQL

内置不可变数据类型检测 reason ,一切类型都是 immutable ,如果使用如下代码直接修改 post.votes,则会报错: Mutation: { upvotePost: (_, {..."id": int, "authorId": int, "title": string, "votes": ref(int)}; 最后作者介绍了如何通过 apollo-server 搭建后端代码,与 reason...如果不考虑需求变动,后端采用 graphql 其实是成本最小选择,其一是类似 apollo-server 这类框架做了一个 IDE 供查询实体,同时绕过了接口,直接暴露数据,效率更高。...所以使用 graphql 若不是第一手后端代码,使用后也不会有多少效果。...更多细节可以访问 GraphQL and Relay 浅析,那篇是基于 relay ,现在 apollo-server 看上去是更轻量级方案。

66140

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

该解决方案使用了一系列技术,包括用于编写业务逻辑 Typescript、用于执行代码无服务器服务、API 端点和 GraphQL 服务器,以及用于存储 AWS RDS(PostgreSQL)。...目标是在不创建新独立工具情况下将协作功能嵌入到现有工具集中,让编辑可以在生产内容项上下文之上进行协作。 Pinboard 使用 TypeScript 编写客户端、服务器和基础设施代码。...客户端应用程序是用 Preact 和 Emotion 创建,并使用 Webpack 进行打包。它使用 Apollo 作为 GraphQL 客户端库。...Pinboard 架构(来源:卫报工程博客) Pinboard 架构在很大程度上依赖于无服务器组件,Lambda 函数充当了各种不同角色,包括为嵌入到编辑工具客户端应用提供服务、提供 AppSync...解析器、提供电子邮件(使用 SES)和网络推送通知、数据同步和身份验证

6210

GraphQL 实践与服务搭建

请求进行查询,其集中 API http://localhost:3000/graphql,所有的操作都通过这个接口来执行,这会在后面的操作在展示到。...graphql 信息 无论你想要什么数据,一次请求便可满足。...不仅需要在后端配置 GraphQL 服务,用于接收 GraphQL 查询并验证和执行,此外前端通常需要 GraphQL 客户端,来方便使用 GraphQL 获取数据,目前实用比较多Apollo Graph...nest new nest-graphql-demo 安装依赖 npm i @nestjs/graphql @nestjs/apollo graphql apollo-server-express 修改...在上面一开始例子是 Code First 方式,通常使用该方式即可,无需关心 Schema 是如何生成。下文也会以 Code First 方式来编写 GraphQL 服务。

5.2K10

构建带 Subscriptions graphql golang 后端

Apollo团队还开发了针对WebSocketsGraphQL协议,该协议主要用于Apollo Client和GraphcoolSubscriptions。...它有一个简单目的: 实现GraphQL在WebSocket(由所有流行GraphQL客户端使用),所以不必考虑与net/http无缝集成 与net/http无缝集成 提供访问已建立订阅简单方法,执行身份验证并向相应客户端发送更新...创建一个GraphQL模式,创建一个订阅管理器,为WebSocket上通信创建一个HTTP处理程序,然后使用net/http服务处理程序。...或者,您可以定义一个函数来对用户进行身份验证(在建立新连接时,Apollo客户端会将初始WebSocket消息与可选authToken一起发送;该函数允许将令牌字符串解析为用户)。.../ handler结合使用 结合使用WebSocket端点上GraphQL和普通GraphQL HTTP端点,就像其他任何net/http处理程序一样工作。

2.7K30

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

请求体积过大带来网络消耗性能 被人知道了你整个消息体, 带来安全问题 请求体积过大带来网络消耗性能 如果使用GraphQL就会知道, 它默认使用是POST请求, 好处就是, 不论你schema...Automatic persisted queries - Apollo Server - Apollo GraphQL Docs 简单翻译一下就是, 一个短dash代替一个超长graphql schema...预生成persisted query 刚刚我们介绍了, 如何在使用过程中生成. 但是如何预生成呢? 也就是, 在前端部署过程或者是在访问页面之前就已经生成好....这样设想完成起来, 需要解决一个最主要问题, 后端如何在前端没有访问时候提前预知schema?...· apollographql/apollo-client · GitHub, 但是使用上述代码也是没有问题.

98520

2019-Web开发技术指南和趋势

对于使用框架大型前端项目, 你也许需要使用状态管理工具去管理你应用级状态 Redux(Context API) Apollo(GraphQL Client) Vuex NgRx 2.5 满足一个成熟前端开发者条件...绝大多数觉得应用都会使用到数据库, 这里有一些选择: 关系型数据库(MySQL, PostgreSQL, MS SQL) 非关系型数据库 (MongoDB, Counchbase) 服务 (Firebase...使用到了 Chromium内核和Node.js 兼容Windows, Mac & Linux 崩溃报告, 调试和性能分析 4.3 GraphQL & Apollo GraphQl是对于API一种革命性新方法...只查询你想要东西 前端和后端可以合作得更为顺利 查询语句非常简单且很像JSON语句 Apollo是一个发送请求到GraphQL客户端 使用是Gatsby静态站点生成器 4.4 TypeScript...AI和机器学习已经被广泛应用在所有的程序和技术, 甚至包括web开发.

3.3K20
领券