GithubHelp home page GithubHelp logo

NOTICE - NO LONGER WORKED ON

Hi, SocketStream isn't maintained anymore, but the code is here for anyone who wants to take a look.

There are lots of other Node.js web application frameworks out there, please consider those instead for building your applications.

Paul Jensen, Wednesday 15th May, 2019.

SocketStream!

SocketStream

Build Status Dependency Status devDependency Status Code Climate Codacy Badge NPM version Gitter chat Issue Stats Issue Stats Coverage Status Stories in Ready

Introduction

SocketStream is a framework for Realtime Web Apps

Latest release: 0.5.3 unstable (view changelog)

Live demo | Documentation

For existing SocketStream installations you may want to remain on 0.4.5 for a while. It is the most backwards compatible and robust and well covered by tests. It should be ready for production.

The coming releases will see a lot of changes to accommodate new transport options modern browsers and mobile apps. The API will remain largely the same, but there are bound to be some changes.

Installation

npm install -g socketstream

Usage

socketstream new <your_app_name>
cd <your_app_name>
npm install
npm start

Then open a web browser at localhost:3000:

open http://localhost:3000

Upgrade from 0.3 or 0.4 to 0.5

To make SocketStream more stable some major dependencies have been moved out. Please add these modules to package.json.

  • socketstream-cookie-session: 0.5.x
  • engine.io: 1.5.2
  • engine.io-client: 1.5.2
  • redis: 0.12.1
  • connect: 3.4.0

Why SocketStream?

The Real-Time web has been touted for years, and it is very much in use. However there remains a number of challenges that have not been solved. Web Sockets will remain an important technology for delivering a live experience on your website or mobile app. However with HTTP/2 and WebRTC other options come into play. SocketStream will help you to mix and match depending on what you aim to build.

It gives you tools to manage your project:

  • Providing a sensible place to put everything
  • Accelerating deployment with integrated asset packing and CDN support
  • Production Deployment skeleton
  • Good debugging output

Integration points:

  • Accelerating development with Live Reload and (optional) support for Stylus, Jade, and other transpilers.
  • Add-ons can be dropped in without configuration needed picking between Cookie and Token based auth.

Easy progression from REST

A good REST API will remain the right solution for many scenarios. Web pages will remain based on HTTP. Streaming is pixie dust sprinkled on top. SocketStream will be refactored to support a gradual addition on pixie dust keeping the REST structure as the central point.

Batteries included:

  • Dependencies are peer, so you pick the versions you want to use.
  • Built-in CommonJS bundler (ES6 on-the-way)
  • Built in formatter integration for: Sass, LESS, Stylus, Jade, Hogan
  • Built in template engine integration for: HTML5, React, Angular, jQuery
  • Built in transport integration for: Socket.io and SockJS
  • Examples

Building a simple chat app that uses websockets is easy, but rich, non-trivial, responsive realtime UI without ending up with a mess of code is hard SocketStream eases the pain by:

How to

Applications using SocketStream

  • Dashku: Realtime dashboards and widgets using HTML, CSS and JavaScript. Also hosted at dashku.com.
  • SketchDeck: An app for designing great slide decks from sketches, also a Y Combinator tech startup.
  • Hollow: An interactive, emmy-nominated documentary.
  • Bitjoy: Realtime Bitcoin prices and news.
  • Teeleader: A booking engine for Golf courses.

Presentations

Videos

(most recent at end)

Documentation

Checkout the documentation here.

Team

Owner: Henrik Vendelbo

Original Creator: Owen Barnes

Core Contributors:

  • Paul Jensen
  • Roman Minkin
  • Robert Hall
  • Joshua Cullick

Contact

License

SocketStream is released under the MIT license.

SocketStream's Projects

prism icon prism

A fast, modular Realtime Server

rtt-mock icon rtt-mock

Mock Realtime Transport (for internal testing and benchmarking only)

rtt-ws icon rtt-ws

Pure WebSocket Realtime Transport (using einaros's 'ws' library)

ss-coffee icon ss-coffee

CoffeeScript code wrapper for SocketStream 0.3

ss-coffeekup icon ss-coffeekup

CoffeeKup template engine wrapper providing server-side compiled templates for SocketStream apps

ss-console icon ss-console

Adds a Console (REPL) interface to your SocketStream app

ss-ejs icon ss-ejs

EJS (HTML) code wrapper for SocketStream 0.3

ss-hogan icon ss-hogan

Hogan template engine wrapper providing server-side compiled templates for SocketStream apps

ss-jade icon ss-jade

Jade (HTML) code wrapper for SocketStream 0.3

ss-less icon ss-less

Less (CSS) code wrapper for SocketStream 0.3

ss-ractive icon ss-ractive

Ractive.js template engine wrapper providing server-side compiled templates for SocketStream apps

ss-sockjs icon ss-sockjs

SockJS websocket transport layer for SocketStream 0.3

ss-stylus icon ss-stylus

Stylus (CSS) code wrapper for SocketStream 0.3

test-429 icon test-429

A base SocketStream app to replicate issue 429, and resolve it

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.