Next.js has been powering https://vercel.com since its inception.
We’re ecstatic about both the developer experience and end-user performance, so we decided to share it with the community.
The client side bundle size should be measured in a per-app basis. A small Next main bundle is around 65kb gzipped.
Next.js tries its best to remove the overhead of webpack configurations, but for advanced cases where more control is needed, refer to the custom webpack config documentation.
We track V8. Since V8 has wide support for ES6 and async and await, we compile those. Since V8 doesn’t support class decorators, we don’t compile those.
See the documentation about customizing babel config for more information.
It's up to you. You can use the fetch API or SWR inside your React components for remote data fetching; or use our data fetching methods for initial data population.
Yes! Here's an example with Apollo.
Yes! Here's an example. And there's another example with thunk.
Yes. You can read more about it here.
Since our first release we've had many example contributions. You can check them out in the examples directory.
Many of the goals we set out to accomplish were the ones listed in The 7 principles of Rich Web Applications by Guillermo Rauch.
The ease-of-use of PHP is a great inspiration. We feel Next.js is a suitable replacement for many scenarios where you would otherwise use PHP to output HTML.
Unlike PHP, we benefit from the ES6 module system and every page exports a component or function that can be easily imported for lazy evaluation or testing.
As we were researching options for server-rendering React that didn’t involve a large number of steps, we came across react-page (now deprecated), a similar approach to Next.js by the creator of React Jordan Walke.
Yes! Here's an example.