cakejs2

Lightweight front-end framework with only best parts and features of most awesome frameworks.

Usage no npm install needed!

<script type="module">
  import cakejs2 from 'https://cdn.skypack.dev/cakejs2';
</script>

README

CakeJs

Build Status Coveralls npm version license alpha

CakeJS2 lightweight front-end framework with only best parts and features of most awesome frameworks.

Features

Candle counter recipe:

create().route('/', 'counter');

Cream.extend({
  _namespace : 'counter',

  candles : 0,

  increment : function() {
    this.set('candles', this.candles + 1);
  },

  render : function() {
    return h('button', { onClick : this.increment }, 'Candles on the Cake: ' + this.candles);
  }
});

To enable JSX support, transpiler option have to be provided that names defaults with h (hyperscript) instead of react:

/** @jsx h */

Examples

Live demos:

Check out examples folder.

Installation

npm install cakejs2

CDN

https://unpkg.com/cakejs2@latest/dist/cake.min.js

API

create options:

create({
  element      : document.body // by default
  elementClass : cake
  elementId    : cake
  createRoot   : false        // do not create root node, use render's

route:

create().route(
 '/posts/:id/post',  // URL pattern, also available "*" pattern
 'home'             // Namespace of the component
 );

Namespaces

Namespaces

Cream

Base component of any cake.

Functions:

  • init
  • willTransition
  • didTransition
  • render

Options:

  • _namespsace - object's namespace
  • _after - DI after

Zefir:

  • props - routing options ( /:id/ for an instance became props.id )
  • params - params eg ?iam=param bacame params.iam

Sugar:

  • observes
  • property - computed property

observes creates observer function

  dataWatcher : function() { .... }.observes('posts', /^store/)

History

Cakejs2 is a second generation of the cakejs framework.

First version of cakejs were made in 2012th and published in 2014th.

License

MIT License

Copyright (c) 2016 Svetlana Linuxenko