
1.8.2 Apollo
Apollo开源社区驱动的GraphQL的全栈解决方案,也可以提供不俗的性能和稳定性,已被应用于很多访问量较大的Web在线产品中。与Relay不同,Apollo的开发团队更关注该技术的易用性,Apollo的学习曲线非常平滑,更适合初学者。
同时Apollo还具有更大的灵活性,其对前端框架的选用没有要求,对Schema也没有额外要求,可以和任何Schema结合使用。可以说,Apollo是个更开放的平台,可以自由地引入很多优秀的开源的前端项目。
本书的侧重点是基于GraphQL的设计思想,而不是任何具体的编程语言或者框架。所以本书将会从相对简单易学的Apollo框架入手,但不局限于对框架的使用,也会兼顾Relay的优秀设计理念,结合使用现在开源社区最活跃的项目,用JavaScript和Go,和读者一起开发一套GraphQL的全栈解决方案,让读者可以对GraphQL技术有完整的认识。
[1] GraphQL Spec:http://facebook.github.io/graphql/draft/。
[2] “The Network is the Computer.”——John Gage, chief scientist and master geek at Sun Microsystems。
[3] 最常见的分层方式是分为表现层、业务逻辑层和数据访问层,也就是常说的三层结构。
[4] Stackoverflow Developer Survey Results 2016: https://insights.stackoverflow.com/survey/2016。
[5] 黑格尔《法哲学原理》。
[6] 本图是前后端系统架构常见形式的一个简单表达,在具体项目中可能会略有不同。
[7] 透明(transparent)在计算机系统设计中可以理解为感知不到对方的存在和变化,即服务器端发生变化时,客户端不会受到影响。