In practical terms, this means that every "page" or "entry point" to your app is just an exported component `function` or `class`. `export default () => <p>My component!</p>`.
At the expense of a storm of HN downvotes, it's "more PHP than Meteor" :)
2. No data layer built in, syncing, Models, etc. We added an extra lifecycle hook called `getInitialProps` (think of it as the counterpart to `getInitialState`) whose contract is returning data as a `Promise`.
This allows you to combine and compose different approaches to data retrieval. It works just as well with REST as it does with GraphQL or Socket.IO or server-sent-events or offline-only or…
3. It hides configuration details but allows you to tap into them.
It's powered by `Babel` and `webpack`, which are exposed as a single command (`next` and `next build`), but you can completely override and customize them.
These are just some ideas. We created it to power the team collaboration aspects of our Web UI (https://zeit.co). We are committed to supporting it because we use it and we love it.
[1] Also React alternatives like Inferno and Preact (https://github.com/zeit/next.js/tree/master/examples/using-p...)
That made me laugh. But, really, it's true. Adding a new page is as simple as adding a new file. No importing, routing, etc. required. That's one thing that I think PHP got right.
https://github.com/zeit/next.js/tree/d08e027a8c1d9bfe773a8b3...
But Next.js is not like this. It's only for the UI (rendering) You can build server rendered React apps pretty easily. It supports dynamic imports, prefetching, preloading and you name it.
Now you can export any Next.js app into a static app too.
Recently, Meteor adds some new JS features into it's build setup too.
Next.js is sort of a React project bootstrap/boilerplate that has some pre-selected configuration for things like styling components and server side rendering.
Basically it makes building client side apps faster and fun. Check this for more info: https://learnnextjs.com/