Home > Article > Web Front-end > Next.js is open source and provides a simple and universal JS framework based on React.
The new universal JavaScript framework Next.js is now open source, providing a new alternative for React- and server-based web applications.
The team from Zeit built Next.js on the foundation and component model of React, while also providing a key extension: the framework is able to perform initial rendering on the server by using a component lifecycle hook method called getInitialProps() , and you can continue rendering on the client side if necessary. But this advanced feature is provided in addition to a small but powerful framework.
Based on the minimal feature set of Next.js, it provides a convenient way to create new web applications. This process does not require a lot of tool set configuration. Similar to create-react-app, installing this framework will set up a build process based on React, Webpack and Babel. In the past, developers who wrote React components would create pages based on React syntax. Each page provided a render function:
import React from 'react'export default () => Hello world!
Next.js usage filesystem serves as an API, so every component placed in the pages folder will automatically be mapped to a server-based route. For example, the pages/about.js component on disk will automatically serve the /about URL.
Unlike projects like express-react-views, which is a view engine built on Express, next.js is a top-level service layer that only renders the results of JavaScript functions. To achieve this, the project uses glamor to handle CSS instead of relying on separate CSS files.
This inherent leaning towards Next.js has some subtle advantages, one of which is that developers don’t have to spend time setting up Webpack or Babel configurations. In the past, these two steps would consume a lot of developer time. To run a development version of a site, just run npm run dev.
For some development teams, universal JavaScript is still a more advanced technology, and many frameworks have their own implementations. Angular 2 has Universal Angular 2 and Ember has Fastboot. In the field of React, there are many options in this area, such as Walmart's Electrode and Redfin's React Server. Now, Next.js is a simple alternative with a lot of potential. The project is open source on GitHub.