egoist/ideas

My goal for open source in 2020

Open

#13 opened on Jan 21, 2020

View on GitHub
 (0 comments) (24 reactions) (0 assignees) (103 stars) (2 forks)user submission
help wanted

Description

My goal for 2020: Build an application framework

  • Support both React and Vue (perhaps Svelte too)
  • File-system based routing, like many PHP frameworks and Next.js / Nuxt.js, there will be two kinds of pages:
    • Component pages: pages/**/*.{vue,js,jsx,ts,tsx}, supports Next.js-like getInitialProps
    • Server pages: pages/**/*.{json,html,xml,etc}.{js,ts}, used as http handlers to output other types of content, like API response or RSS feed. In SSG/SPA mode we render server pages to static files at build time so your client JavaScript can still fetch it.
  • Support multiple rendering modes on app-level and component-level:
    • SSR: by default your app is server-rendered and rehydrated on the client-side
    • SSG: it can also be statically generated if you can't deploy it as a Node.js app
    • SPA: like SSG but server-side rendering is disabled so you don't need to write SSR-compatible code
  • Theme system.
  • Blog support (via plugins)

Why another framework

There're a lot of frameworks for building SSR/SSG/SPA apps: Create React App, Poi, Next.js, Gatsby, Nuxt.js, Saber, Gridsome, VuePress, Vue CLI and so on and so forth. So why not get the best out of all of them?


I have a prototype and I plan to release this framework late this year, but you can help me make this idea become reality faster, I'm confident that this will benefit a lot of developers (including me myself) and your support will definitely accelerate it!

Contributor guide