
Ember.js - Web Applications Done Right - joachimhs
http://www.infoq.com/articles/Emberjs-Web-Applications
======
sc0rb
Is Ember.js actually worth learning? Will it make me a better programmer (like
learning Haskell will)? Will it enable me to get a pay rise from my current
£480 per day contracting fees? Is there a more diverse and active job market
than there is around my current main language (Java)?

What's the point of my learning yetAnother.js?

Why the down vote? I'm asking serious questions that as a professional
software engineer, I worry about. The two devs next to me have expressed
similar feelings when I told them about this article.

Down voting me because you don't like what I said is against the HN
guidelines.

~~~
tjholowaychuk
When you see things like Ember.Object.create() it's a clear sign to run, this
isn't Java

~~~
jops
You're not a fan of the way Ember's doing things? I'm a js intermediate trying
to get deeper into the language, so (as you're a respected js guy) if you
could expand on the comment then that would be awesome. Thanks.

~~~
jessaustin
I think the implication was rather that Java dudes would be uncomfortable
working with a modern JS library, and here is one example of why. Normal
people don't have to run.

------
johnernaut
Albeit a great resource for the community to continue to produce tutorials
like these on front-end frameworks, 'Web Applications Done Right' is a
complete nonsense notion for what was presented. What would be hugely
beneficial for beginners is someone who would take the time to go through a
large-scale web app using one of these technologies. In my experience building
large-scale front-end applications, I had to resort to using techniques that
aren't really documented anywhere with good examples (extracting objects into
presenters, decorators, dynamic template inheritance, etc...).

These simple one-page apps are great as an initial learning resource - but it
leaves people not understanding what they're getting themselves into later on
down the road.

~~~
joachimhs
Thank you for you comments. This is one of the goals that I am trying to
achieve through my book-in-progress Ember.js in Action (Manning Publications).

And I do agree. Examples of large-scale applications built with any of the
MVC-based frameworks is lacking.

~~~
johnernaut
Book looks interesting - I'll have to dig into that. Thanks!

------
pc86
I have trouble taking "[X] Done Right" articles seriously when they're posted
on pages that are plastered with ads and look like the CSS hasn't be touched
since 2004.

~~~
joachimhs
I'm sorry to hear that. The design and operation of InfoQ is out of my hands
though :)

------
Torn
For those writing substantial client-side JS apps (rather than sprinkling
jQuery here and there), a client-side MVC framework is definitely the way to
go.

EmberJS has however gotten a lot of flack recently regarding its docs,
learning curve, and lack of API stability.

The following hn link compares Angular, CanJS, Backbone and Ember:
<https://news.ycombinator.com/item?id=5563223> and would be a useful resource
when picking a framework.

We're using Backbone to write a client-side widget / look and feel library,
with a bunch of Models and Views out of the box to help application developers
write rich web apps. Backbone has worked out great so far, but we've had to
take decisions on a fair amount of things and put the groundwork in for things
like dust templates, nested views, etc.

Things like Angular, CanJS, Ember, make these decisions for you and can
definitely save time, if you're happy with their way of doing things.

That said, we don't have View Bindings / Two-way bindings built in, we have to
use Backbone Event's _listenTo_ manually. It's worked ok for us so far,
especially when you have multiple views on the same model that need to do
different things when the model changes.

~~~
HarshaThota
> That said, we don't have View Bindings / Two-way bindings built in, we have
> to use Backbone Event's listenTo manually. It's worked ok for us so far,
> especially when you have multiple views on the same model that need to do
> different things when the model changes.

Knockback.js (<http://kmalakoff.github.io/knockback/>) may help with that.

~~~
Torn
Thanks, I'll look into that.

------
dave_sid
Ember.js is interesting and I might even use it one day, but to suggest that
web apps written in anything else are 'done wrong' is bollocks.

~~~
joachimhs
I'm sorry you read it that way, but I do not think that I have said, nor
hinted, to that at all.

~~~
k3n
My perception of "Web Applications Done Right" is that it implies that any
other way is "wrong".

~~~
joachimhs
Well, that perception assumes that there are only one correct solution, and
that there are no grey areas...

Your perception is deterministic, while mine is probabilistic.

~~~
k3n
I'm just telling you what it comes across as, a perception that apparently I'm
not the only one to hold (in fact, I wasn't going to mention it except that
dave_sid had the same reaction).

Defend it all you want, but that's not going to change the fact that some
readers will see it as an underhanded jab.

------
stevewilhelm
This example Web application isn't really "done right" until it authenticates
a user and restricts photo requests based on user credentials and gracefully
handles a large number of user photos (say hundreds of photos, not just ten).

