Friday, June 10, 2011

Faye - Dirt-simple publish/subscribe messaging over HTTP for Node.js and Rack

Faye is a set of tools for dirt-simple publish-subscribe messaging between web clients. It ships with easy-to-use message routing servers for Node.js and Rack applications, and clients that can be used on the server and in the browser.

Project information
Namefaye
Ownerjcoglan
LanguagePHP
DescriptionSimple pub/sub messaging for the web
InformationView README.rdoc
Releases
0.6.xtar.gz | zip
0.3.xtar.gz | zip

Connect - Connect is a middleware layer for Node.js

Connect is an extensible HTTP server framework for node, providing high performance "plugins" known as middleware.

Connect is bundled with over 14 commonly used middleware, including a logger, session support, cookie parser, and more. Be sure to view the 1.0 documentation.

connect.createServer()

The connect.createServer() method is now optional, and equivalent to connect(). For example:

  connect.createServer(
      connect.logger()
    , connect.static(__dirname)
  ).listen(3000); 

is the same as:

  connect(
      connect.logger()
    , connect.static(__dirname)
  ).listen(3000);

When an options object is passed as the first argument it is assumed to be an https server:

  connect({ options here }
      connect.logger()
    , connect.static(__dirname)
  ).listen(443);

Project information
Nameconnect
Ownersenchalabs
LanguagePHP
DescriptionConnect is a middleware layer for Node.js
InformationView Readme.md
Releases
1.xtar.gz | zip

Express - Sinatra inspired web development framework for node.js -- insanely fast, flexible, and sexy

Insanely fast (and small) server-side JavaScript web development framework built on node and Connect.

 var app = express.createServer();
 
 app.get('/', function(req, res){
   res.send('Hello World');
 });
 
 app.listen(3000);

Features

  • Robust routing
  • Redirection helpers
  • Dynamic view helpers
  • Content negotiation
  • Focus on high performance
  • View rendering and partials support
  • Environment based configuration
  • Session based flash notifications
  • Built on Connect
  • High test coverage
  • Executable for generating applications quickly
  • Application level view options

Via Connect:

  • Session support
  • Cache API
  • Mime helpers
  • ETag support
  • Persistent flash notifications
  • Cookie support
  • JSON-RPC
  • Logging
  • and much more!

Project information
Nameexpress
Ownervisionmedia
LanguagePHP
DescriptionSinatra inspired web development framework for node.js -- insanely fast, flexible, and sexy
InformationView Readme.md
Releases
2.xtar.gz | zip
1.xtar.gz | zip

EJS - Embedded JavaScript templates for node - Express compliant

  • Complies with the Express view system
  • Static caching of intermediate JavaScript
  • Unbuffered code for conditionals etc <% code %>
  • Escapes html by default with <%= code %>
  • Unescaped buffering with <%- code %>
  • Supports tag customization
  • Filter support for designer-friendly templates
  • Client-side support
Project information
Nameejs
Ownervisionmedia
LanguagePHP
DescriptionEmbedded JavaScript templates for node - Express compliant
InformationView Readme.md
Releases

Socket.IO - Sockets for the rest of us

The socket.io client is basically a simple HTTP Socket interface implementation. It allows you to establish a realtime connection with a server (see socket.io server here), hiding the complexity of the different transports (WebSocket, Flash, forever iframe, XHR long polling, XHR multipart encoded, etc), while retaining a WebSocket-like API

Project information
Namesocket.io
OwnerLearnBoost
LanguagePHP
DescriptionRealtime application framework for Node.JS, with HTML5 WebSockets and cross-browser fallbacks support.
InformationView README.md
Releases

DNODE - Freestyle RPC for node.js (and perl, ruby, java)

DNode is an asynchronous object-oriented RPC system for node.js that lets you call remote functions.

It works over network sockets and even in the browser with socket.io.

Plus, there are dnode implementations for perl, ruby, and java, so you can glue together all your backend processes swimmingly.

