ASP.NET Core and Vue.js - Devlin Basilan Duldulao - E-Book

ASP.NET Core and Vue.js E-Book

Devlin Basilan Duldulao

0,0
34,79 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.
Mehr erfahren.
Beschreibung

Vue.js 3 is faster and smaller than the previous version, and TypeScript’s full support out of the box makes it a more maintainable and easier-to-use version of Vue.js. Then, there's ASP.NET Core 5, which is the fastest .NET web framework today. Together, Vue.js for the frontend and ASP.NET Core 5 for the backend make a powerful combination.
This book follows a hands-on approach to implementing practical methodologies for building robust applications using ASP.NET Core 5 and Vue.js 3. The topics here are not deep dive and the book is intended for busy .NET developers who have limited time and want a quick implementation of a clean architecture with popular libraries.
You’ll start by setting up your web app’s backend, guided by clean architecture, command query responsibility segregation (CQRS), mediator pattern, and Entity Framework Core 5. The book then shows you how to build the frontend application using best practices, state management with Vuex, Vuetify UI component libraries, Vuelidate for input validations, lazy loading with Vue Router, and JWT authentication. Later, you’ll focus on testing and deployment. All the tutorials in this book support Windows 10, macOS, and Linux users.
By the end of this book, you’ll be able to build an enterprise full-stack web app, use the most common npm packages for Vue.js and NuGet packages for ASP.NET Core, and deploy Vue.js and ASP.NET Core to Azure App Service using GitHub Actions.

Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:

EPUB
MOBI

Seitenzahl: 383

Veröffentlichungsjahr: 2021

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



ASP.NET Core and Vue.js

Build real-world, scalable, full-stack applications using Vue.js 3, TypeScript, .NET 5, and Azure

Devlin Basilan Duldulao

BIRMINGHAM—MUMBAI

ASP.NET Core and Vue.js

Copyright © 2021 Packt Publishing

All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.

Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book.

Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.

Group Product Manager: Pavan Ramchandani

Publishing Product Manager: Ashitosh Gupta

Senior Editor: Hayden Edwards

Content Development Editor: Abhishek Jadhav

Technical Editor: Joseph Aloocaran

Copy Editor: Safis Editing

Project Coordinator: Manthan Patel

Proofreader: Safis Editing

Indexer: Pratik Shirodkar

Production Designer: Roshan Kawale

First published: June 2021

Production reference: 1140621

Published by Packt Publishing Ltd.

Livery Place

35 Livery Street

Birmingham

B3 2PB, UK.

ISBN 978-1-80020-669-4

www.packt.com

I'd like to thank all the people who have contributed to my achievements in life.

To my loving wife, Ruby Jane, for supporting me to achieve my career goals, starting from career shifting to being a full-stack web/mobile engineer and writing a technical book. This wouldn't be possible without you.

To my mother, Lucy Basilan, and my father, Alberto Duldulao, for constantly reminding me that I can do anything. Salamat sa inyo (thank you in Filipino).

To Inmeta, the company that I'm working for right now, and to my managers, Mohammad "Moa" Yassin and Jon Sandvand, for giving me a chance to share my skills here in Scandanavia. Takk til dere alle (thanks to all of you in Norwegian).

To the developer communities in Manila and Oslo, where I usually do talks, presentations, and demos of what's new in web, mobile, and cloud technologies. You guys contributed to my growth.

And to the Packt team, Hayden, Divij, Abhishek, Ashwin, Ashitosh, Manthan, Deepesh, and all those involved in this project. Thank you for trusting me to write my first ever book.

– Devlin Basilan Duldulao

Contributors

About the author

Devlin Basilan Duldulao is a full-stack engineer with over 8 years of web, mobile, and cloud development experience. He has been a recipient of Microsoft's Most Valuable Professional (MVP) award since 2018 and earned the title of Auth0 ambassador for his passion for sharing best practices in application securities. Devlin has passed some prestigious exams in software and cloud development such as MSCD, Azure Associate Developer, AWS Associate Developer, and Terraform Associate.

Perhaps it was serendipity that made him venture into the coding world after a short stint in the medical field; however, once he stepped into it, he fell for it hook, line, and sinker – but in the right way, he claims. Devlin often finds himself engrossed in solving coding problems and developing apps, even to the detriment of his once-active social life.

