Skip to content
This repository has been archived by the owner on Apr 6, 2023. It is now read-only.

docs(introduction): add nuxt key features to the introduction #8013

Merged
merged 4 commits into from Oct 6, 2022
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
77 changes: 67 additions & 10 deletions docs/content/1.getting-started/1.introduction.md
Expand Up @@ -4,11 +4,11 @@ titleTemplate: '%s'
description: Nuxt's goal is to make web development intuitive and performant with a great DX in mind.
---

# What is Nuxt?
# Introduction

Nuxt's goal is to make web development intuitive and performant with a great developer experience in mind.
Nuxt is an open-source framework under MIT license for building modern and performant web applications that can be deployed on any platform running JavaScript.

## Why Nuxt?
## What is Nuxt?

To understand what Nuxt is, we need to understand what we need to create a modern application:
::list{type=success}
Expand All @@ -22,11 +22,68 @@ To understand what Nuxt is, we need to understand what we need to create a moder

This is only the tip of the iceberg, imagine having to set up all of this for your project, make it work, and then, maintain it over time. We have been doing this since October 2016, tuning all the configurations to provide the best optimization and performance for any Vue application.

Nuxt takes care of this so you can focus on what matters: **creating your web application**.
Nuxt takes care of this and provides both frontend and backend functionalities so you can focus on what matters: **creating your web application**.
Atinux marked this conversation as resolved.
Show resolved Hide resolved

On top of this setup, Nuxt provides a [directory structure](/guide/directory-structure) to follow, focused on specific features to keep your focus on creating, not configuring.
### View engine

## How Does It Work?
Nuxt uses Vue.js as a view engine. The entire Vue 3 capabilities are available in Nuxt. You can read the details of the Vue integration with Nuxt in the [Key Concepts section](/concepts/vuejs-development).
Atinux marked this conversation as resolved.
Show resolved Hide resolved

### Automation and conventions

Nuxt uses conventions and an opinionated directory structure to automate repetitive tasks and allow developers to focus on what matters. The configuration file can still customize and override its default behaviors.

- Auto-imports
Atinux marked this conversation as resolved.
Show resolved Hide resolved
- File-system routing and API layer
- Data-fetching utilities
- Zero-config Typescript support
- Configured build tools

::alert{type="info"}
Discover more in the [Key concepts section](/concepts/auto-imports).
::

### Rendering modes

Nuxt offers different rendering modes to accomodate various use-cases:

- Universal rendering (Server-side rendering and hydration)
- Client-side only rendering
- Full Static site generation
- Hybrid rendering (per-routes caching strategy)

::alert{type="info"}
Read more about [Nuxt rendering modes](/concepts/rendering-modes).
::

### Server engine

The Nuxt server engine [Nitro](https://nitro.unjs.io) unlocks new full-stack capabilities.

In development, it uses Rollup and Node.js workers for your server code and context isolation. It also generates your server API by reading files in `server/api/` and server middleware from `server/middleware/`.

In production, Nitro builds your app and server into one universal `.output` directory. This output is light: minified and removed from any Node.js modules (except polyfills). You can deploy this output on any system supporting JavaScript, from Node.js, Serverless, Workers, Edge-side rendering or purely static.

::alert{type="info"}
Read more about [Nuxt server engine](/guide/concepts/server-engine).
::

### Production-ready

A Nuxt application can be deployed on a Node or Deno server, pre-rendered to be hosted in static environments, or deployed to serverless and edge providers.

::alert{type="info"}
Discover more in the [deployment section](/getting-started/deployment).
::

### Modular

A module system allows to extend Nuxt with custom features and integrations with third-party services.

::alert{type="info"}
Discover more about [modules](/concepts/modules).
::

### Architecture

Nuxt is composed of different [core packages](https://github.com/nuxt/framework/tree/main/packages):
::list{type=info}
Expand All @@ -41,16 +98,16 @@ Nuxt is composed of different [core packages](https://github.com/nuxt/framework/

We recommend reading each concept to have a full vision of Nuxt capabilities and the scope of each package.

## Are You Nuxt?
## Are you Nuxt?

Nuxt is the backbone of your Vue.js project, giving structure to build your project with confidence while keeping flexibility.

Extendable with a strong module ecosystem and hooks engine, it makes it easy to connect your REST or GraphQL endpoints, favorite CMS, CSS frameworks and more. PWA and AMP support is only a module away from your Nuxt project.

::alert{type=info icon=πŸ‘}
Ready to try? Head over to the [Installation section](/getting-started/installation).
Ready to try? Head over to the [Installation section](/getting-started/quick-start).
::

### Are You *Courageously* Nuxt?
### Contribute

Take a stab at an open [issue](https://github.com/nuxt/framework/issues). This is the best way to learn Nuxt, by actually diving into the code. You may even bring an approach or alternative solution that makes Nuxt even better! So, what are you waiting for? Let's go!
Do you want to get involved in the evolution of Nuxt? [Follow the contribution guide πŸ‘‰](/community/contribution)