A front-end framework for the back-end powered web.

Get started Github

Modern

Build rich, interactive interactions with modern technologies and tools. You are worried that your only front-end experience is jQuery? It's enough to get you started.

Declarative

Tired of all the boilerplate your front-end requires? Thanks to Strudel decorators reduce it to minimum and have fun coding with ECMAScript 2015 and beyond.

Lightweight

Don't worry about your website payload. With only ~4kb gzipped Strudel makes sure your users bandwidth is not overwhelmed with amount of Javascript to load.

Example

<!-- Static html generated by back-end -->

<div class="greeter">
  <input class="greeter__input" type="text">

  <button class="greeter__button">
    Greet
  </button>

  <span class="greeter__output">
  </span>
</div>
@Component('.greeter')
export default class Greeter {
  @El('.greeter__output') output

  @El('.greeter__input') input

  @Evt('click .greeter__button')
  greet() {
    this.output.html(`
        Hello, ${this.input.prop('value')}!`)
  }
}