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) (2 forks)user submission
help wanted

Repository metrics

Stars
 (103 stars)
PR merge metrics
 (No merged PRs in 30d)

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