Skip to content
/ jbb Public

Javascript Binary Bundle - A binary format for packing data structures for the web

License

Notifications You must be signed in to change notification settings

wavesoft/jbb

Repository files navigation

Javascript Binary Bundles

JBB Version Build Status Join the chat at https://gitter.im/wavesoft/jbb

Why Binary Bundles? For faster loading time due to fewer requests and an optimised binary format, closely compatible with Javascript internals. It is optimised in balance between size and performance, preferring performance when in doubt.

ExamplesDocumentationTutorialsHelp

With JBB you can load all of your project's resources in a node.js instance and then serialize them in a single file. You can then load this file instead.

Usage - Loading Bundles

Download the minified run-time library and include it in your project:

<script src="js/jbb.min.js"></script>

You can then load your bundles like this:

var loader = new JBB.BinaryLoader("path/to/bundles");
loader.add("bundle_name.jbb");
loader.load(function(error, database) {
    // Handle your data 
});

Using npm

JBB is also available on npm. Both compiler and run-time library is available in the same package:

npm install --save jbb

You can then load your bundles like this:

var JBBBinaryLoader = require('jbb/decoder');

var loader = new JBBBinaryLoader("path/to/bundles");
loader.add("bundle_name.jbb");
loader.load(function(error, database) {
    // Handle your data 
});

Usage - Creating Bundles

After you have collected your resources in a source bundle you can then compile it using the gulp-jbb plugin.

In your gulpfile.js:

var gulp = require('gulp');
var jbb  = require('gulp-jbb');

// Compile jbb task
gulp.task('jbb', function() {
  return gulp
    .src([ "your_bundle.jbbsrc" ])
    .pipe(jbb({
      profile: [ "profile-1", "profile-2" ]
    }))
    .pipe(gulp.dest( "build/bundles" ));
});

License

Copyright (C) 2015-2016 Ioannis Charalampidis <ioannis.charalampidis@cern.ch>

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

About

Javascript Binary Bundle - A binary format for packing data structures for the web

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published