Skip to content

RobinLinus/freshML

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FreshML

FreshML is a framework for rapid protoyping of progressive web apps. It is designed for the framework-fatigue who want to arrive in 2018. Installation-free, insanely fast lego set for simple paper design UIs. Fresh out of the box!

Design Philosophy

- State-of-the-art dependency management is painful. FreshML is completely installation free.
- Every framework introduces a new language. FreshML wants to be compliant with what developers are comfortable with.
- FreshML should be as concise and expressive as possible.
	- We want to hide as much complexity as possible
	- FreshML is opinionated - it is about build standardized prototypes - not about customization
	- No prefixes - but case senitivity
- Material Design is great to design complex UIs but there is no light-weight tool to ship powerful progressive web apps in under ten minutes. Except for FreshML. 

Design Goals

  • "unix-style" : decoupled tools with atomic purposes, easy to combine to powerful apps
  • CSS first
  • UI Works well without any JS
  • Clean and expressive code
    • declarative xml-style approach
    • Code Types
      • Framework Developer
        • Element Libraries
        • Transforms
      • App Developer
        • Declarative app design: As simple, expressive and intuitive as possible.
        • Declaration of Custom Elements
        • Implementation of Custom Logic
      • App User
        • automatically precompiled app
          • standards driven
          • extreamly compact
          • extreamly performant
    • coding patterns
      • clean abstaction
      • clean generalization
      • highly decoherent
      • loosely coupled
  • element APIs should be simple and clean
    • standard XML
    • consistent element and attribute names
    • simple inheritance
  • Installation free, platform agnostic compilation via XSLT + XML
    • client-side precompilation works natively in browsers
    • runtime compilation works natively in javascript
    • server-side precompilation works natively in all kinds of backends with basic xslt support

How to develop in spite of endless complexity

  • Keep it simple, stupid
  • continous small refactorings
  • develop simple demo.htmls
  • get the basics perfect - everything else builds on top of them
  • creative procrastination: pick some random fun task

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published