• Stars
    star
    436
  • Rank 97,458 (Top 2 %)
  • Language
    JavaScript
  • Created over 13 years ago
  • Updated almost 10 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A microkernel for modular javascript, a toolchain for modern front-end, a micro-framework for growable WebApp

OzJS Project

OzJS is NOT yet another script loader, but a microkernel that provides sorely-missing module mechanism at runtime (that means it mainly works at language-level, not file-level. Use Ozma.js to process files statically at build time based on the same mechanism) for large/complex javascript program, compatible with the de facto standards (AMD, NodeJS/CommonJS and traditional module pattern).

Even better, it was implemented earlier than the well-known RequireJS, so there are differences between similar APIs in philosophy and approach, which bring more value.

The API and code of oz.js are minimalist and stable. It won’t add new features that aren't truly needed (It's absolutely bad practice to meet new requirements through new configuration options or new plugins for a module mechanism provider!).

The OzJS Project now focuses on providing bundles of powerful and yet micro-framework friendly AMD modules.

Toolchain

generator-ozjs

  • Scaffolding tool for OzJS which offers a packaging workflow integrates toolchain, micro-framework and many best practices
  • oz.js + bower + Grunt + Mo + Moui + ...
  • Source code
  • OzJS app template

OzmaJS

  • Intelligent autobuild tool for OzJS
  • Unique ability to support transparent dynamic dependence
  • Source code

grunt-ozjs

karma-ozjs

  • A Karma plugin. Adapter for OzJS framework
  • Source code

grunt-dispatch

  • Bower mate, copy the necessary files of package(like bower\_components/) directory to your src/ directory
  • Source code

grunt-furnace

  • Transform code from one format to another
  • template > AMD, AMD > CJS, CJS > AMD...
  • Source code
  • karma-furnace-preprocessor - A Karma plugin. Convert code from one format to another (like grunt-furnace)

OzJS Adapter:

  • Mini define/require mplementation for old web page
  • Transform AMD module into traditional module pattern
  • Source code

Micro-framework

It is time to stop using All-in-One JavaScript library or framework which bundle all functionalities and solutions within a single global namespace.

OzJS Project provides plenty of tiny, mutually independent, single purpose modules to help you build(mix and match) your own MVC(or suchlike) framework.

Mo

  • A collection of OzJS core modules that form a library called "Mo"
  • Modules overview
    • mo/lang
      • ES5/6 shim and minimum utilities for language enhancement
    • mo/domready
      • Non-plugin implementation of cross-browser DOM ready event
      • Based on OzJS's built-in module -- 'finish'
    • mo/browsers
      • Standalone jQuery.browsers supports skin browsers popular in China
    • mo/template
      • A lightweight and enhanced micro-template implementation, and minimum utilities
    • mo/network
      • Standalone jQuery.ajax API and enhanced getJSON, and so on
    • mo/easing
      • An easing library supports jquery.js, standalone module and CSS timing functions
    • mo/mainloop
      • Implement and manage single loop for WebApp life cycle
      • Provide tweening API for both property animation and frame animation(canvas or css)
    • mo/key
      • Wrapping API for keyboard events
      • Support key sequence, multiple key press, ...
    • mo/console
      • Debulg tool
  • Source code

EventMaster

  • A simple, compact and consistent implementation of a variant of CommonJS's Promises and Events
  • Source code

NervJS

  • A tiny, pure, event-based model wrapper for the MVC or MDV (Model-driven Views) pattern.
  • Source code

DollarJS

  • A jQuery-compatible and non-All-in-One library which is more "Zepto" than Zepto.js
  • Source code

SovietJS

  • Standalone UI event delegate implementation
  • Source code

URLKit

  • A lightweight implementation of routing and URL manager
  • Source code

UI Toolkit

Moui

  • OO-based UI behavior modules behind CardKit's view components
  • Modules overview
    • moui/control
      • Minimal stateful component
    • moui/picker
      • Compose of Control objects
    • moui/overlay
      • Minimal overlay component
    • moui/actionview
      • Inherit from Overlay
      • Compose of Picker objects
    • moui/modalview
      • Inherit from Overlay
    • moui/growl
      • Inherit from Overlay
    • moui/ranger
      • Minimal range component
    • moui/util/stick
      • Stick a DOM element to anther from any clock position
    • More
  • Source code

DarkDOM

  • Design your own markup languages on a higher level of abstraction than HTML
  • Build responsive cross-screen UI components
  • Source code

CardKit

  • A mobile UI library provides a series of building blocks to help you build mobile web apps quickly and simply, or transfer entire website to mobile-first web app for touch devices.
  • CardKit building blocks are all use-html-as-configure-style (like Custom Elements, directive...) components built on DarkDOM and Moui.
  • Source code

Momo (MoMotion)

  • A framework and a collection for separate and simple implementation of touch gestures
  • Source code