One of the things that motivates him is ensuring the long-term quality of his code, including looking into ways to transform legacy code into more maintainable and scalable applications.

Devlin enjoys tackling challenging projects or applications for high-level clients and customers, as he currently does at his company based in Norway. He also provides training and consultation for international corporations.

One of his other interests is giving talks at IT conferences worldwide and meeting unique people in the industry.

Devlin is currently based in Oslo, Norway, with his wife. He is a senior software engineer at Inmeta Consulting Company, a subsidiary of the Crayon Group of Companies.

About the reviewer

Sebastian Nilsson is a professional problem-solver with a proven track record of improving software, processes, and people at multiple companies, including start-ups, mid-sized companies, and international corporations. His expertise is within Azure, .NET, the web, DevOps, Agile, and leadership.

Going from a freelancing technical expert to walking the complete path from full-stack web developer to the role of CTO, he has gathered extensive knowledge and experience within all the steps of software engineering and product development.

Having a wide range of experiences has given him a unique insight into building great technical cultures and improving creativity, productivity, and work processes, which benefits both the organization and the people in it.

First off, thank you to Apurv, Manthan, and Packt Publishing for allowing me to be part of the work on the book and for having the patience to let me use my full registry of skills in the technical feedback on this based book.

Thank you to my wife and family for supporting me with my late evenings and weekends of reading the book and writing the feedback.

All this was made possible by my friend, Rouzbeh Delavari, who nudged me and coached me into an actual career in software development, not just a hobby.

Thanks to all my employers throughout my career, who have allowed me to grow my skills, knowledge, and experience. Reviewing this book gave me great insight into how diverse, but also deep, my experiences have actually been.

Table of Contents

ASP.NET Core and Vue.js

Contributors

About the author

About the reviewer

Preface

Who this book is for

What this book covers

To get the most out of this book

Download the example code files

Download the color images

Conventions used

Get in touch

Reviews

Section 1: Getting Started

Chapter 1: Getting Started with ASP.NET Core and Vue.js

Technical requirements

Introducing ASP.NET Core

What's new in .NET?

What's new in ASP.NET Core?

Breaking changes in migration from ASP.NET Core 3.1 to ASP.NET Core 5.0

When to use ASP.NET Core

Why should you learn ASP.NET Core?

Introducing Vue.js

What's new in Vue.js?

Why is learning Vue.js the right choice?

Summary

Chapter 2: Setting Up a Development Environment

Technical requirements

Installing and configuring VS Code, Visual Studio 2019, VS for Mac, and Rider

VS Code

Visual Studio 2019

Visual Studio for Mac

Rider

Installing .NET SDK, Node.js, and npm

.NET SDK

Node and npm

Setting up the .NET Core CLI and Vue CLI

Installing Postman and Vue DevTool

Installing Entity Framework Core tools

Installing a database provider

Installing Git version control

Summary

Section 2: Backend Development

Chapter 3: Starting Your First ASP.NET Core Project

Technical requirements

Creating an ASP.NET Core project

First command – dotnet new sln

Second command – dotnet new webapi --name Web

Third command – dotnet sln add [csproj-file-location]

The last command to run – dotnet run Web.csproj

Understanding the Program.cs file

Demystifying the Startup.cs file

Getting started with Swashbuckle

Introducing OpenAPI and Swagger

Built-in Swagger integration

Swagger documentation and Swagger UI in action

Summary

Chapter 4: Applying Clean Architecture to an ASP.NET Core Solution

Technical requirements

Introducing clean architecture

The core layer – directory

Domain – project

Application – project

Shared Kernel – NuGet project

The infrastructure layer – directory

Data – project

Shared – project

The presentation layer – directory

WebApi – project

client-app – non-project web application

Managing tests – directories

Unit test – project

Integration test – project

Structuring a clean architecture solution

Visual Studio 2019

Visual Studio for Mac

Rider

Summary

Chapter 5: Setting Up DbContext and Controllers

Technical requirements

Writing entities and enums

Creating entities and enums for the Travel Tour application

Setting up a database, EF Core, and DbContext

EF Core

DbContext

Setup

Writing controllers and routes

TourPackagesController

TourListsController

Testing controllers with Swagger UI

Summary

Chapter 6: Diving into CQRS

Technical requirements

