All Projects → tangbc → Sugar

tangbc / Sugar

Licence: mit
A lightweight and powerful JavaScript MVVM library. Used for production or learning how to make a full MVVM.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Sugar

Neutronium
🚀 Build .NET desktop applications using HTML, CSS and javascript.
Stars: ✭ 1,190 (+244.93%)
Mutual labels:  framework, mvvm
Knockout Spa
A mini but full-fledged SPA framework and boilerplate to build SPAs fast and scalable
Stars: ✭ 145 (-57.97%)
Mutual labels:  framework, mvvm
Infima
A UI framework that provides websites with the minimal CSS and JS needed to get started with building a modern responsive beautiful website
Stars: ✭ 82 (-76.23%)
Mutual labels:  framework, front-end
Mvvmrecurve
MVVM框架, 这个架构支持RestFul风格的Api和GraphQL,你可以根据自身需求添加recurve-retrofit2-support库(RestFul)或recurve-apollo-support库(GraphQL)实现相应的支持。 该架构同时使用纯Kotlin开发,但是你也可以在Java中使用它。
Stars: ✭ 51 (-85.22%)
Mutual labels:  framework, mvvm
Relight
A light MVVM framework for Android. 一个轻量级的安卓MVVM框架
Stars: ✭ 258 (-25.22%)
Mutual labels:  framework, mvvm
Bootstrap Dark
The Definitive Guide to Dark Mode and Bootstrap 4 - A proof of concept
Stars: ✭ 54 (-84.35%)
Mutual labels:  framework, front-end
Akane
Lightweight native iOS MVVM framework
Stars: ✭ 92 (-73.33%)
Mutual labels:  framework, mvvm
Slim.js
Fast & Robust Front-End Micro-framework based on modern standards
Stars: ✭ 789 (+128.7%)
Mutual labels:  framework, front-end
Tko
🥊 Technical Knockout – The Monorepo for Knockout.js (4.0+)
Stars: ✭ 227 (-34.2%)
Mutual labels:  framework, mvvm
Ioing
Implement the solutions of performance improvement and componentization for your SPA (single page application) products with this Progressive Web App Development Engine.
Stars: ✭ 224 (-35.07%)
Mutual labels:  framework, mvvm
Royjs
Royjs is only 4.8kb mvvm framework for React
Stars: ✭ 49 (-85.8%)
Mutual labels:  framework, mvvm
Mini.css
A minimal, responsive, style-agnostic CSS framework!
Stars: ✭ 2,938 (+751.59%)
Mutual labels:  framework, front-end
Alumna
[Alpha release of v3] Development platform for humans / Plataforma de desenvolvimento para humanos
Stars: ✭ 32 (-90.72%)
Mutual labels:  framework, front-end
Bedrock
a plugin framework for winform application
Stars: ✭ 74 (-78.55%)
Mutual labels:  framework, mvvm
Loxodon Framework
An MVVM & Databinding framework that can use C# and Lua to develop games
Stars: ✭ 802 (+132.46%)
Mutual labels:  framework, mvvm
Cdnjs
🤖 CDN assets - The #1 free and open source CDN built to make life easier for developers.
Stars: ✭ 9,270 (+2586.96%)
Mutual labels:  framework, front-end
Chota
A micro (3kb) CSS framework
Stars: ✭ 733 (+112.46%)
Mutual labels:  framework, front-end
Reactiveui
An advanced, composable, functional reactive model-view-viewmodel framework for all .NET platforms that is inspired by functional reactive programming. ReactiveUI allows you to abstract mutable state away from your user interfaces, express the idea around a feature in one readable place and improve the testability of your application.
Stars: ✭ 6,709 (+1844.64%)
Mutual labels:  framework, mvvm
Xuui
xLua的mvvm框架,支持ugui,ngui,fairyGUI。。。
Stars: ✭ 199 (-42.32%)
Mutual labels:  framework, mvvm
Front End Web Development Resources
This repository contains content which will be helpful in your journey as a front-end Web Developer
Stars: ✭ 3,452 (+900.58%)
Mutual labels:  framework, front-end

Travis CI Status Code Coverage
Sauce Browser Matrix

sugar

A lightweight and powerful JavaScript MVVM library for building easy web UI.

Simple api and without any dependence. Consists of two independent libraries:

  • mvvm.js A simple ViewModel library , it can be used independently.
  • sugar.js Component system + mvvm.js , for building flexible web components.

Diagram

HelloWord

mvvm.js

<html>
<body>
	<div id="app">
		<h1>{{ title }}</h1>
	</div>

	<script src="https://tangbc.github.io/sugar/dist/mvvm.js"></script>
	<script>
	var vm = new MVVM({
		view: document.getElementById('app'),
		model: {
			title: 'Hello world!'
		}
	})

	// Model drive View:
	vm.$data.title = 'Change title!';
	</script>
</body>
</html>

More MVVM directives are supported, see all at documentation.

sugar.js

<html>
<body>
	<div id="app">
		<h1>{{ title }}</h1>
	</div>

	<script src="https://tangbc.github.io/sugar/dist/sugar.js"></script>
	<script>
	// define HelloWorld component:
	var HelloWorld = Sugar.Component.extend({
		init: function (config) {
			this.Super('init', config, {
				target: '#app',
				model: {
					title: 'Hello world!'
				}
			});
		},
		// Hook of after view was rendered.
		afterRender: function () {
			// Model drive View:
			this.vm.$data.title = 'Change title!';
		}
	});

	// create component instance:
	var app = Sugar.core.create('hello-world', HelloWord);
	</script>
</body>
</html>

SubComponent, component nesting and message system see documentaion.

Demos

There are several complete and amusing demos in demos/ folder make you know more about sugar.js, check it out and preview them in the following links:

i. Sometimes Github-page link disconnected by Enforce HTTPS, please use https protocol instead.

ii. Some demos need httpSever (Ajax), so run script npm run server to preview them if in your local.

You can also experience sugar.js online with a RadioComponent at jsfiddle.

Usage

Documentation

Get start and check documentation on Wiki.

Directories

  • build/ Development, production and test configurations.

  • demos/ Several complete examples/demos developed by sugar.js.

  • dist/ Product files of sugar.js and mvvm.js, and their compressed.

  • src/ Source code module files:

    • src/main/20% A simple component system. API & Doc

    • src/mvvm/80% A powerful and easy-using MVVM library. API & Doc

  • test/ Unit test specs writing by karma + jasmine.

Contribution

Welcome any pull request of fixbug or improvement, even only supplement some unit test specs.

  1. Fork and clone repository to your local.

  2. Install NodeJS package devtools: npm install.

  3. Develop and debug: npm run dev (generate sourcemap files in bundle/).

  4. Add and write test spec, (in test/units/specs/) then run uint test:npm run test.

  5. Generate the test coverage report and jshint checking up: npm run build.

ChangeLogs

Check details from releases

License

MIT License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].