Project information
Namednode
Ownersubstack
LanguagePHP
DescriptionFreestyle RPC for node.js (and perl, ruby, java)
InformationView README.markdown
Releases

backbone.js - Give your JS App some Backbone with Models, Views, Collections, and Events

Backbone supplies structure to JavaScript-heavy applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing application over a RESTful JSON interface.

Project information
Namebackbone
Ownerdocumentcloud
LanguagePHP
DescriptionGive your JS App some Backbone with Models, Views, Collections, and Events
InformationView README
Releases

haibu - a node.js application server - spawn your own node.js clouds, on your own hardware

haibu is the open-source node.js project for spawning and managing several node.js applications on a single server. It's an integral part of Nodejitsu's production stack and is fully supported by a dedicated team of core node.js developers.

haibu (which is Japanese for "hive") transforms node.js applications (using a Carapace) into "drones". This approach allows haibu to directly interact with node.js applications and add all sorts of additional functionality. haibu also contains a plugin system, so you can easily add even more functionality without needing to dive too far into the codebase.

Project information
Namehaibu
Ownernodejitsu
LanguagePHP
Descriptiona node.js application server - spawn your own node.js clouds, on your own hardware
InformationView README.md
Releases

Capsule - Real time web app framework for Backbone, socket.io and node.js

Capsule is an experimental web framework by @HenrikJoreteg for Node.js that uses Socket.io and Backbone.js to synchronize model state by sharing model code between the client and the server.

Capsule presents and experimental approach to building real-time web apps that re-uses the exact same models on the server as what you serve in a script tag in the html of your app. I've used this approach for a couple of apps, one of which our team uses everyday.

Project information
NameCapsule
Ownerandyet
LanguagePHP
DescriptionRealtime web app framework for Backbone, socket.io and node.js
InformationView readme.md
Releases

Saturday, June 4, 2011

Async utilities for Node.js and the browser

Async is a utility module which provides straight-forward, powerful functions for working with asynchronous JavaScript. Although originally designed for use with node.js, it can also be used directly in the browser.

Async provides around 20 functions that include the usual 'functional' suspects (map, reduce, filter, forEach…) as well as some common patterns for asynchronous control flow (parallel, series, waterfall…). All these functions assume you follow the node.js convention of providing a single callback as the last argument of your async function.

Project information
Nameasync
Ownercaolan
LanguagePHP
DescriptionAsync utilities for node and the browser
InformationView README.md
Releases

Futures - Promises (Futures), Subscriptions, and the like meant to tame the asynchronous nature of Node.js

FuturesJS is a JavaScript library which (when used as directed) simplifies the flow-control of asynchronous programming (aka Callbacks & Errbacks).

  • Futures - aka Promises, Deferreds, Subscriptions
  • Joins - Synchronization of multiple Futures and asynchronous / eventually consistent data
  • Asynchronous ForEach - an ordered, asynchronous ForEachAsync implementation available as a prototype or standalone
  • Events - (using Node.JS's EventEmitter, modified for browser use)
  • Sequences - Chains of chronological callbacks
  • Asynchronous Method Queues - Think Twitter Anywhere API
  • Asynchronous Models

Project information
Namefutures
Ownercoolaj86
LanguagePHP
DescriptionPromises (Futures), Subscriptions, and the like.
InformationView README.md
Releases

Wednesday, June 1, 2011

Connect - middleware and web framework for Node.js

Project information
Nameconnect
Ownersenchalabs
LanguagePHP
DescriptionConnect is a middleware layer for Node.js
InformationView Readme.md
Releases
1.xtar.gz | zip

node-oauth - OAuth wrapper for node.js

Project information
Namenode-oauth
Ownerciaranj
LanguagePHP
DescriptionOAuth wrapper for node.js
InformationView Readme.md
Releases

Nodeload - highly flexible performance and load testing for Node.js

Project information
Namenodeload
Ownerbenschmaus
LanguagePHP
DescriptionHTTP load/traffic generator and benchmark tool built on Node.js
InformationView README.md
Releases