Amazon cover image
Image from Amazon.com

Hands-On Full-Stack Web Development with ASP. NET Core : Learn End-To-end Web Development with Leading Frontend Frameworks, Such As Angular, React, and Vue.

By: Contributor(s): Material type: TextPublisher: Birmingham : Packt Publishing, Limited, 2018Copyright date: ©2018Description: 1 online resource (469 pages)Content type:
  • text
Media type:
  • computer
Carrier type:
  • online resource
ISBN:
  • 9781788627757
Subject(s): Genre/Form: Additional physical formats: Print version:: Hands-On Full-Stack Web Development with ASP. NET CoreDDC classification:
  • 005.2768
Online resources:
Contents:
Cover -- Title Page -- Copyright and Credits -- PacktPub.com -- Contributors -- Table of Contents -- Preface -- Chapter 1: Becoming a Full-Stack .NET Developer -- The full-stack developer -- Full-stack development -- Backend fundamentals -- Hypertext Transfer Protocol -- HTTP is a stateless protocol -- HTTP/2 -- Representational State Transfer -- ASP.NET Core -- Frontend fundamentals -- Hypertext Markup Language -- CSS -- JavaScript -- TypeScript -- JavaScript frontend frameworks -- Angular -- React -- Vue.js -- Summary -- Chapter 2: Setting Up Your Development Environment -- Visual Studio -- Installing Visual Studio Community -- Node.js and npm -- Installing Node.js -- TypeScript -- Installing TypeScript -- Google Chrome -- Fiddler -- Installing Fiddler -- Summary -- Chapter 3: Creating a Web Application with ASP.NET Core -- ASP.NET Core overview -- .NET Core -- Open source -- Lightweight and fast -- Modular -- Host anywhere -- Creating an ASP.NET Core application -- Default files in an ASP.NET Core project -- Predefined project templates -- The Startup class -- Code execution order -- Different startups for different environments -- Changing the Startup class name -- Serving static files -- The content root and web root folders -- Setting the server to serve static files -- Serving default documents -- Configuring the available MIME types -- Getting familiar with the ASP.NET Core MVC framework -- The MVC pattern -- MVC in SPAs -- Adding MVC to ASP.NET Core -- Controllers -- Views -- View files and their location -- Creating a view -- Routing -- Adding routes -- Adding routes via UseMvc -- Adding routes via route attributes -- Routing in SPAs -- Summary -- Chapter 4: Building REST APIs with ASP.NET Core Web API -- Overview - REST APIs with ASP.NET Core API -- Creating a simple API -- Inspecting your APIs using Fiddler and Postman -- Fiddler.
Postman -- Routing -- Conventional routing -- Defining a new route template -- Attribute-based routing -- Parameterizing the route template -- Default values -- Constraints -- The model -- Model binding -- Query strings -- Message body -- Header values -- Model validation -- Generating a response of different types -- Explicit return type -- IActionResult and ActionResult&lt -- T&gt -- -- Asynchronous actions -- Controller response helper methods -- Summary -- Chapter 5: Persisting Data with Entity Framework -- Installing Entity Framework Core -- Creating your data model -- Defining the entities -- The DbContext -- Configuring the model mapping -- Configuring the database connection with DbContextOptions&lt -- TContext&gt -- -- Creating a database with EF Core migrations -- Creating a new migration -- Adding automatic migrations -- Connecting to the database -- Adding seed data -- Saving data -- Updating and deleting objects -- Querying data -- Loading related entities -- Creating conditional queries with the IQueryable deferred execution -- Mapping the API results to DTOs -- Mapping entities to DTOs with AutoMapper -- Summary -- Chapter 6: Securing the Backend Server -- Authenticating and authorizing application users -- Adding identity management entities to your data model -- Enabling the identity infrastructure -- Enabling token-based authentication with JSON Web Token -- The authentication and authorization flow -- Creating a user registration API -- Implementing the login functionality and generating a JWT -- Adding user claims -- Configuring your backend to always require authentication -- Configuring an action to allow anonymous access -- Controlling access to APIs with authorization -- Adding claims that can be used for authorization -- Authorizing users by their role -- Creating an authorization policy.
Enabling Cross-Origin Resource Sharing -- Summary -- Chapter 7: Troubleshooting and Debugging -- Adding logging to your application -- Writing a log message from the controller -- Filtering log messages -- Log providers -- Provider-specific configuration and filters -- Enabling diagnostics with Application Insights -- Responding gracefully in the event of errors and exceptions -- Adding a correlation identifier to responses -- The developer exception page -- Adding a global exception handler -- Making your APIs discoverable and self-documenting with the OpenAPI standard (Swagger) -- Generating a Swagger file from the ASP.NET Core application -- Adding the Swagger UI to your application -- Sending a request through the Swagger UI -- Generating client code from a Swagger file -- Swagger editor -- Summary -- Chapter 8: Getting Started with Frontend Web Development -- Getting started with frontend web development -- HTML -- CSS -- JavaScript -- Notable progress and future development -- Web components -- WebAssembly -- The Everyday Market app -- Homepage with product listings -- Product page -- New product page -- jQuery -- Everyday Market homepage using jQuery -- Initial layout -- REST API access -- Menu item template -- Category menu items query -- Product item template -- Product cards query -- Busy indicator -- Summary -- Chapter 9: Getting Started with TypeScript -- TypeScript -- The TypeScript compiler -- Types -- Basic types -- Arrays -- Enums -- Objects -- Functions -- Type inference -- Type casting -- Type aliasing -- Interfaces -- Extending interfaces -- Classes -- Access modifiers -- Members -- Class inheritance and interface implementation -- Modules -- Decorators -- Summary -- Further reading -- Chapter 10: App Development with Angular -- Angular overview -- Building blocks -- Angular CLI -- Setup and common commands -- Linting code.
Running tests -- Running the project -- Key app parts -- Modules -- Components -- Header component -- Global styles -- Assets -- Category-menu-item component -- category-menu component -- products-page component -- Data binding -- Interpolation binding -- Property binding -- Event binding -- Two-way binding -- Component interaction -- Input -- ngFor -- Output -- Injectable services -- HTTP -- Busy indicator -- ngIf -- Distribution -- Environments -- Summary -- Chapter 11: Implementing Routing and Forms -- Client-side routing -- Using Angular Router -- Implementing a routed page -- Implementing template-driven forms in Angular -- Using Angular's ngModel directive -- Implementing form validation -- Element references -- Summary -- Chapter 12: App Development with React -- React overview -- Building blocks -- Creating a React app -- Key app parts -- Components -- Render function -- JSX -- Using JSX -- Header component -- Props -- State -- setState -- Stateless functional components -- CategoryMenu -- List rendering -- Product listing -- Busy indicator -- Conditional rendering -- Summary -- Chapter 13: App Development with Vue -- Vue.js overview -- Building blocks -- Vue CLI -- Key app parts -- Components -- Single file components -- Header component -- Global styles -- Assets -- Data binding and component interaction -- Component definition object -- Props -- Interpolation binding -- Property binding -- Data -- Methods -- Events -- Computed -- The category menu -- List rendering -- Product listing -- Busy indicator -- Conditional rendering -- Summary -- Chapter 14: Moving Your Solution to the Cloud -- What is cloud computing? -- Virtualization and automation -- Cloud service models -- Working with Microsoft Azure -- Creating a Microsoft Azure account -- Getting familiar with the portal and with the command line -- The Azure portal -- Azure portal blades.
Using the Azure CLI -- The Azure account and resources model -- Azure Resource Manager -- Resource groups -- ARM templates -- Pricing and billing -- Summary -- Chapter 15: Deploying to Microsoft Azure -- Creating a production environment with Azure App Service -- App Service plan -- Creating your App Service -- Linking a SQL server database to the application -- Choosing an Azure SQL pricing tier -- Deploying the GiveNTake backend service from Visual Studio -- Creating an automated build and release pipeline in Azure DevOps -- Creating a build pipeline -- Creating a release pipeline that will deploy to Azure -- Configure the release pipeline artifact -- Configure the release pipeline stage -- Deploying the GiveNTake frontend to Azure App Service -- Configuring Azure App Service to work with an Angular application -- Creating a build pipeline for the Angular app -- Creating a release pipeline for the Angular app -- Summary -- Chapter 16: Taking Advantage of Cloud Services -- Scaling your service -- Scaling up your App Service -- Scaling out your App Service -- Autoscaling -- Cloud Diagnostics with Application Insights -- Connecting Azure Application Insights to your App Service -- Connecting the ASP.NET Core logger to Azure Application Insights -- Setting the Instrumentation Key in Application settings -- Analyzing Application Insights telemetry -- End-to-end transaction analysis -- Advanced querying and visualizing with Analytics -- Application map -- Testing in production with Deployment slots -- Deploying to a Deployment slot -- Swapping between Deployment slots -- Testing in production -- Summary -- Other Books You May Enjoy -- Index.
Summary: In this book, you'll build a complete system with both back-end and front-end products, including ASP.NET Core, Entity Framework, TypeScript, Angular, React, Vue, and Azure. This book covers more than just implementation, as you gain additional knowledge in more relevant areas, including deployment, monitoring, and debugging.
No physical items for this record