ChoreoJS

  • An animation library which uses "stage" and "actor" as metaphors
  • Source code

Tutorials

Quick Start

Install the scaffolding/workflow tool then try the ozjs:app generator.

Demo App

In the Real World

Follow @ozjs

More References

License

Copyright (c) 2010 - 2014 dexteryy
Licensed under the MIT license.

More Repositories

1

spellbook-of-modern-webdev

A Big Picture, Thesaurus, and Taxonomy of Modern JavaScript Web Development
16,694
star
2

CardKit

A mobile UI library provides a series of building blocks which are all components built on DarkDOM and Moui.
JavaScript
703
star
3

Project-WebCube

Continuously updated JS infrastructure for modern web dev
JavaScript
147
star
4

YVim

Out-of-the-box ~/.vim directory for MacVim
Vim Script
80
star
5

GrassMudMonkey

an Open Souce GrassMudHorse/Whitespace Engine Written in JavaScript
JavaScript
34
star
6

YAtom

Atom as Vim as IDE
CSS
33
star
7

DarkDOM

Design your own markup languages to build responsive cross-screen UI components
JavaScript
29
star
8

JSMatchismo

A pure JS implementation of Matchismo Playing Card Game of Stanford University CS193p lecture (Winter 2013)
JavaScript
28
star
9

TUICompiler

JavaScript preprocessor & autobuild tool
Python
20
star
10

nodecube

A batch of continuously updated base code and configurations for the minimal modern node.js service that conform to RESTful API, 12-Factor App, Microservice Architecture
18
star
11

DollarJS

A jQuery-compatible and non-All-in-One library which is more "Zepto" than Zepto.js
JavaScript
15
star
12

mo

A collection of OzJS core modules that form a library called "Mo"
JavaScript
15
star
13

doubanchou

豆瓣抽~RP在此流动 (demo for oz.js, event.js and IndexedDB)
JavaScript
14
star
14

moui

OO-based UI behavior modules behind CardKit(mobile webapp framework)'s view components
JavaScript
12
star
15

cardkit-demo-darkdom

Learning DarkDOM visually
JavaScript
12
star
16

EventMaster

Promise + Event = ?
JavaScript
9
star
17

BugHunter

A multiplayer "answer first game" or a competition responder system, based on NodeJS and OzJS
JavaScript
8
star
18

pachislot

Doubanchou II: Pachislot
JavaScript
6
star
19

grunt-ozjs

grunt tasks for oz.js and ozma.js
JavaScript
5
star
20

monokai-blackboard

A monokai-blackboard hybrid theme for Atom
CSS
5
star
21

cardkit-demo-gallery

CardKit Demo: Components Gallery App
JavaScript
5
star
22

cardkit-demo-todoapp

CardKit Demo: To-do App
HTML
5
star
23

ozma.js

Intelligent autobuild tool for OzJS
JavaScript
4
star
24

MacPacbot

a Python toolkit of PAC(auto proxy configuration) for Mac OS X
Python
4
star
25

momo

A framework and a collection for separate and simple implementation of touch gestures
JavaScript
4
star
26

hifetch

A minimal higher-level wrapper around Fetch API
4
star
27

grunt-furnace

Grunt tasks for transforming code from one format to another
JavaScript
4
star
28

URLKit

A lightweight implementation of routing and URL manager
JavaScript
3
star
29

karma-ozjs

A Karma plugin. Adapter for OzJS framework
JavaScript
3
star
30

webcube-example

Migrated to Project WebCube's monorepo
2
star
31

nodecube-example

Boilerplate code and a demo for HTTP API projects based on nodecube
JavaScript
2
star
32

webcube-exercise

JavaScript
2
star
33

NervJS

A tiny, pure, event-based model wrapper for the MVC or MDV (Model-driven Views) pattern
JavaScript
2
star
34

generator-ozjs

Scaffolding tool for OzJS which offers a packaging workflow integrates toolchain, micro-framework and many best practices
JavaScript
2
star
35

SovietJS

Standalone UI event delegate implementation, provide multiple styles/modes
JavaScript
2
star
36

ozma-demo

Ozma Demo
JavaScript
1
star
37

ozjs.org

The website for all OzJS projects
JavaScript
1
star
38

PoormanAR

Poor man's augmented reality and motion tracking with web browser and webcam
JavaScript
1
star
39

YAAS

Yet Another All-in-one Spider for Greasemonkey
JavaScript
1
star
40

webcube-cli

1
star
41

ChoreoJS

An animation library which uses "stage" and "actor" as metaphors
JavaScript
1
star
42

gulp-tpl2amd

Convert js templates to AMD modules no matter what syntax
JavaScript
1
star
43

eslint-config-webcube

Migrated to Project WebCube's monorepo
1
star
44

yyopml

YyOPML is created for transforming OPML file into a webpage with a rich, intuitive interface. OPML is a simple XML format, you can export it by using google reader or almost all RSS readers.
JavaScript
1
star