翻译 | 《JavaScript Everywhere》第2章 项目简介(^_^)javascript
写在最前面
你们好呀,我是毛小悠,是一位前端开发工程师。正在翻译一本英文技术书籍。前端
为了提升你们的阅读体验,对语句的结构和内容略有调整。若是发现本文中有存在瑕疵的地方,或者您有任何意见或者建议,能够在评论区留言,或者加个人微信:code_maomao,欢迎相互沟通交流学习。java
(σ゚∀゚)σ..:*☆哎哟不错哦git
第2章 项目简介
想象一下,你站在当地的一家小餐馆的店铺前,决定在那里点一个三明治。服务员把你点的菜都写在一张纸上,而后把纸递给厨师。厨师阅读订单,使用单独的配料来制做三明治,并将三明治交给服务员。服务员会把三明治拿给你吃。若是你想要一些甜点,这个过程会再次重复。github
应用程序编程接口(API)是一组规范,它容许一个计算机程序与另外一个计算机程序进行交互。shell
Web API的工做方式与订购三明治的方式几乎相同。客户端请求一些数据,该数据经过超文本传输协议(HTTP)传输到Web服务器应用程序,Web服务器应用程序接受请求并处理数据,而后将数据经过HTTP发送给客户端。在本章中,咱们将探讨Web API的普遍内容,并经过将starter API项目克隆到本地计算机上来开始咱们的开发。可是,在进行此操做以前,让咱们先探讨将要构建的应用程序的需求。数据库
在本书中,咱们将构建一个名为Notedly的社交笔记应用程序。用户将可以建立一个账户,用纯文本或Markdown编写笔记,编辑其笔记,查看其余用户笔记的摘要以及“收藏”其余用户的笔记。npm
在本书的这一部分中,咱们将开发支持该应用程序的API。在咱们的API中:用户将可以建立笔记、阅读、更新和删除他们建立的笔记。用户将可以查看其余用户建立的笔记的摘要,并阅读其余人建立的单个笔记,尽管他们将没法更新或删除它们。用户将可以建立账户,登陆和注销。用户将可以检索其我的资料信息以及其余用户的公共我的资料信息。编程
Markdown后端
Markdown是一种流行的文本标记语言,在编程社区以及诸如iA Writer,Ulysses,Byword等文本应用程序中很常见。要了解有关Markdown的更多信息,请访问 Markdown Guide网站。
尽管这听起来不少,但在本书的这一部分中,我将其细分为小块。一旦学会了执行这些类型的交互,就能够将它们应用于构建各类API。
咱们将如何构建它
为了构建咱们的API,咱们将使用 GraphQL API查询语言。GraphQL是一个开放源代码的规范,于2012年在Facebook上首次建立。GraphQL的优点在于它容许客户端精确地请求其所需的数据,从而大大简化并限制了请求的数量。当咱们向移动客户端发送数据时,这也提升了明显的性能优点,由于咱们只须要发送客户端所需的数据。在本书的大部份内容中,咱们将探索如何编写、开发和使用GraphQL API。
什么是REST?
若是你熟悉Web API术语,那么你可能据说过REST(表明状态传输)API。REST体系结构一直(并将继续是)API的主要格式。与GraphQL不一样,这些API依赖于URL结构和查询参数来向服务器发出请求。尽管REST仍然很重要,但GraphQL的简单性,围绕GraphQL的工具的健壮性以及经过发送有限的数据的潜在性能提高,使GraphQL成为现代平台的首选。
开始
在开始开发以前,咱们须要将项目启动程序文件复制到咱们的电脑上。该项目的 源代码 包含咱们开发应用程序所需的全部脚本和对第三方库的引用。要将代码克隆到本地计算机上,请打开终端,导航到项目保存的目录,也就是 git clone
项目库的目录,并使用npm install
来安装依赖项 。建立一个显目的目录名,可使本书的代码层次分明。
$ cd Projects $ mkdir notedly && cd notedly $ git clone git@github.com:javascripteverywhere/api.git $ cd api $ npm install
安装第三方依赖项
经过制做本书的入门代码的副本而且在目录中运行npm install
,你就不须要再由于任何第三方依赖而再次运行它。
该代码的结构以下:
-
/src
这是你进行开发的目录。
-
/solutions
该目录包含每章的解决方案。若是你卡住了,这些能够供你参考。
-
/final
该目录包含最终的工做项目。
如今,你已经在本地计算机上得到了代码,你将须要复制项目的.env
文件。该文件是保存特定于环境的信息或项目私有数据(例如数据库URL,客户端ID和密码)的地方。所以,你永远不须要将其加入源代码管理。你须要本身的.env 文件副本 。为此,请在api 目录中的终端中输入如下内容 :
cp .env.example .env
如今,你应该在目录中看到一个 .env
文件。你无需对该文件作任何事情,可是随着API后端的开发,咱们将向其中添加信息。 将该文件添加到.gitignore文件
以确保你不会无心中提交了.env
文件。
求助,我看不到.env文件!
默认状况下,操做系统会隐藏以句点开头的文件,由于这些文件一般由系统使用,而不是给最终用户使用。若是看不到.env
文件,请尝试在文本编辑器中打开目录。该文件应该在编辑器的文件浏览器中可见。或者, 在终端窗口中键入ls -a
,会在当前工做目录中列出全部的文件。
结论
API为数据从数据库流向应用程序提供了接口。所以,它们是现代应用程序的中坚力量。经过使用GraphQL
,咱们能够快速开发基于可扩展API的现代应用程序。在下一章中,咱们将经过使用Node.js
和Express
构建Web服务器来开始API开发。
译者语和书籍详情
若是有理解不到位的地方,欢迎你们纠错。若是以为还能够,麻烦您点赞收藏或者分享一下,但愿能够帮到更多人。
有看的么?有看的么?有看的么?
有的话,能够点个赞么?让我知道有人在看。(ಥ_ಥ)
英文书名:《JavaScript Everywhere: Building Cross-Platform Applications with GraphQL, React, React Native, and Electron》
中文译名:《随处可见的JavaScript:使用GraphQL、React、React Native和Electron构建跨平台应用程序》
做者 :Adam D. Scott
译者:毛毛
出版时间:2020年2月6日。
翻译时间:2020年10月10日
书封面:
目录
- 前言
- 第1章 咱们的开发环境
- 第2章 API简介
- 第3章 具备Node和Express的Web应用程序
- 第4章 咱们的第一个GraphQL API
- 第5章 数据库
- 第6章 CRUD操做
- 第7章 用户账户和身份验证
- 第8章 用户操做
- 第9章 详细信息
- 第10章 部署咱们的API
- 第11章 用户界面和React
- 第12章 使用React构建Web客户端
- 第13章 设置应用程序样式
- 第14章 使用Apollo Client
- 第15章 Web身份验证和状态
- 第16章 建立,读取,更新和删除操做
- 第17章 部署Web应用程序
- 第18章 带Electron的桌面应用程序
- 第19章 将现有的Web应用程序与Electron集成
- 第20章 Electron部署
- 第21章 使用React Native建立移动应用程序
- 第22章 移动应用程序shell
- 第23章 GraphQL和React Native
- 第24章 移动应用程序认证
- 第25章 移动应用程序发布
- 后记
- 附录A.在本地运行API
- 附录B.在本地运行Web App
本文由博客群发一文多发等运营工具平台 OpenWrite 发布