Full Stack Development with Angular and GraphQL: Learn to build scalable monorepo and a complete Angular app using Apollo, Lerna, and GraphQL (Paperback)

Ahmed Bouchefra

  • 出版商: Packt Publishing
  • 出版日期: 2022-03-30
  • 售價: $1,700
  • 貴賓價: 9.5$1,615
  • 語言: 英文
  • 頁數: 390
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 1800202466
  • ISBN-13: 9781800202467
  • 相關分類: AngularWeb APIJVM 語言
  • 立即出貨 (庫存=1)

買這商品的人也買了...

商品描述

Key Features

  • Use Angular modules and components to build apps that you can easily scale and maintain in the future
  • Develop a GraphQL API for a small social network app using Node.js, Express, and Apollo Server
  • Use Apollo Client to integrate Angular with a GraphQL server and manage your application's local state

Book Description

Angular is one of the most popular JavaScript frameworks in modern web app development allowing developers to not only build apps and reuse the code but also develop apps for any deployment target. For web, mobile web, native mobile, and native desktop, GraphQL is the modern and REST alternative for querying web APIs. Using Angular, TypeScript and GraphQL will give you a future-proof and scalable stack you can start building apps around.

This book shows you how to build apps using cutting-edge technologies. You'll learn how to solve common web development problems with GraphQL and Apollo, such as database access, authentication, and image uploads.

The book starts by introducing you to building full stack apps with Angular and GraphQL. Next, you'll learn how to create a monorepo project with Lerna and NPM Workspaces and configure a Node.js app to use GraphQL with Express and Apollo Server. You'll also understand the basics of Angular architecture and routing. Later, the book demonstrates how to build a professionally-looking UI with Angular Material, use Apollo Client to interface with the server to get data from the built GraphQL API.

You'll learn about Apollo Client's type and field policies, and various fetching policies. In addition to this, you'll learn about local state management and reactive variables with Apollo Client and how to generate TypeScript types and even Angular Apollo services for your GraphQL schema and queries using GraphQL Code Generator to implement a scalable codebase.

By the end of this book, you'll have the skills you need to be able to build your own full stack application.

What you will learn

  • Create a monorepo project with Lerna and NPM workspaces
  • Add realtime support with GraphQL subscriptions
  • Build a frontend with a modular architecture and Material Design UI components to consume the GraphQL API
  • Use GraphQL Code Generator to generate types and code for a type-safe and scalable code base
  • Create Angular modules and smart and dumb components and share data between them
  • Use Apollo Client features such as client-side queries and reactive variables for local state management

Who this book is for

This Angular GraphQL book is for Angular developers who want to learn how to use GraphQL and Apollo with Angular to build full-stack applications. This book does not assume prior knowledge of full-stack development with Angular and GraphQL.

商品描述(中文翻譯)

主要特點:

- 使用 Angular 模組和組件構建應用程序,以便未來輕鬆擴展和維護
- 使用 Node.js、Express 和 Apollo Server 為小型社交網絡應用程序開發 GraphQL API
- 使用 Apollo Client 將 Angular 與 GraphQL 服務器集成,並管理應用程序的本地狀態

書籍描述:

Angular 是現代 Web 應用程序開發中最受歡迎的 JavaScript 框架之一,開發人員不僅可以構建應用程序並重用代碼,還可以為任何部署目標開發應用程序。對於 Web、移動 Web、本地移動和本地桌面,GraphQL 是用於查詢 Web API 的現代和 REST 替代方案。使用 Angular、TypeScript 和 GraphQL 將為您提供一個未來可擴展的堆棧,您可以開始構建應用程序。

本書將向您展示如何使用尖端技術構建應用程序。您將學習如何使用 GraphQL 和 Apollo 解決常見的 Web 開發問題,例如數據庫訪問、身份驗證和圖像上傳。

本書首先介紹了使用 Angular 和 GraphQL 構建全棧應用程序的方法。接下來,您將學習如何使用 Lerna 和 NPM Workspaces 創建一個單一存儲庫項目,並配置 Node.js 應用程序以使用 Express 和 Apollo Server 的 GraphQL。您還將了解 Angular 架構和路由的基礎知識。隨後,本書演示了如何使用 Angular Material 構建專業外觀的用戶界面,使用 Apollo Client 與服務器進行交互,從構建的 GraphQL API 獲取數據。

您將學習 Apollo Client 的類型和字段策略,以及各種提取策略。除此之外,您還將學習有關本地狀態管理和使用 Apollo Client 的反應式變量的知識,以及如何使用 GraphQL Code Generator 為您的 GraphQL 模式和查詢生成 TypeScript 類型和甚至 Angular Apollo 服務,以實現可擴展的代碼庫。

通過閱讀本書,您將掌握構建自己的全棧應用程序所需的技能。

您將學到什麼:

- 使用 Lerna 和 NPM Workspaces 創建單一存儲庫項目
- 使用 GraphQL 訂閱實現實時支持
- 使用模塊化架構和 Material Design UI 組件構建前端,以消耗 GraphQL API
- 使用 GraphQL Code Generator 為類型安全和可擴展的代碼庫生成類型和代碼
- 創建 Angular 模塊和智能和哑組件,並在它們之間共享數據
- 使用 Apollo Client 功能,如客戶端查詢和反應式變量進行本地狀態管理

本書適合對於使用 Angular、GraphQL 和 Apollo 構建全棧應用程序感興趣的 Angular 開發人員。本書不需要先前的全棧開發知識。

作者簡介

Ahmed Bouchefra is a software developer and technical author with an engineering degree in software development. He is an expert in web development using modern technologies such as Angular and Node.js, along with using traditional technologies such as Python and Django. He's an open-source, developer, and maintainer of multiple open source Angular libraries, such as ngx-qrcode2. He also currently writes tutorials about modern web development on techiediaries and other industry-leading websites.

作者簡介(中文翻譯)

Ahmed Bouchefra 是一位軟體開發人員和技術作家,擁有軟體開發的工程學位。他是一位專精於使用現代技術如 Angular 和 Node.js 進行網頁開發的專家,同時也熟悉使用傳統技術如 Python 和 Django。他是多個開源 Angular 函式庫(例如 ngx-qrcode2)的開發者和維護者。他目前也在 techiediaries 和其他領先的網站上撰寫有關現代網頁開發的教學文章。

目錄大綱

Table of Contents

  1. App Architecture and Development Environment
  2. Setting Up GraphQL with Node.js, Express.js, and Apollo
  3. Connecting the Database with TypeORM
  4. Implementing Authentication and Image Uploads with Apollo Server and Node.js
  5. Adding Realtime Support with Apollo Server
  6. Angular Application Architecture and Routing
  7. Adding User Search Functionality
  8. Guarding Routes and Testing Authentication
  9. Uploading Images and Adding Posts
  10. Fetching Posts and Adding Comments and Likes
  11. Implementing GraphQL Subscriptions

目錄大綱(中文翻譯)

目錄


  1. 應用程式架構和開發環境

  2. 使用 Node.js、Express.js 和 Apollo 設置 GraphQL

  3. 使用 TypeORM 連接資料庫

  4. 使用 Apollo Server 和 Node.js 實現身份驗證和圖片上傳

  5. 使用 Apollo Server 添加即時支援

  6. Angular 應用程式架構和路由

  7. 添加使用者搜尋功能

  8. 保護路由和測試身份驗證

  9. 上傳圖片和添加文章

  10. 獲取文章和添加評論和讚

  11. 實現 GraphQL 訂閱