← Back to Skills Library

Next.js

Information Technology > Programming frameworks

Description

Next.js is a powerful, open-source framework built on top of React.js that enables developers to build server-side rendered and static web applications. It simplifies the process of creating universal or isomorphic apps where code runs both on the client and server side. Next.js provides features like automatic routing, hot code reloading, and optimization out of the box. It also supports dynamic import of JavaScript modules, CSS-in-JS, and has built-in API routes for creating an API endpoint within the same project. With its ability to pre-render pages at build time (Static Site Generation) or request time (Server Side Rendering), it's ideal for SEO-friendly, high-performance websites.

Expected Behaviors

✎
LEVEL 1

Fundamental Awareness

At this level, individuals are expected to have a basic understanding of the Next.js framework and its underlying concepts. They should be familiar with React.js and JavaScript ES6. They should understand the concept of server-side rendering and how it differs from traditional client-side rendering.

🌱
LEVEL 2

Novice

Novices can create a new Next.js application and build pages within it. They should be able to implement routing and use CSS-in-JS with styled-jsx. They should also understand the difference between getInitialProps and getServerSideProps, two key methods in Next.js for fetching data.

🌍
LEVEL 3

Intermediate

Intermediate users can fetch data in Next.js and create dynamic routes. They should understand and be able to implement API routes. They should know how to use environment variables in Next.js and be capable of deploying a Next.js application.

⭐
LEVEL 4

Advanced

Advanced users can optimize performance in Next.js and implement serverless functions. They should understand and be able to use static site generation (SSG). They should be capable of configuring a custom server and implementing authentication in Next.js.

🏆
LEVEL 5

Expert

Experts can handle advanced error handling techniques and implement internationalized routing. They should understand and be able to use incremental static regeneration (ISR). They should be capable of customizing Babel and Webpack configurations and integrating with external APIs and databases.

Micro Skills

✎
LEVEL 1

Fundamental Awareness

Knowing what Next.js is and when to use it
Understanding the basic structure of a Next.js application
Familiarity with the main features of Next.js such as server-side rendering and static site generation
Understanding the benefits of server-side rendering
Familiarity with how server-side rendering works in a Next.js application
Knowing the difference between server-side and client-side rendering
Understanding the basic concepts of React.js such as components, state, and props
Knowing how to create functional components in React.js
Understanding the concept of JSX and its usage in React.js
Understanding the syntax and features of ES6 such as let, const, arrow functions, and classes
Knowing how to use promises and async/await for asynchronous operations
Familiarity with modules in ES6
🌱
LEVEL 2

Novice

Installing Node.js and npm
Setting up a new Next.js project using create-next-app
Understanding the structure of a Next.js project
Creating a new page in the pages directory
Understanding the file-based routing system
Using built-in components like Link and Head
Adding styles to a component using styled-jsx
Understanding the scope of styles with styled-jsx
Using dynamic styles with styled-jsx
Navigating between pages using the Link component
Understanding the difference between shallow and deep routing
Using the useRouter hook for programmatic navigation
Knowing when to use getInitialProps vs getServerSideProps
Fetching data server-side with getServerSideProps
Fetching data on the client-side with getInitialProps
🌍
LEVEL 3

Intermediate

Understanding the use of fetch API
Implementing data fetching with getServerSideProps
Implementing data fetching with getStaticProps
Handling errors during data fetching
Understanding the concept of dynamic routing
Creating dynamic routes using file-based routing
Generating static pages with dynamic routes
Passing data to dynamic routes
Understanding the concept of API routes
Creating API endpoints
Handling HTTP requests and responses
Securing API routes
Understanding the use of environment variables
Setting up environment variables in development
Setting up environment variables in production
Securing sensitive data with environment variables
Understanding deployment options for Next.js
Building the application for production
Deploying the application on Vercel
Deploying the application on other platforms like Netlify or Heroku
⭐
LEVEL 4

Advanced

Implementing code splitting
Understanding and using the Next.js Image component
Using prefetching and preloading techniques
Optimizing CSS and JavaScript files
Creating serverless functions in Next.js
Deploying serverless functions
Securing serverless functions
Integrating serverless functions with external services
Generating static pages with getStaticProps
Generating dynamic routes with getStaticPaths
Revalidating data with incremental static regeneration
Handling fallback pages
Setting up a custom server with Express.js
Handling custom routing with a custom server
Integrating middleware with a custom server
Understanding the implications of a custom server on performance and features
Setting up authentication with NextAuth.js
Implementing social login with various providers
Securing pages and API routes
Managing user sessions
🏆
LEVEL 5

Expert

Implementing custom error pages
Handling errors during server-side rendering
Error handling in API routes
Using error boundaries in Next.js
Configuring i18n routing
Localizing URLs
Detecting the user's locale
Using locale information in your pages
Configuring ISR
Understanding when to use ISR
Handling fallbacks with ISR
Optimizing performance with ISR
Adding custom Babel plugins or presets
Modifying the Webpack configuration
Understanding the impact of custom configurations on build performance
Ensuring compatibility with Next.js features
Fetching data from an external API
Connecting to a database
Implementing CRUD operations
Securing your connections and data

Skill Overview

  • Expert2 years experience
  • Micro-skills87
  • Roles requiring skill1

Sign up to prepare yourself or your team for a role that requires Next.js.

LoginSign Up