Raptor.js(raptorjs.org)
raptorjs.org
Raptor.js
http://raptorjs.org/
6 comments
Thanks for the feedback! I'm the lead developer on RaptorJS and I completely agree that the messaging needs to be improved and that is what we are working on right now. We haven't actually started actively promoting RaptorJS, so yeah, I suppose you could say that it was announced a bit prematurely (thanks zengr!). Nevertheless, the toolset itself is very stable and continuously being improved so can be presently used.
While I'm at it, I may as well take this opportunity to try to "sell" you on the merits of this toolset :)
RaptorJS is a collection of front-end tools and modules that work really well together, but each module/tool can be used independently. Everything is designed to be optimized and simple to use. There's a lot there so I always recommend that people look at each piece independently:
- RaptorJS AMD: Very lightweight (~1.8k gzipped) and optimized AMD implementation that integrates seamlessly with Node and Rhino on the server and works in the browser as well
- RaptorJS Optimizer: Extensible tool for optimizing web resources (bundling, minification, compiling resources, etc.) that can be used at runtime or at build time
- RaptorJS Async Package Loader: Uses information generated by the RaptorJS Optimizer to optimally download packages of any type of code (JavaScript, CSS, LESS, compiled templates, etc.)
- Raptor Templates: An extensible templating language that also works really well for UI layout (embedding UI components, etc.) and allows for really clean HTML templates. Best-in-class performance. Try it out: http://raptorjs.org/raptor-templates/try-online/
- RaptorJS Widget Framework: Simplifies the initialization of widgets associated with rendered UI components (regardless of whether or not they were rendered on the server or the client). Also provides a mechanism for binding widgets to HTML elements and inter-widget communication.
Sometimes the easiest way to explain things to developers is through sample apps so I would encourage you to take a look at the following Github repo: https://github.com/raptorjs/samples
Feedback welcome and appreciated. Thanks for looking!
While I'm at it, I may as well take this opportunity to try to "sell" you on the merits of this toolset :)
RaptorJS is a collection of front-end tools and modules that work really well together, but each module/tool can be used independently. Everything is designed to be optimized and simple to use. There's a lot there so I always recommend that people look at each piece independently:
- RaptorJS AMD: Very lightweight (~1.8k gzipped) and optimized AMD implementation that integrates seamlessly with Node and Rhino on the server and works in the browser as well
- RaptorJS Optimizer: Extensible tool for optimizing web resources (bundling, minification, compiling resources, etc.) that can be used at runtime or at build time
- RaptorJS Async Package Loader: Uses information generated by the RaptorJS Optimizer to optimally download packages of any type of code (JavaScript, CSS, LESS, compiled templates, etc.)
- Raptor Templates: An extensible templating language that also works really well for UI layout (embedding UI components, etc.) and allows for really clean HTML templates. Best-in-class performance. Try it out: http://raptorjs.org/raptor-templates/try-online/
- RaptorJS Widget Framework: Simplifies the initialization of widgets associated with rendered UI components (regardless of whether or not they were rendered on the server or the client). Also provides a mechanism for binding widgets to HTML elements and inter-widget communication.
Sometimes the easiest way to explain things to developers is through sample apps so I would encourage you to take a look at the following Github repo: https://github.com/raptorjs/samples
Feedback welcome and appreciated. Thanks for looking!
Check out the templating system:
<ul c:if="notEmpty(colors)">
<li style="color: $color" c:for="color in colors">
$color
</li>
</ul>
<div c:else="">
No colors!
</div>
Not sure if that's been done before but I think attaching "display logic" to specific elements in the DOM is interesting.FYI, when designing the Raptor Templates language I borrowed that technique from the Genshi templating language:
http://genshi.edgewall.org/wiki/Documentation/xml-templates....
When the template compiler understands the actual HTML structure of the document the compiler can do some really interesting and smart things that would otherwise be impossible with template compilers that just see the document as text. Personally, I really like how the HTML template has the exact same nesting as the output HTML markup that it produces. To me, making the HTML template look as close to the output HTML markup makes things a lot cleaner and easier to understand.
When the template compiler understands the actual HTML structure of the document the compiler can do some really interesting and smart things that would otherwise be impossible with template compilers that just see the document as text. Personally, I really like how the HTML template has the exact same nesting as the output HTML markup that it produces. To me, making the HTML template look as close to the output HTML markup makes things a lot cleaner and easier to understand.
I didn't spend whole lot of time on checking all the features but I liked the templates and specially try-online tool. Templates are clean, easy to read, and close to final HTML. Compared to other templates it is much better in terms of features and readability. Love the fact that the compiler is already built-in, which is very important for performance.
yfiles for html has a strikingly similar approach to going about doing things.
How many people thing "A modular Javascript Toolkit!! just what I've been looking for!"
Compared to Knockout "Simplify dynamic JavaScript UIs by applying the Model-View-View Model (MVVM)"
Backbone "Backbone.js gives structure to web 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 API over a RESTful JSON interface."
bootstrap "Sleek, intuitive, and powerful front-end framework for faster and easier web development."
I'm not going to dive into your code to find out what you're selling me. You need to tell me what I can do with it, and if I'm interested, then I'll delve deeper.