- Go to https://github.com/BladeRunnerJS/brjs-plugin-bootstrap
- Either:
- Copy the "Download ZIP" url and In terminal:
curl -L <zip_url> > start.zip
- Copy BRJS.zip and brjs-plugin-bootstrap-master.zip from network path
- Copy the "Download ZIP" url and In terminal:
- If copied BRJS.zip, unzip
unzip brjs-plugin-bootstrap-master.zip
mv brjs-plugin-bootstrap-master ListAppsPlugin
cd ListAppsPlugin
ls -la
to show contents of directory./gradlew init -Pbrjs=
to create the required project files
BladeRunnerJS is an open source developer toolkit and lightweight front-end framework for building modular large-scale HTML5 single page apps. |
( function() { | |
function trackOutboundLink( ev ) { | |
var el = jQuery( ev.srcElement || ev.target ); | |
var href = el.attr( 'href' ) || ''; | |
var fullUrl = /^https?:\/\//.test( href ); | |
var leggetterLink = /^https?:\/\/www.leggetter.co.uk/.test( href ); | |
if( !fullUrl || leggetterLink ) { | |
log( 'not tracking internal link' ); | |
return; |
No worries if you don't have time to review this - thanks for your input so far
The BRJS toolkit and application architecture encourages you to implement tests at a number of different levels. The focus is to push testing down the testing triangle as much as possible as this results in faster contextual feedback, and faster and more reliable tests.
function Rimmer() { | |
this._testFailText = 'I AM A FISH.'; | |
this._testFailIterations = 400; | |
} | |
Rimmer.prototype.takeTest = function( testName ) { | |
if( testName.toLowerCase() === 'engineering exam' ) { | |
var count = 0; | |
do { | |
this.write( this._testFailText ); |
A key part of building a scalable application is loosely coupled communication between application components. We had an event hub, but took it out as it was a bit too complicated for general use cases. We want to add this key concept back in.
We don't like the way we currently need to write our JavaScript. We like the Node.js coding style and moduling system. So, we're adding support for it within BRJS applications.
It has been possible to instantly push information from a web server to a web browser for at least 10 years, but this technology has finally gone mainstream thanks to technologies like WebSockets and solutions like SignalR, socket.io, Faye and Pusher. In this sessions I'll cover the past, present and future of client/server communication technology, the realtime web and provide a number of use cases and demonstrations of how the technology is actually used today (it's not just chat and spaceship games).
Talk themes
- Realtime
- Best Practices
- Thought leadership (try to get others to think about building realtime apps)
What the majority of libraries share is following a form of pubsub pattern where your client (the browser) subscribes to data. When the server has new data it is pushed to the client.
In JavaScript:
var socket = io.connect('http://somehost.com');
socket.on( 'news', function ( data ){});
var el = $('.win-command'); // get example from existing page | |
var charCodeRange = { start: 0, end: 300 }; | |
for( var cc = charCodeRange.start; cc <= charCodeRange.end; ++cc ) { | |
var newEl = el.clone(); | |
var charLetter = String.fromCharCode( cc ); | |
if(!charLetter) continue; | |
newEl.find( '.win-commandimage' ).text( charLetter ); | |
var wrapper = $( '<div>' + charLetter + '</div>' ); | |
wrapper.append( newEl ); | |
$( document.body ).append( wrapper ); |