旨在帮助开发人员了解 Node.js、GraphQL、React、Netlify 和 JavaScript 等技术,以启动他们的应用程序开发产品组合。
这是一个由三部分组成的应用程序开发研讨会系列中的第一个,旨在帮助开发人员了解 Node.js、GraphQL、React、Netlify 和 JavaScript 等技术,以启动他们的应用程序开发产品组合。在这篇文章中,我们将介绍网站应用程序的基本概念,并介绍DataStax Astra DB作为基于Apache Cassandra®的免费,快速,永远在线的数据库。
在美国,我们几乎88%的移动互联网时间都花在Facebook,Instagram,TikTok和游戏等应用程序中。每年发布近 100 万个新应用,2020 年的应用下载量达到 2180 亿次,学习如何构建它们是任何前端开发人员职业生涯中必不可少的一步。
那么如何开始构建应用程序呢?作为现代应用程序开发人员,多云平台和开源框架为您提供了丰富的选择,这些平台和开源框架为您完成所有繁重的工作。假设您学习基础知识并利用正确的工具。在这种情况下,您可以从开发简单的待办事项列表转向全栈 Netflix 克隆 — 这正是我们将在应用程序开发研讨会系列中介绍的内容。
第一个研讨会是关于构建一个网站应用程序,让您走上正确的轨道。您将学习 Web 应用程序的基础知识,熟悉流行语言(如 JavaScript),然后获得一个预编码的待办事项列表应用程序,您将学习如何修改和部署。只需不到三个小时即可完成,您只需要一个网络浏览器和一个互联网连接。让我们开始吧。
Web 应用开发的基础知识
网站应用程序(或 Web 应用程序)是在远程服务器上运行的软件,可以使用任何设备上的 Web 浏览器进行访问。例如,想想像Slack,Gmail,Google Docs和Twitter这样的应用程序。与直接安装在设备上并针对特定操作系统设计的本机应用程序不同,Web 应用程序可以重复使用相同的代码,并使其界面适应任何移动设备、笔记本电脑或平板电脑。
虽然本机应用程序的执行速度要快得多,但它们的开发成本也很高,因为您需要为每个平台或设备学习不同的语言和框架。另一方面,Web应用程序可以“一次构建并永久重用”,并且启动,管理和迭代要简单得多。
开发 Web 应用时,通常使用以下体系结构:
- 客户端是您设备的 Web 浏览器,用于访问应用程序。
- 前端是用户与之交互的,基本上是一个依赖于三种主要技术的Web服务器:HTML,CSS和JavaScript。
- 后端是与 Web 服务器交互并存储将前端与后端桥接的所有数据库驱动程序、API 和微服务。
- 数据层是存储应用状态的位置。这可以位于文件系统、外部存储、面向文档的软件或数据库中。
您可能已经熟悉的一个流行数据库是Apache Cassandra®,它为包括Hulu,Netflix,Spotify和Apple在内的数千家公司提供高性能应用程序。虽然这个免费的开源数据库以其高可用性、可扩展性和弹性而闻名;缺点是它的设置和管理也是出了名的复杂。
在使用数据层时,这种复杂性是一个持续的主题。作为开发人员,您只需要四个操作即可与数据库交互:创建、读取、更新和删除。但是要执行它们,您首先必须学习您正在使用的数据库的语言。例如,您需要 Cassandra 查询语言 (CQL) 才能与 Cassandra 数据库进行交互。此外,您还需要学习如何设计数据模型(架构),以便可以正确格式化和组织存储在数据库中的数据。
对于新的应用程序开发人员来说,这是一个陡峭的学习曲线,这就是为什么DataStax构建了Astra DB,即无服务器Cassandra-as-a-Service,作为我们将每个开发人员与Cassandra的强大功能联系起来的使命的一部分。
使用 Astra DB 简化 Cassandra 应用程序开发
Astra DB 是开发人员使用云原生 Cassandra 支持其应用程序的最简单方法,允许他们:
- 更快地部署现代应用,而无需安装、管理或扩展 Cassandra 。
- 使用多个 API 与数据库交互,以避免数据建模。
- 使用加密数据和基于 JSON Web 令牌 (JWT) 的身份验证从头开始提高安全性,以实现与数据库的安全通信。
- 选择是否在 Azure、GCP 或 AWS 上部署 Astra DB。
- 自动缩放数据库资源基于流量和应用要求,因此只需为使用的内容付费。
作为开发人员,您可以在Astra DB上免费创建一个帐户。您每月会收到 350 万次查询和 40 GB,当您准备好扩展时,您只需按使用量付费即可。
Astra DB 不仅为您提供了一个数据库,还为您提供了一组 API,您可以使用这些 API 与开箱即用的数据库进行交互。位于您的应用程序和Astra DB之间的这个API层称为Stargate。
Stargate 使用流行的 API 帮助您通过 Cassandra 简化应用程序开发:
- REST 提供了一个通用网关,因此您可以通过任何 Cassandra 数据库的 RESTful API 使用熟悉的界面访问数据。
- 文档 (JSON) 是一个文档 API,可让您在 Cassandra 中保存和搜索无架构的 JSON 文档(无需数据建模)。
- GraphQL 是一种用于 API 的查询语言,可让您在数据库中插入、查询和更改数据(无需使用 CQL 编写)。
所有这些都意味着您需要学习的语言和框架更少,启动时间更短。将AstraDB视为您自己的个人Samwise Gamgee,其中包含各种有用的工具,使您的应用程序开发之旅更轻松。
使用 JS、Node.JS 和 Astra DB 构建您的第一个 Web 应用程序
没有比构建待办事项列表更好的练习来帮助您开始成为应用程序开发人员了。您将在我们的第一个研讨会中学习的概念和技术是构建任何 Web 应用程序的基础,并将使您走上自己创建更高级应用程序的轨道。因此,在本次研讨会中,您将学习如何:
- 设置免费的 Astra 数据库实例
- 运行基于 Web 的 IDE Gitpod
- 使用 API 与数据库交互
- 使用 React 构建待办事项列表应用程序
您不必安装任何东西,所涉及的技术都是开源的,可以免费使用。除了 Astra DB 之外,以下是我们将在第一次研讨会中介绍的其他技术的快速介绍:
- Gitpod 是一个基于云的集成开发环境 (IDE),由 VS Code 提供支持,可让您创建现成的开发环境并直接在浏览器中编辑代码。
- Node.js 是一个运行时环境,它在浏览器之外执行 JavaScript,以便生成动态页面内容并与数据库中的数据进行交互。
- React 是一个 JavaScript 库,用于创建交互式用户界面,可轻松适应大多数浏览器和设备。
为了给你更大的图景,以下是我们将遵循的架构来构建待办事项列表应用:
要开始使用,只需注册您的免费 Astra DB 帐户,然后前往 YouTube 上的研讨会视频。
有关源代码、幻灯片、练习和分步指南,请访问 GitHub 上的 DataStax 开发人员存储库。
当您完成第一个应用程序并准备好进行应用程序开发之旅的下一步时,请深入了解我们关于构建 TikTok 克隆的第二个研讨会!