Port Nextjs
Any questions?
Why? How?
Because to break the bottleneck that is NodeJS. How? It is complicated and a long process remains. I encourage you to participate.
Hmm. Would love to help. Since I've never used nextjs for anything serious, sine I've stuck with flask, starlette and actix-web, and only recently came in contact, let me just attempt to summarize the scope of this issue. I would love to help but it may be useful to outline goals before starting to develop something.
- A usable frontend library that has interop (for at least types) with backend
- Note: This won't happen without JS as output, since it's the current way to got and WASM will not take over this role in the next decadesas far as I can tell, with e.g., Nim, Reason, Dart, Elm … being way more adoptable and already ready for such a job
- Web-framework (maybe actix-web, tide …) with integration for frontend library (e.g., SSR/ Type and method interop)
- A good/ usable build system with:
- tools for common tasks, such as asset optimization
- friendly approach to config
- customization
- Fast build times (HMR for frontend)
- Support for existing tooling (e.g. SASS, TS …) since adoption will at best happen by migration and over time
- Support for common features: localization, preview mode …
Guess the route for building this would be: Basic Build system → Adopt existing backend framework and create integrations -> Adopt frontend framework … → POC → Iteratively enhance build system and other components.
While I would love to help with this undertaking, it will take a long time. It might be a good idea to work on a rust interoperable frontend framework or add support to an existing technology such as Elm. The interoperability is extremely important for dev experience and efficiency since it can enforce i.e., same structure and sometimes even methods between layers and as such make codebases and functionality much easier to develop. At the same time the build system is also one, if not the most, important part of creating an Ecosystem/ framework with JS at the core since it will make or break the dev experience and as such general adoption of a Stack.
That was a long ramble, but I thought it might be helpful for giving some structure to replacing NextJS since I would love to do the same but am neither able to do it myself (time!, resources …) nor to think it would be a bad idea. I personally would love to use such a stack/ Ecosystem. Would love to hear your opinion, since you seem to be knowledgable and might be able to gather more people behind an idea than me.
Cheers, Cobalt
PS: I know it's out of context, but maybe killing PHP and taking js down later might be more effective. Another project that has tried something similar: https://haxe.org/
Sorry I have something to deliver tomorrow and I'm very tight. We speak it calmly in a github discussion that this issue does not last forever.
Another similar: https://anvil.works/