翻译 | 《JavaScript Everywhere》第2章 项目简介(^_^)

不羁的心 提交于 2021-02-11 20:55:52

翻译 | 《JavaScript Everywhere》第2章 项目简介(^_^)

写在最前面

大家好呀,我是毛小悠,是一位前端开发工程师。正在翻译一本英文技术书籍。

为了提高大家的阅读体验,对语句的结构和内容略有调整。如果发现本文中有存在瑕疵的地方,或者您有任何意见或者建议,可以在评论区留言,或者加我的微信:code_maomao,欢迎相互沟通交流学习。

(σ゚∀゚)σ..:*☆哎哟不错哦

第2章 项目简介

想象一下,你站在当地的一家小餐馆的店铺前,决定在那里点一个三明治。服务员把你点的菜都写在一张纸上,然后把纸递给厨师。厨师阅读订单,使用单独的配料来制作三明治,并将三明治交给服务员。服务员会把三明治拿给你吃。如果你想要一些甜点,这个过程会再次重复。

应用程序编程接口(API)是一组规范,它允许一个计算机程序与另一个计算机程序进行交互。

Web API的工作方式与订购三明治的方式几乎相同。客户端请求一些数据,该数据通过超文本传输协议(HTTP)传输到Web服务器应用程序,Web服务器应用程序接受请求并处理数据,然后将数据通过HTTP发送给客户端。在本章中,我们将探讨Web API的广泛内容,并通过将starter API项目克隆到本地计算机上来开始我们的开发。但是,在进行此操作之前,让我们先探讨将要构建的应用程序的需求。

在本书中,我们将构建一个名为Notedly的社交笔记应用程序。用户将能够创建一个帐户,用纯文本或Markdown编写笔记,编辑其笔记,查看其他用户笔记的摘要以及“收藏”其他用户的笔记。

在本书的这一部分中,我们将开发支持该应用程序的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.jsExpress构建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日

书封面:

image-20201119064214376

目录

  • 前言
  • 第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

image-20201116023234671

本文由博客群发一文多发等运营工具平台 OpenWrite 发布

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!