jondubois / nombo Goto Github PK
View Code? Open in Web Editor NEWNode.js Realtime App Framework
Home Page: http://nombo.io/
License: MIT License
Node.js Realtime App Framework
Home Page: http://nombo.io/
License: MIT License
Watch for file changes on server interface modules and update them in node without having to restart the server.
Modules should be loadable using:
var myModule = $n.grab.framework.module('modulepath', fresh);
The module should emit a 'load' event when it is loaded and work with $n.ready() as normal.
Allow user to specify templates to bundle at launch which will be usable by client side code.
Currently the only way to bypass server cache (for static files served over HTTP) is using some tricky custom middleware. It would be nice to allow the client to easily bypass server cache to make sure that it gets the most up to date version of a file.
Issue #2 should be resolved before moving on to this one (it will make this task much easier).
In the readme file, there is a list of "several" "features". That list is 14 entries long and sort of a wall-of-text situation. You might want to cut it down a bit. I personally didn't even read it all when I first saw it, just because it was so densely packed in.
These are the things that caught my eye:
You might want to shove the rest off to the side somewhere and focus on the interesting bits. I mean, the other "ground-breaking features" are... well... not actually that ground-breaking. Everyone already knows that node is kind of quick, and obviously it's going to be JavaScript, and really, "socket.io" isn't a feature.
Play to your strengths, guys!
Minify when in release mode only.
Instead of letting the router handle all these aspects, split it into multiple middleware layers.
The flow of a request should be something like this:
(req, res) >> userDefinedMiddleware(req, res) >> respondFromCache(req, res) >> rout(req, res) >> gzip(req, res) >> respond(req, res)
Each middleware will need to decorate the req object with pending response data after the request has passed through it. Once the final respond() middleware is reached, the response will be sent.
When using grab, scripts from app/scripts and /~framework/client/scripts/ should be grabbed using AMD.
Use browserify to bundle (in release mode) js scripts & libs imported using require() to minimize the number of requests and speed up first-time load.
Static bundling and loading will be facilitated by browserify while $n.grab will deal with dynamic loading of files.
Make the default loading screen more interesting by adding a progress bar.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.