Hacker News new | past | comments | ask | show | jobs | submit login
Backbone Aura Developer Preview (addyosmani.github.com)
108 points by jashkenas on June 8, 2012 | hide | past | favorite | 18 comments



Looks really interesting and like pfraze I think it's important that we rethink the way we build our sites and applications; focus on composing applications out of reusable tiny JS components (widgets) will make them more robust and easier to develop in the long run, once we get out of the teething stage of trying to figure out how to structure it all.

That said, the architecture they're proposing here seems a bit convoluted; is there really no simpler way to package together your widgets than calls that bounce around to different objects and 'core' methods?


There are many many ways to package and deploy an app. That's a double-edged sword of the javascript ecosphere right now. For larger apps/projects, I think that a clean separation of concerns into widgets with a mediator of some sort is the way to go, and aura establishes such a pattern. Will it fit a blog? Probably not. But then, you won't even need AMD-style modules for most blogs.


I have a basic grasp of what Backbone is capable of, but can't really tell what Aura improves on that. At first glance it seems to abstract MVC constructs away and lets you define those widgets with a single function call. Is that what this is about?


(first of all; sorry for my english) Actually it's not about technical side of things. It's about paradigms and philosophies. Addy Osmani is trying to apply enterprise application development patterns to JavaScript. That what i understand from reading all of his blog posts :)


Backbone is very minimalist, which is great because it gets out of your way and you rarely end up bundling huge unused chunks of code with your app. However it also means that you're going to have to write a decent amount of boilerplates and make design choices as to how you want the different parts of your application to work together. This can be non trivial and I would advise any newcomer to do it by hand after reading a book like [Javascript Patterns](http://shop.oreilly.com/product/9780596806767.do) but for people who already know where they are going and understand all the implications of such patterns, a framework like Aura can probably speed up development tremendously. With that said I'm going to dive in the Aura source code asap to see what it really looks like. If you know NodeJS, I think it's fair to compare Aura to Restify and Backbone to the http module.


Also have a look at Addy's large scale app demo

https://github.com/addyosmani/largescale-demo

and the corresponding slides/talk


Soundcloud apparently has been doing something similar to this - http://spadgos.github.com/blog/2012/06/01/soundclouds-stack-...


Link to video of Nick's longer, more complete talk given at the SFJS Meetup in this thread: http://news.ycombinator.com/item?id=4062076


Looks promising. Browser javascript needs good architectural environments, and these are talented devs.


Looks awesome. Hopefully some of these features will be pulled into Backbone.


hopefully this doesn't happen. Backbone is fine as it is.


Well, Backbone as it stands doesn't really allow you to have these kinds of app-in-itself unities capable of communicating with one another. Clearly, this isn't for everyone and for all purposes. Backbone is "fine as it is" for plenty of things, but I would be willing to bet that the Backbone devs will eventually make these enhancements part of the standard architecture.


"Aura is currently missing two important items needed to help us get out a stable release. These are good unit tests and stronger documentation."

I can understand the lack of documentation, but I balk at the fact that framework developers wouldn't use TDD to guide the development :(


It seems that TDD is not the best approach to design such framework. When you expect your api change frequently on early stages, tests may be trhown away wery fast and be useless. So it's better to delay writing tests for time, when api becomes stable more or less. You need to know what to test before actually test.


I've found that TDD is pretty crappy for exploratory development on things like frameworks. It's much easier to test once I've hit the point where I know how everything should look and behave.


Yeah, in my own experience TDD makes a lot more sense when you have something substantial built.. like say version1 of a product. Doing TDD from the scratch is a lot more hassle without substantial gains


Ya, the biggest issue is that it makes tacking on tests a lot more tedious/challenging. You have to Crete the seams where TDD evolves them via API.

I generally agree with the notion that "exploratory spikes" are much needed. The trick is to toss those in the rubbish bin and TDD the real API. Bet of both worlds.


Developer preview? Thank you very much! git clone.....




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: