Latest Tweets:

*1

Frame 2.0 Launches!

https://github.com/bishopZ/Frame.js

Nov 5th, 2013 - Version 2.0

- Complete ground up re-write.
- Greatly simplified syntax.
- Added the ability to have mutiple Frame ques.
- Added multi-threaded Frame execution, running on top of Javascripts single-threaded processer.
- Added “tail-call optimization” to prevent increased call stacks sizes.
- Replaced LAB.js with Require.js and made Frame fully AMD-compliant
- Removed all console masking including Frame.log() and Frame.title() for increased compatibility and better separation of concerns.
- Added the ability to load CSS and TEXT files inline. (if they the plugins are loaded in require.js)
- Added ability to run any set of functions in parallel as well as series.
- Prevented callback functions from being called twice.
- Removed frame delay functionality.
- Frame is no longer “stand-alone”, it requires require.js, typecast.js and underscore.js.

(Source: bishopz)

Frame.js Lazy Loading Boot Sequence Case Study

Hi! I made an example of a Javascript terminal app that runs in the browser and uses Frame.js to lazy load resources and organize the boot sequence.  Check it out on Github: Pretext.js.

New stack overflow question

Hi, I posted a stack overflow question about Frame.js but there is no existing tag for Frame.js that you can “subscribe” too so I figured I’d notify you here. Would appreciate if you took a minute to answer.

http://stackoverflow.com/questions/14449816/typescript-synchronous-ajax-call-using-frame-js


Thanks a lot

 

*3
bishopz:

Typecast.js - Type Casting for Javascript
Typecast.js

In a sentence, Typecast solves all the simple problems, so you can focus on the big ones.
Typecast fixes what’s wrong with Javascript by creating a complete platform for strongly-typed variables in Javascript. It works both in a browser and on Node.js servers. Typecast pairs well with jQuery by providing strongly typed variables without altering Javascript’s native prototypes or requiring a custom compiler such as CoffeeScript, TypeScript or Clojure.
Typecast is a replacement to underscore.js. Underscore provides 60 helper functions, while Typecast provides all the same function and over 300 more. Typecast speeds development by reducing the length and variety of code required to complete common programming tasks, reducing both the number of bugs and the troubleshooting time to hunt them down.

bishopz:

Typecast.js - Type Casting for Javascript

Typecast.js


In a sentence, Typecast solves all the simple problems, so you can focus on the big ones.

Typecast fixes what’s wrong with Javascript by creating a complete platform for strongly-typed variables in Javascript. It works both in a browser and on Node.js servers. Typecast pairs well with jQuery by providing strongly typed variables without altering Javascript’s native prototypes or requiring a custom compiler such as CoffeeScript, TypeScript or Clojure.

Typecast is a replacement to underscore.js. Underscore provides 60 helper functions, while Typecast provides all the same function and over 300 more. Typecast speeds development by reducing the length and variety of code required to complete common programming tasks, reducing both the number of bugs and the troubleshooting time to hunt them down.

(via jstheory)

*4

When to use Requirejs and when to use bundled javascript?

I posted this to Stack and won the “accepted answer.” Am I right?

http://stackoverflow.com/questions/12232848/when-to-use-requirejs-and-when-to-use-bundled-javascript/12232921#12232921

This is a hotly contested issue among many proficient javascript developers. Many other languages have a “compilation” phase where the entire program is bundled up for deployment (JBoss’s .WAR files come to mind). Programmers that come from more traditional backgrounds often favor this approach.

Javascript has seen such growth in recent years that it is difficult to chart exact best practices, but those that appreciate the more functional nature of Javascript often prefer the module loading approach (like require.js uses).

I wrote Frame.js which works much like require.js, so my bias is towards the module loader approach.

To answer your question directly, yes, it is one or the other.

Most that argue for packing your scripts into a single file believe it enables more compression and is thus more efficient. I believe the efficiency advantages of packaging are negligible in most cases because: (1) module load times are distributed over the entire session, (2) individual modules can be compressed to nearly the same percentage, (3) individual modules can be cached by the server and routers separately, and (4) loading scripts only when they are needed ultimately allows you load less code for some users and more code overall.

In the long run, if you can see an advantage to dynamic script loading use it. If not, bundle your scripts into a single file.

*1

Building a Module Pattern in Frame.js

One failing of RequireJS is that it does not enable you to pass parameters into modules as they load. Here is a quick example of using Frame.js to build a module pattern that does enable you to pass parameters to the module script upon initalization.

http://stackoverflow.com/a/10319916/901379

*1

Is NodeJS Wrong ?

trevmex:

@NodePhily Interesting post on the node.js style of callbacks and the power of Continuation Passing Style, which is hot in the functional world. I wonder what that looks like in JavaScript…

if only they knew about Frame.js; it was born out of the same frustrations brought up in this article from last February.

*1

Frame.js featured at Code-a-thon ATX 2012

Frame.js was included as an official project as part of this weekend’s Code-a-thon ATX event at the Austin Moose Lodge.

http://codeathon.pbworks.com/w/page/48863748/ATX2012_Projects

We worked on a set of complimentary functions for Frame that enhances its ability to interact with the server, making it closer to require.js and more common.js compatible.

Special thanks to Tom from Open Transact and Bradley from Nodejitsu!

*1

Frame.js included in CodePirat.es Plunder Chest!

  • The Github Pirates is a constantly updated resource for those interested in HTML5, CSS3, and JavaScript. Despite the name, the project doesn't actually pirate Github repositories, but gathers open-source content from Github and puts it into a single repository for the following reasons:
  • + Ease of reference
  • + Quality
  • + Preservation
  • + Exposure
  • The Github Pirates Repository will be referred to as The Chest to avoid confusion.
  • http: //codepirat.es/

*5

Frame.js is a function sequencer and library loader for Javascript applications.

Github Repository & Documentation:

https://github.com/bishopZ/Frame.js

Frame.js is a function sequencer, job manager and library loader for frontend Javascript applications.

Despite the benefits of non-blocking asynchronous code execution in Javascript, endless chains of callback functions make for unreadable code and difficult to control applications.

While many function sequencers exist, such as asyncSeq, and flow.js, Frame.js is focused on application-level synchronous function management, includes a library loader to mix-and-match between remote scripts, local scripts, and functions, and provides a basic set of debugging and unit testing tools.

Frame is like require.js, but designed for the frontend, with debugging tools, and it clocks in at just under 11k (compared to require.js’s minified 25k).

"looks cool, nice job :)" -Kyle Simpson, Author of LABjs

"lookin’ good! Async control flow is a beast." -Alex Sexton, Modernizr contributor, Author of YepNope

"It looks pretty neat :) Asynchronous control flow is never easy to get right, but this certainly seems like it would help!" - Addy Osmani, jQuery contributor, http://addyosmani.com