CARVIEW |
jdalton / fusejs
- Source
- Commits
- Network (5)
- Issues (0)
- Wiki (1)
- Graphs
-
Branch:
master
click here to add a description
click here to add a homepage
-
Branches (1)
- master ✓
- Tags (0)
FuseJS
About Alpha
FuseJS is currently in alpha.
This means the code base is feature/API incomplete, buggy, and not intended for production use.
Introduction
JavaScript frameworks share similar features and functionality such as DOM manipulation, event registration, and CSS selector engines. FuseJS attempts to incorporate the strengths of these frameworks into one stable, efficient, and optimized core JavaScript framework.
FuseJS is the first JavaScript framework to use cross-browser/environment sandboxed natives. This allows extending Array, String, Number, Date, and RegExp objects without polluting the native objects of the host environment.
FuseJS emphasizes browser capability testing, method forking, and lazy method definition for maintainability/performance. Modules and adapters are designed to allow customized builds, including one of seven supported CSS selector engines1. Released under the MIT license, FuseJS follows ECMA 2.62 (5th edition) specifications, supports minification, and plans to add in-line documentation.
FuseJS will feature framework emulation2 by creating a shell of the target framework and mapping all API calls to FuseJS's core. As more frameworks are emulated the code base will gain bug fixes/features which are shared between all emulated frameworks. Because of FuseJS's optimized core each emulated framework should, as a whole, perform better than their official counterpart. Developers could simply replace a supported client-side framework with FuseJS + emulation layer
and receive instant performance/stability gains while continuing to use their familiar framework API.
Tested browsers/environments
- Microsoft Internet Explorer for Windows, 6.0 and higher
- Mozilla Firefox 1.5 and higher
- Google Chrome 1.0 and higher
- Apple Safari 2.0.0 and higher
- Opera 9.25 and higher
- Konqueror 4.2.2 and higher
Building FuseJS from source
The fuse.js
file is composed of many source files in the src/
directory.
To build FuseJS, you'll need:
- The FuseJS source tree from the Git repository (see below)
- Ruby 1.8.2 or higher (https://www.ruby-lang.org/)
- Rake -- Ruby Make (https://rake.rubyforge.org/)
- RDoc, if your Ruby distribution does not include it
From the root FuseJS directory,
rake dist
will preprocess the FuseJS source using ERB and generate the compositedist/fuse.js
.
Contributing to FuseJS
Check out the FuseJS source with
$ git clone git://github.com/jdalton/fusejs.git
$ cd fusejs
$ git submodule init
$ git submodule update
Gotchas
- Firefox 3.6 changed the default value for
security.fileuri.strict_origin_policy
to true. You may need to change this tofalse
in theabout:config
for running unit tests withoutRake
.