

Raptor.js - zengr
http://raptorjs.org/

======
pedalpete
I think maybe they've released this too early, or needed to spend a bit more
time on the marketing.

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.

~~~
psteeleidem
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!

------
tehwebguy
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.

~~~
psteeleidem
FYI, when designing the Raptor Templates language I borrowed that technique
from the Genshi templating language:
[http://genshi.edgewall.org/wiki/Documentation/xml-
templates....](http://genshi.edgewall.org/wiki/Documentation/xml-
templates.html#template-directives)

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.

------
nk94555
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.

------
kristopolous
yfiles for html has a strikingly similar approach to going about doing things.