What is CQRS?

What is the mediator pattern?

What is the MediatR package?

Why learn CQRS?

When to use CQRS

Drawbacks of CQRS

Summary

Chapter 7: CQRS in Action

Technical requirements

Implementing CQRS

Adding the MediatR package

Creating MediatR pipeline behaviors

Using FluentValidation

Using AutoMapper

Writing queries

Writing commands

Writing IServiceCollection

Summary

Chapter 8: API Versioning and Logging in ASP.NET Core

Technical requirements

API versioning

What is API versioning?

API versioning strategies

Deprecating an API

API versioning integration with OpenAPI

Logging in ASP.NET Core

Logging in ASP.NET Core

What is structured logging?

Serilog versus NLog

Configuring Serilog

Summary

Chapter 9: Securing ASP.NET Core

Technical requirements

Understanding ASP.NET Core Identity

ASP.NET Core Identity features

Introducing IdentityServer4

Customer identity and access management (CIAM)

Authentication implementation using JWT

Implementing token-based authentication

Checking Swagger UI

Summary

Chapter 10: Performance Enhancement with Redis

Technical requirements

In-memory caching in ASP.NET Core

Enabling in-memory caching in ASP.NET Core

Distributed caching

Setting up and running Redis

For Windows users

For macOS users

For Linux or Ubuntu users

Implementing Redis in ASP.NET Core

Code update

Summary

Section 3: Frontend Development

Chapter 11: Vue.js Fundamentals in a Todo App

Technical requirements

Starting a project using the Vue CLI

Files and folders generated by the Vue CLI

Getting started with a Vue component

Writing a Vue component

Common features in a Vue component

Writing local states in a Vue component

Adding a function in a Vue component

Looping in an array in a Vue component

If-else conditions in a Vue component

Creating and passing props

Life cycle hooks in a Vue component

Summary

Further reading

Chapter 12: Using a UI Component Library and Creating Routes and Navigations

Technical requirements

Using a third-party UI component library

Setting up a Vue.js project and installing a UI component library

Other third-party UI libraries

Adding navigation bars

Writing page components

Setting up Vue Router with lazy loading and eager loading

Summary

Chapter 13: Integrating a Vue.js Application with ASP.NET Core

Technical requirements

Putting ASP.NET Core Web API and a Vue.js app together as a single unit

Introducing Cross-Origin Resource Sharing or CORS

Enabling a CORS policy in ASP.NET Core

Summary

Chapter 14: Simplifying State Management with Vuex and Sending GET HTTP Requests

Technical requirements

Understanding complex state management

Understanding global state

Sending an HTTP request in Vue.js

Setting up state management using Vuex

Step 1 – Writing a store

Step 2 – Writing a module

Step 3 – Writing a module if we are using TypeScript

Step 4 – Writing an API service

Step 5 – Writing an action type

Step 6 – Writing an action

Step 7 – Writing a state

Step 8 – Writing a mutation

Step 9 – Writing a getter

Step 10 – Updating the store by inserting the module

Step 11 – Updating components with mapGetters and mapActions

Summary

Chapter 15: Sending POST, DELETE, and PUT HTTP Requests in Vue.js with Vuex

Technical requirements

Removing a tour list using Axios and Vuex

Adding a tour list using Axios and Vuex

Using a non-async action in Vuex

Removing a tour package using Axios and Vuex

Adding a tour package using Axios and Vuex

Updating a tour package using Axios and Vuex

Summary

Chapter 16: Adding Authentication in Vue.js

Technical requirements

Setting up Vuex for authentication

Writing an auth guard

HTTP interceptor

Auto login

Summary

Section 4: Testing and Deployment

Chapter 17: Input Validations in Forms

Technical requirements

Installing an input validation library

Using validators in forms

Summary

Chapter 18: Writing Integration Tests Using xUnit

Technical requirements

Getting started with automated testing

Benefits of automated testing

Installing MS SQL Server in a Docker container

Understanding xUnit

Features of xUnit

Using xUnit in ASP.NET Core

Understanding unit testing

Writing unit tests

Understanding integration testing

Writing integration tests

Summary

Chapter 19: Automatic Deployment Using GitHub Actions and Azure

Technical requirements

Introducing GitHub Actions – a CI/CD tool

Understanding GitHub Actions

