Skip to content

thescientist13/nono-poc

Repository files navigation

nono-poc

Overview

NoNo (No JavaScript, No Data) is a tongue in cheek reference to encapsulate some of the desires and lessons learne from the development of Greenwood so far. Greenwood is a static site generator supporting web component based development for any type of application, be it blog, portfolio, or full blown Single Page Application.

Motivations

Over the course of Greenwood's development, a few high level ideas, concepts, and goals have emerged through our learning of the problem space as well as observing other solutions in the space like Sapper and vite / vitepress and Snowpack.

This combined with recent progress, and challenges / oppourtunities in Greenwood...

Have led to a bottom up re-thinking of how to approach the project. Namely, questioning if tools like webpack should own the whole pipeline, and instead aim for an ondemand local development workflow, with a lean and custom production optimization pipeline, enabling build strategies like strict, spa, and progressive, but from "scratch".

Vision

Greenwood should be usable by anyone familiar with HTML / CSS / JS, and additionally, markdown. With this, the framework will support building a modern site or app for the web. It will be great for blogs, portfolios, SPAs, and more! This POC aims to ensure that this is experience can be gauranteed / supported / documented.

Goals of this POC are as follows:

  • Appeal to developers of all skill levels with a project that scales as skills / needs scale.
  • Web Platform first, starting from the ground up using HTML, CSS, JS.
  • Less reliance on abstractions owning the whole tool chain (e.g. webpack) and more of a hands on approach gluing some lower level tools together (Koa, Rollup).
  • Use this as a grounding oppourtunity for the Greenwood project and its long term ambitions overall.
  • Look for slimmer / leaner alternatives to lit-redux-router and Apollo and dependencies in general.

Goals

  • Go ESM first, with tools like Rollup.
  • Look at the platform first, like using import maps.
  • Own as much of the means of production, including creating custom Babel plugins or direct AST transforms
  • Faster development times
  • More pluggable (server as own package, data as own package, spa, etc)
  • Make things more component based and closer to HTML where possible
  • Get clarity on exactly what a 1.0.0 would look like after all is said and done

About

don't outsource your core competency

Resources

Stars

Watchers

Forks

Packages

No packages published