Constitution is web applications development done right. It encompasses ideology, methodology, and technology choices.
It's an opinionated, uncompromizing, platform (or stack) and methodology (curated best practices) built upon radical technologies: Progressive Web App features, CoffeeScript, LevelDB, WebSocket, Double Macchiato, Stylus…
Constitution aims to… offer a technological solution to a key challenge startups face, namely, lack of software engineering insight… and technophobia?
(This is still a draft, work-in-progress…)
Features and business impact.
-
The WWW is the platform
-
Progressive Web Apps (PWA): progressive networking (ServiceWorker), "offline first", localStorage…
-
Single Page Application; cf Reactive Manifesto, Static Apps manifesto
-
WebSocket (or HTTP/2?): bidirectional, realtime; WebRTC for P2P
-
(Web components is failed tech; "DHTML" still works; HTTP & HTML are obsolete — replace with WebSocket and DOM)
-
WYSIWYG (contenteditable)
-
Web trumps "native" in every way
- Progressive Web Apps: announced to become "native" in Android…
- Hybrid — WebView, RWD, CSS3 (SVG, WebGL…): far richer/versatile than GUI libraries
- Closed proprietary platforms suck!
- Rollouts: excruciating/impractical on "native" — re-publish, re-install… whereas web — just cache invalidation.
- Marketing: discoverability/SEO poorer than web; no mashups
- Risky vendor dependence
- (If you're still missing anything, hold your breath: standardized APIs for device features adopted at fast pace.)
-
-
Architecture: NoSQL and 12 Factor App Manifesto
- ACID vs BASE, CAP theorem, normalization and sharding
- Schemaless: no migrations, data modeling for dynamic languages; eg Metrics 2.0
- Async (non-blocking concurrency model): promises, streams
- localStorage, Appcache, CDN, remoteStorage (noBackend manifesto), mashups…
- REST, at scale (GraphQL seems interesting?)
-
Continuous Deployment (CD, DevOps insights)
- Asset pipeline: pre/post-processing, minification, selective combining, responsive images, content negotiation…
- SDLC, Gitflow
- Environments (continuous deployment), feature toggling (A/B testing)
- Quality assurance, continuous integration
-
Domain specific languages and software engineering (goals, processes, principles)
- DSLs: CoffeeScript, Double Macchiato (was Teacup), Stylus… (DSL for Continuous?)
- Dreamcode; opinionated; good magic vs bad magic
- Scaffolding (skeletons)?
- Middleware?
-
Ecosystem
- NPM
…
- Constitution is a defense system against the MVC/OOP idiocracy (aka zombie apocalypse, post-truth age…) plaguing the web technologies ecosystem as of late. It joins a growing (counter-)movement — a resistance, avantgarde, awakening — documenting the horrors of this disaster and advocating solutions.
…
- Skeleton(s)
- Demo apps
- (Express.IO, Zappa…?)
…
- Node & NPM
- CoffeeScript
- LevelDB (LevelUP ecosystem)
- Socket.IO (no, replace with other WebSocket lib)
- Double Macchiato (DOM templating (SS); was Teacup)
- Filldom (DOM interpolation (CS); forthcoming)
- Stylus
- Gitflow
- Cake, or Bash (towards DSL for Continuous)
- Express, etc
…
Helpers are Constitution oriented extensions — bundles of DOM (DM) helper functions, and/or Stylus includes, and/or jQuery plugins, for example.