GitHub Actions for .NET apps

Understanding where to deploy

When to deploy to Azure App Service?

When to deploy to Azure Functions?

When to deploy to Azure Static Web Apps?

When to deploy to Azure Kubernetes Service?

Automated deployment to Azure App Service using GitHub Actions

Syntax of the workflow file

Creating an Azure App Service instance in the Azure portal

Summary

Why subscribe?

Other Books You May Enjoy

Packt is searching for authors like you

Leave a review - let other readers know what you think

Preface

Vue.js 3 is faster and smaller than the previous version, and TypeScript's full support out of the box makes it a more maintainable and easier-to-use version of Vue.js. Then, there's ASP.NET Core 5, which is the fastest .NET web framework today. Together, Vue.js for the frontend and ASP.NET Core 5 for the backend make a powerful combination. This book follows a hands-on approach to implementing practical methodologies for building robust applications using ASP.NET Core 5 and Vue.js 3. The topics here are not in depth, and the book is intended for busy .NET developers who have limited time and want a quick implementation of a clean architecture with popular libraries.

You'll start by setting up your web app's backend, guided by clean architecture, Command Query Responsibility Segregation (CQRS), mediator patterns, and Entity Framework Core 5. The book then shows you how to build the frontend application using best practices, state management with Vuex, Vuetify UI component libraries, Vuelidate for input validations, lazy loading with Vue Router, and JWT authentication. Later, you'll focus on testing and deployment, performing tasks such as load testing in ASP.NET Core 5 and deploying containerized apps to the cloud. All the tutorials in this book support Windows 10, macOS, and Linux users.

By the end of this book, you'll be able to build an enterprise full-stack web app, use the most common npm packages for Vue.js and NuGet packages for ASP.NET Core, and deploy Vue.js and ASP.NET Core to Azure App Service using GitHub Actions.

Who this book is for

This book is for busy .NET developers who want to get started with Vue.js and build full-stack real-world enterprise web applications. Developers looking to build a proof-of-concept application quickly and pragmatically using their existing knowledge of ASP.NET Core, as well as developers who want to write readable and maintainable code using TypeScript and the C# programming language will also find this book useful. The book assumes intermediate-level .NET knowledge, along with an understanding of C# programming, JavaScript, and ECMAScript.

What this book covers

Chapter 1, Getting Started with ASP.NET Core and Vue.js, serves as a short recap regarding the current state of ASP.NET Core and Vue.js to give you a glimpse of what lies ahead in the web development of ASP.NET Core and Vue.js.

Chapter 2, Setting Up a Development Environment, will teach you how to set up your computer's development environment to build backend and frontend web applications. You will go through different IDEs and text editors to write code and make sure everything has been set up before proceeding with the app development.

Chapter 3, Starting Your First ASP.NET Core Project, shows the step-by-step process of creating an ASP.NET Core 5 Web API project. This chapter also describes the default folders and files in a newly created ASP.NET Core 5 Web API, particularly Program.cs and Start.cs, including the dependency services and middleware.

Chapter 4, Applying Clean Architecture to an ASP.NET Core Solution, teaches you the real-world organization of files, folders, projects, and ASP.NET Core app dependencies, preparing you for future big and scalable ASP.NET Core 5 enterprise applications.

Chapter 5, Setting Up DbContext and Controllers, will teach you how to set up a database, Entity Framework Core, DbContext, and how to write entities and enums in a clean architectural way. This chapter also teaches you how to write controllers and routes with Swagger UI to test controllers.

Chapter 6, Diving into CQRS, is all about the CQRS pattern, the mediator pattern, and the popular MediatR NuGet package for CQRS and pipeline behavior.

Chapter 7, CQRS in Action, shows you how to implement CQRS, use FluentValidation and AutoMapper, and write queries, commands, and IServiceCollection.

Chapter 8, API Versioning and Logging in ASP.NET Core, teaches you about API versioning, which is sometimes necessary to create maintainable APIs but can be problematic if not done correctly.

Chapter 9, Securing ASP.NET Core, discusses the integration of the ASP.NET Core 5 backend with the Vue.js 3 frontend. The chapter explores authentication and authorization in the ASP.NET Core 5 Web API by creating and handling JWT. This chapter then explains how to use JWT builder, writing custom JWT middleware, developing basic authentication, and adding role-based authorizations on GET, POST, PUT, and DELETE methods.

