

AngularJS - Complex Web Apps Made Simple - yadirosadi
http://blogupstairs.com/framework/javascript-framework/angularjs-complex-web-apps-made-simple/
Angular JS is what HTML would have been if it had been designed for building web applications. It provides your application’s plumbing so you can focus on what your app does, rather than how to get your web browser to do what you need. it is more a templating system with bidirectional data binding, your model is always the single source of truth for your application state and your view is simply a projection of your model.
======
chapel
I have been using Sammy.js (<http://code.quirkey.com/sammy/>) for a few weeks
now, and I have to say that it really accomplishes "Complex Web Apps Made
Simple" but in a flexible way. There are many template engines out there, from
Haml to Jade, it really depends on what you are looking for. The nice thing
about Sammy.js is that you can use many of the template engines available, or
even include your own as a plugin. I personally am looking into ejs since I
prefer to write my HTML.

------
jhrobert
Just for fun I integrated this morning Angular in my "work in progress" wiki.

<http://simpliwiki.com/sandbox/AngularHello>

Impressive!

------
OwlHuntr
Looks very cool and promising! This would work great with node.js I think.

------
Charuru
Don't link to blog spam: <http://www.angularjs.org/Main_Page>

Can anyone compare this with knockoutjs and backbone please?

~~~
catshirt
I can't speak towards either too directly (as I've only used each briefly),
but in my experience the concepts of Backbone are a stronger conclusion
derived from the same problem that likely sparked AngularJS.

AngularJS essentially has you put a bit of logic into your HTML via
parameterization. While I understand where the logic for this type of design
seems useful (I've developed similar patterns on my own volition), the model
driven pattern Backbone uses offers greater flexibility. For a basic reason,
separation of view and data. I also find the nativity of Backbone appealing;
Javascript and HTML as they were intended.

On the other hand, in my experience the benefits of parameterization include
very easy "out of the box" behavior, which seems to be the more likely
(perhaps targeted) use case for AngularJS.

~~~
netghost
My take was that Angular and Knockout are really about databinding, while
Backbone is more of a solid MVC pattern.

~~~
catshirt
Perhaps, but consider that in terms of a client side application, databinding
makes up a huge part of the first two layers. Leaving only the controller
layer.

The controller still in fact exists in AngularJS, but is moderated by Angular
itself. Which is why there are configurations, parameters, rules, etc. This is
where you start to sacrifice flexibility for automation.

Edit: It seems Backbone uses a controller to literally describe how the app's
routing works. I've never considered routes a controller's job given
traditional MVC work (Cake, Lithium, etc). I was using "controller" to
describe the event functionality that Backbone views provide (as a controller
for how DOM objects behave when you interact with them). I don't think this
alters my point much though.

~~~
zachrose
In my experience, it's turned out that the C in MVC isn't actually all that
useful for client side web apps. Between routing, nested views, view methods
for event handling, and fat models, there isn't much left to control.
Active.js dropped the controller a few versions back.

~~~
catshirt
Yes... I'm with you but misspoke, tried to clarify in my edit. I was using
"controller" as a term to describe "view methods for event handling". Clear
conflict there since Backbone's "controller" is definitively something else.

------
TimothyBurgess
Just so I'm clear on the etiquette at HN... it's acceptable to advertise your
own products/work (without a "Review my...")?

I'm not trying to undermine Mr. Rosadi... just curious.

~~~
proexploit
In my opinion, it seems fine for someone to submit their own work under
another title than Review / Show HN. I look at the quality of the content
rather than title but if the title was overly spammy ("Forget Backbone: Learn
about the world's best ....") I'd have an issue with that too.