Cover -- Title Page -- Copyright and Credits -- PacktPub.com -- Contributors -- Table of Contents -- Preface -- Chapter 1: Becoming a Full-Stack .NET Developer -- The full-stack developer -- Full-stack development -- Backend fundamentals -- Hypertext Transfer Protocol -- HTTP is a stateless protocol -- HTTP/2 -- Representational State Transfer -- ASP.NET Core -- Frontend fundamentals -- Hypertext Markup Language -- CSS -- JavaScript -- TypeScript -- JavaScript frontend frameworks -- Angular -- React -- Vue.js -- Summary -- Chapter 2: Setting Up Your Development Environment -- Visual Studio -- Installing Visual Studio Community -- Node.js and npm -- Installing Node.js -- TypeScript -- Installing TypeScript -- Google Chrome -- Fiddler -- Installing Fiddler -- Summary -- Chapter 3: Creating a Web Application with ASP.NET Core -- ASP.NET Core overview -- .NET Core -- Open source -- Lightweight and fast -- Modular -- Host anywhere -- Creating an ASP.NET Core application -- Default files in an ASP.NET Core project -- Predefined project templates -- The Startup class -- Code execution order -- Different startups for different environments -- Changing the Startup class name -- Serving static files -- The content root and web root folders -- Setting the server to serve static files -- Serving default documents -- Configuring the available MIME types -- Getting familiar with the ASP.NET Core MVC framework -- The MVC pattern -- MVC in SPAs -- Adding MVC to ASP.NET Core -- Controllers -- Views -- View files and their location -- Creating a view -- Routing -- Adding routes -- Adding routes via UseMvc -- Adding routes via route attributes -- Routing in SPAs -- Summary -- Chapter 4: Building REST APIs with ASP.NET Core Web API -- Overview - REST APIs with ASP.NET Core API -- Creating a simple API -- Inspecting your APIs using Fiddler and Postman -- Fiddler.