Chapter 10, Performance Enhancement with Redis, covers in-memory caching in ASP.NET Core, distributed caching, and implementing Redis.

Chapter 11, Vue.js Fundamentals in a Todo App, is entirely devoted to Vue.js, the Node Package Manager (npm), and the Vue CLI. These tools help developers to scaffold Vue.js projects with different configurations based on the user's options. This chapter also describes the Vue component's features and what you can do with them.

Chapter 12, Using a UI Component Library and Creating Routes and Navigations, teaches you how to use open source UI libraries built by different Vue.js communities. You will use one of the popular libraries in Vue.js, which will save you from spending countless hours building your components. Then you will set up the navigation and routing of your Vue.js 3 app with best practices in mind.

Chapter 13, Integrating a Vue.js Application with ASP.NET Core, explains how to put the ASP.NET Core Web API and the Vue.js application together as a single unit. You will look at how the CORS policy works and how to enable it.

Chapter 14, Simplifying State Management with Vuex and Sending GET HTTP Requests, is about sending HTTP requests and solving the most common problem in big web applications—the problem of syncing the state of a component with another component. In large and complex applications, you need a tool that centralizes your application's state and makes the data flow transparent and predictable.

Chapter 15, Sending POST, DELETE, and PUT HTTP Requests in Vue.js with Vuex, shows the step-by-step process of synchronizing fetching, removing, creating, and updating data in the frontend and backend. This chapter explains the effective state management of a Vue.js 3 application in the easiest way possible.

Chapter 16, Adding Authentication in Vue.js, explains the setting up of Vuex for authentication and writing an Auth Guard. This chapter also covers writing HTTP interceptors and setting up auto-login in the app.

Chapter 17, Input Validations in Forms, discusses the installation of an input validation library called Vuelidate and explains how to use validators in forms to prevent users from typing invalid inputs.

Chapter 18, Writing Integration Tests Using xUnit, explores ways to efficiently test ASP.NET Core 5 and Vue.js applications. This chapter serves as a guide for detecting bugs in applications before users use them.

Chapter 19, Automatic Deployment Using GitHub Actions and Azure, explains what GitHub Actions is, where to deploy apps, and how to implement automated deployment to Azure App Service using GitHub Actions.

To get the most out of this book

You can install Node.js, VS Code, Vue CLI, and the .NET 5 SDK or wait for further instructions in the relevant chapters.

Please take note of the required OS versions of your machine and the required versions of the software.

If you are using the digital version of this book, we advise you to type the code yourself or access the code via the GitHub repository (link available in the next section). Doing so will help you avoid any potential errors related to the copying and pasting of code.

Download the example code files

You can download the example code files for this book from GitHub at https://github.com/PacktPublishing/ASP.NET-Core-and-Vue.js. In case there's an update to the code, it will be updated on the existing GitHub repository.

We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!

Download the color images

We also provide a PDF file that has color images of the screenshots/diagrams used in this book. You can download it here: https://static.packt-cdn.com/downloads/9781800206694_ColorImages.pdf.

Conventions used

There are a number of text conventions used throughout this book.

Code in text: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: "Mount the downloaded WebStorm-10*.dmg disk image file as another disk in your system."

A block of code is set as follows:

html, body, #map {

height: 100%;

margin: 0;

padding: 0

}

When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:

[default]

exten => s,1,Dial(Zap/1|30)

exten => s,2,Voicemail(u100)

exten => s,102,Voicemail(b100)

exten => i,1,Voicemail(s0)

Any command-line input or output is written as follows:

$ mkdir css

$ cd css

Bold: Indicates a new term, an important word, or words that you see onscreen. For example, words in menus or dialog boxes appear in the text like this. Here is an example: "Select System info from the Administration panel."

Tips or important notes

Appear like this.

Get in touch

Feedback from our readers is always welcome.

General feedback: If you have questions about any aspect of this book, mention the book title in the subject of your message and email us at [email protected].

Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you would report this to us. Please visit www.packtpub.com/support/errata, selecting your book, clicking on the Errata Submission Form link, and entering the details.

Piracy: If you come across any illegal copies of our works in any form on the Internet, we would be grateful if you would provide us with the location address or website name. Please contact us at [email protected] with a link to the material.

