We're currently undergoing a complete frontend re-write (after we have proved with prototype we can make money) using Angular and I must say it's been an emotional rollercoaster with plenty of love and hate, but at the end of the day, love wins hands down. I haven't used much Backbone, so you could say I'm biased, but the truth is that Angular really teaches HTML new tricks (directives) which can save you days (or we…
This library looks awesome. I made an angular service that does the same thing but it took a lot of effort. What's your blog url? I'll add it to my rss and keep a look out for when you add this in.
Angular or Backbone: what are startups using?
41–50 of 77 posts
Re: Angular or Backbone: what are startups using?
#42Earlier quoted context omitted.
I'd be interested to read about your issues with it. It is definitely weird , but I don't think it's for its own sake, rather it's adding a new layer of abstraction which will always come off as a bit strange until you get used to it, e.g. lisp. I've not had awful problems debugging it, certainly no more than any other js library spitting out "cannot read property 'foo' of null" all over the place with stack traces t…
I do love having easy two-way data binding, too, certainly. To clarify: When you use a directive with an "isolate scope", you have to pass it parameters in your template, which means using arbitrary "HTML attributes" in ways that do not, in fact, have anything to do with HTML attributes. E.g.: Is it plausible that HTML eventually defines a meaning for `model` and/or `compact` attributes? Did you just write illegal HT…
Re: Angular or Backbone: what are startups using?
#43I've played with both and I honestly still don't feel comfortable with computing the view on the client side instead of in my code on the server. Most of the form factors we use regularly to access HTML5 type applications are in flux. Today we see the latest quad-core Snapdragon that screams across the silicon leaving empty battery cells in its wake. Tomorrow may be a battery friendly OS that sacrifices resources in…
But using them has the effect of shifting computational work from the server and network to the client - eg, from an environment you control to one you don't.
Besides the examples you gave, what if someone loads your site on an overworked computer with multiple apps running and 20+ browser tabs open (yours truly, guilty as charged), how will your app perform? The potential performance variance across different platforms, and even similar platforms under different loads, can be large.
It was just a year ago that Twitter announced they were shifting page rendering from the client back to the server specifically to solve that problem [1]:
"When we shipped #NewTwitter in September 2010, we built it around a web application architecture that pushed all of the UI rendering and logic to JavaScript running on our users’ browsers and consumed the Twitter REST API directly, in a similar way to our mobile clients. That architecture broke new ground by offering a number of advantages over a more traditional approach, but it lacked support for various optimizations available only on the server.
To improve the twitter.com experience for everyone, we’ve been working to take back control of our front-end performance by moving the rendering to the server. This has allowed us to drop our initial page load times to 1/5th of what they were previously and reduce differences in performance across browsers."
While both JS performance and Moore's Law march on [2] and may one day negate this issue, my rule of thumb so far remains to favor server-side (and CDN) for computation and performance, unless there's a clear business/technical case for computation-heavy front-end (SPA on a corporate Intranet is good one, for example; or an SPA targeting an audience you know is savvy about local resource usage).
[1]: https://blog.twitter.com/2012/improving-performance-twitterc...
[2]: For desk/laptops at least. Need a Moore's Law for batteries for mobile.
Re: Angular or Backbone: what are startups using?
#44Earlier quoted context omitted.
I'd be interested to read about your issues with it. It is definitely weird , but I don't think it's for its own sake, rather it's adding a new layer of abstraction which will always come off as a bit strange until you get used to it, e.g. lisp. I've not had awful problems debugging it, certainly no more than any other js library spitting out "cannot read property 'foo' of null" all over the place with stack traces t…
I do love having easy two-way data binding, too, certainly. To clarify: When you use a directive with an "isolate scope", you have to pass it parameters in your template, which means using arbitrary "HTML attributes" in ways that do not, in fact, have anything to do with HTML attributes. E.g.: Is it plausible that HTML eventually defines a meaning for `model` and/or `compact` attributes? Did you just write illegal HT…
Re: Angular or Backbone: what are startups using?
#45On a recent project I used pjax, because it was way simpler to figure out what the heck was going on, and it did not have a bunch of extra stuff that was difficult. Angular seemed very nice - until I tried to do something that it did not foresee and... wow... things get complicated really fast when you do that.
Re: Angular or Backbone: what are startups using?
#46Am I the only one whose brain was unable to parse the graphs as the article went on? By the time I hit the blue-orange switching diagram (for that's what it most closely resembled), I was fairly sure that I was being put on by the authors.
Re: Angular or Backbone: what are startups using?
#47Re: Angular or Backbone: what are startups using?
#48I have used both in my startup job and vastly prefer angular to backbone, however I think it's not quite an apples to apples comparison as angular provides a lot more than backbone. That isn't meant as a criticism of backbone per se, rather I think they are actively going for different things - backbone makes it easy to achieve a client-side rendered single page website with MVC separation but lets you control actual…
After spending two or three months with Angular, I’m running away screaming. I really owe people a blog post about it, but basically, it’s hard to debug, weird for weird’s sake, and polluting of the HTML namespace. Death by a thousand cuts — and by disregard for best practice.
Re: Angular or Backbone: what are startups using?
#49Earlier quoted context omitted.
I do love having easy two-way data binding, too, certainly. To clarify: When you use a directive with an "isolate scope", you have to pass it parameters in your template, which means using arbitrary "HTML attributes" in ways that do not, in fact, have anything to do with HTML attributes. E.g.: Is it plausible that HTML eventually defines a meaning for `model` and/or `compact` attributes? Did you just write illegal HT…
FYI, you can prefix all of Angular's HTML additions with data-ng- * attribute.