Postman -- Routing -- Conventional routing -- Defining a new route template -- Attribute-based routing -- Parameterizing the route template -- Default values -- Constraints -- The model -- Model binding -- Query strings -- Message body -- Header values -- Model validation -- Generating a response of different types -- Explicit return type -- IActionResult and ActionResult&lt -- T&gt -- -- Asynchronous actions -- Controller response helper methods -- Summary -- Chapter 5: Persisting Data with Entity Framework -- Installing Entity Framework Core -- Creating your data model -- Defining the entities -- The DbContext -- Configuring the model mapping -- Configuring the database connection with DbContextOptions&lt -- TContext&gt -- -- Creating a database with EF Core migrations -- Creating a new migration -- Adding automatic migrations -- Connecting to the database -- Adding seed data -- Saving data -- Updating and deleting objects -- Querying data -- Loading related entities -- Creating conditional queries with the IQueryable deferred execution -- Mapping the API results to DTOs -- Mapping entities to DTOs with AutoMapper -- Summary -- Chapter 6: Securing the Backend Server -- Authenticating and authorizing application users -- Adding identity management entities to your data model -- Enabling the identity infrastructure -- Enabling token-based authentication with JSON Web Token -- The authentication and authorization flow -- Creating a user registration API -- Implementing the login functionality and generating a JWT -- Adding user claims -- Configuring your backend to always require authentication -- Configuring an action to allow anonymous access -- Controlling access to APIs with authorization -- Adding claims that can be used for authorization -- Authorizing users by their role -- Creating an authorization policy.

Enabling Cross-Origin Resource Sharing -- Summary -- Chapter 7: Troubleshooting and Debugging -- Adding logging to your application -- Writing a log message from the controller -- Filtering log messages -- Log providers -- Provider-specific configuration and filters -- Enabling diagnostics with Application Insights -- Responding gracefully in the event of errors and exceptions -- Adding a correlation identifier to responses -- The developer exception page -- Adding a global exception handler -- Making your APIs discoverable and self-documenting with the OpenAPI standard (Swagger) -- Generating a Swagger file from the ASP.NET Core application -- Adding the Swagger UI to your application -- Sending a request through the Swagger UI -- Generating client code from a Swagger file -- Swagger editor -- Summary -- Chapter 8: Getting Started with Frontend Web Development -- Getting started with frontend web development -- HTML -- CSS -- JavaScript -- Notable progress and future development -- Web components -- WebAssembly -- The Everyday Market app -- Homepage with product listings -- Product page -- New product page -- jQuery -- Everyday Market homepage using jQuery -- Initial layout -- REST API access -- Menu item template -- Category menu items query -- Product item template -- Product cards query -- Busy indicator -- Summary -- Chapter 9: Getting Started with TypeScript -- TypeScript -- The TypeScript compiler -- Types -- Basic types -- Arrays -- Enums -- Objects -- Functions -- Type inference -- Type casting -- Type aliasing -- Interfaces -- Extending interfaces -- Classes -- Access modifiers -- Members -- Class inheritance and interface implementation -- Modules -- Decorators -- Summary -- Further reading -- Chapter 10: App Development with Angular -- Angular overview -- Building blocks -- Angular CLI -- Setup and common commands -- Linting code.

Running tests -- Running the project -- Key app parts -- Modules -- Components -- Header component -- Global styles -- Assets -- Category-menu-item component -- category-menu component -- products-page component -- Data binding -- Interpolation binding -- Property binding -- Event binding -- Two-way binding -- Component interaction -- Input -- ngFor -- Output -- Injectable services -- HTTP -- Busy indicator -- ngIf -- Distribution -- Environments -- Summary -- Chapter 11: Implementing Routing and Forms -- Client-side routing -- Using Angular Router -- Implementing a routed page -- Implementing template-driven forms in Angular -- Using Angular's ngModel directive -- Implementing form validation -- Element references -- Summary -- Chapter 12: App Development with React -- React overview -- Building blocks -- Creating a React app -- Key app parts -- Components -- Render function -- JSX -- Using JSX -- Header component -- Props -- State -- setState -- Stateless functional components -- CategoryMenu -- List rendering -- Product listing -- Busy indicator -- Conditional rendering -- Summary -- Chapter 13: App Development with Vue -- Vue.js overview -- Building blocks -- Vue CLI -- Key app parts -- Components -- Single file components -- Header component -- Global styles -- Assets -- Data binding and component interaction -- Component definition object -- Props -- Interpolation binding -- Property binding -- Data -- Methods -- Events -- Computed -- The category menu -- List rendering -- Product listing -- Busy indicator -- Conditional rendering -- Summary -- Chapter 14: Moving Your Solution to the Cloud -- What is cloud computing? -- Virtualization and automation -- Cloud service models -- Working with Microsoft Azure -- Creating a Microsoft Azure account -- Getting familiar with the portal and with the command line -- The Azure portal -- Azure portal blades.

Using the Azure CLI -- The Azure account and resources model -- Azure Resource Manager -- Resource groups -- ARM templates -- Pricing and billing -- Summary -- Chapter 15: Deploying to Microsoft Azure -- Creating a production environment with Azure App Service -- App Service plan -- Creating your App Service -- Linking a SQL server database to the application -- Choosing an Azure SQL pricing tier -- Deploying the GiveNTake backend service from Visual Studio -- Creating an automated build and release pipeline in Azure DevOps -- Creating a build pipeline -- Creating a release pipeline that will deploy to Azure -- Configure the release pipeline artifact -- Configure the release pipeline stage -- Deploying the GiveNTake frontend to Azure App Service -- Configuring Azure App Service to work with an Angular application -- Creating a build pipeline for the Angular app -- Creating a release pipeline for the Angular app -- Summary -- Chapter 16: Taking Advantage of Cloud Services -- Scaling your service -- Scaling up your App Service -- Scaling out your App Service -- Autoscaling -- Cloud Diagnostics with Application Insights -- Connecting Azure Application Insights to your App Service -- Connecting the ASP.NET Core logger to Azure Application Insights -- Setting the Instrumentation Key in Application settings -- Analyzing Application Insights telemetry -- End-to-end transaction analysis -- Advanced querying and visualizing with Analytics -- Application map -- Testing in production with Deployment slots -- Deploying to a Deployment slot -- Swapping between Deployment slots -- Testing in production -- Summary -- Other Books You May Enjoy -- Index.

In this book, you'll build a complete system with both back-end and front-end products, including ASP.NET Core, Entity Framework, TypeScript, Angular, React, Vue, and Azure. This book covers more than just implementation, as you gain additional knowledge in more relevant areas, including deployment, monitoring, and debugging.

Description based on publisher supplied metadata and other sources.

Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2022. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.