If you are interested in becoming an author: If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, please visit authors.packtpub.com.

Reviews

Please leave a review. Once you have read and used this book, why not leave a review on the site that you purchased it from? Potential readers can then see and use your unbiased opinion to make purchase decisions, we at Packt can understand what you think about our products, and our authors can see your feedback on their book. Thank you!

For more information about Packt, please visit packt.com.

Section 1: Getting Started

This section deals with a real-world scenario: how to start a web application project. The following chapters are included in this section:

Chapter 1, Getting Started with ASP.NET Core and Vue.js Chapter 2, Setting Up a Development Environment

Chapter 2: Setting Up a Development Environment

In the last chapter, you learned about ASP.NET Core in a nutshell and its latest features. The same goes for Vue.js; you had an overview of Vue.js and its most recently added features in Vue.js 3.

This chapter will teach you how to set up your computer's development environment to build backend and frontend web applications. We will go through different IDEs and text editors to write code and make sure everything has been set up before we proceed with the app development.

Installing everything from the beginning will keep us writing code without interruptions.

In this chapter, we will cover the following topics:

Installing VS Code, Visual Studio 2019, VS for Mac, and RiderInstalling .NET 5 SDK, Node.js, and npmSetting up .NET Core CLI and Vue CLIInstalling Postman and Vue DevToolInstalling Entity Framework Core toolsInstalling different database providersInstalling Git version control

Technical requirements

These are the links to the software you have to install:

Download Visual Studio Code (for Windows, Mac, and Linux): https://code.visualstudio.com/downloadVisual Studio 2019: https://visualstudio.microsoft.com/vs/Visual Studio for Mac: https://visualstudio.microsoft.com/vs/mac/Rider: https://www.jetbrains.com/rider/Download .NET 5.0: https://dotnet.microsoft.com/download/dotnet/5.0Node.js and Node Package Manager: https://nodejs.org/en/Download Postman: https://www.postman.com/downloads/Vue.js DevTools: https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpdVue.js DevTools (Firefox Browser Addadd-ons): https://addons.mozilla.org/en-US/firefox/addon/vue-js-devtools/DB Browser for SQLite: https://sqlitebrowser.org/dl/SQLiteStudioSQLite Studio: https://sqlitestudio.pl/Git source control: https://git-scm.com/

Installing and configuring VS Code, Visual Studio 2019, VS for Mac, and Rider

This section will guide you in installing and configuring the IDE or text editor of your choice. Here is a quick breakdown of what you can use depending on your machine or operating system.

VS Code

Download the VS Code installer by going to https://code.visualstudio.com/download. I would suggest installing VS Code regardless of your machine's OS because this is the ideal text editor that I recommend when writing JavaScript applications.

The editor has built-in support for TypeScript, IntelliSense, formatting, code navigation, and has tons of extensions that you can use. Add the following basic VS extensions after installing VS Code:

Code Spell Check: This is a spelling checker for source code, which helps you avoid bugs caused by typo errors.Prettier: This is a code formatter, which reformats the code of your file on each save.Vetur: This extension gives VS Code features such as syntax-highlighting, snippet, emmet, linting, and IntelliSense for writing Vue.js applications.

This ends the VS Code installation and configuration here. Your VS Code text editor is now set for Vue.js development.

Visual Studio 2019

This IDE is the preferred IDE of every .NET developer when writing applications using C# or F#. Visual Studio 2019 is packed with different features for your needs. The following is a list of the powerful tools in Visual Studio 2019:

Develop: Use IntelliSense for code suggestions if you get stuck.Analyze: Use CodeLens to see changes in your code, unit tests, commit history, and so on.Debug: A breakpoint for inspecting bugs.Test: A test suite viewer so you can easily navigate and organize your tests.Version Control: You have two version control engines to choose from – Git, the default version control, and Team Foundation.Collaborate: Use Live Share to edit and debug the code of your colleagues in real time. This feature is helpful for developers who work remotely.Deploy: Use the Publish button to deploy applications such as ASP.NET Core without leaving Visual Studio.

You should go to https://visualstudio.microsoft.com/vs/ to download the installer. You can choose the community version, which is the free version of Visual Studio.

After downloading, run the installer and only install the parts you need for ASP.NET Core 5 development. Choose the following options: