"GETTING STARTED WITH EMBER.JS IS EASY." - no it isn't


#1

on the emberjs home page it shows how easy everything is! it’s only 13 lines of js!

ok let’s dive right in! I’m excited!

step 1. ember.js isn’t actually included here hmm i guess we’ll need that

step 2. where does this js go? let’s put it in some random file, main.js

step 3. where does this template go? probably in the dom! ok so now we have

<html>
    <head>
        <script src="ember.js"></script>
        <script src="main.js"></script>
    </head>
    <body>
        <h1>People</h1>
        <ul>
        {{#each peopleController}}
            <li>Hello, <b>{{fullName}}</b>!</li>
        {{/each}}
        </ul>
    </body>
</html>

Ok this doesn’t work at all. Let’s look at the console I guess?

'Uncaught Error: assertion failed: Ember Views require jQuery 1.8 or 1.9 ’ - are you serious? ooook let’s add that…

‘Uncaught Error: assertion failed: Ember Handlebars requires Handlebars 1.0.0-rc.3 or greater’ - oh god this is going to be fun, isn’t it?

let’s say we figured out that we also need to put handlebars in that weird script tag…

<html>
    <head>
        <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
        <script src="ember.js"></script>
        <script src="handlebars.js"></script>
        <script src="main.js"></script>
    </head>
    <body>
        <script type="text/x-handlebars">
            ...
        </script>
    </body>
</html>

'Uncaught Error: assertion failed: Ember Handlebars requires Handlebars 1.0.0-rc.3 or greater ’ - what did I do wrong? …

oh I guess, handlebars needs to go before ember. ok fine. moving on…

‘Uncaught ReferenceError: App is not defined’ - for the love of … ok let’s do some googling …

by the awful grace of god we figure out to add this line to the top of main.js…

var App = Ember.Application.create();

'Uncaught ReferenceError: DS is not defined ’ - ok, this is insane. Let’s go to ‘API’ ( http://emberjs.com/api/ ) to figure out what DS is supposed to be

I would guess it means data store? but there’s nothing like that on ‘API’…

You know what? Let’s just go to ‘guides’ and load the quick start tutorial. Ok, there’s no quick start. great! Let’s uh… try to find something. Core concepts? Guys, I just want to run a little toy app test. Handlebars basics? … Should I be crying right now or is that unexpected user behavior?

Let’s google for emberjs tutorial! Someone must have done this before. Oh good, top result ! trek.github.com ! “this article has been removed.” super cool! back to google! second result is a SO quesiton! oh good! No code at all! OH GOOD! Oh good, there’s 3 more results linking to the first dead article! FANTASTIC!

Can I just has quickstart guide please? I’m going to bed now sad, because I thought I’d have an ember app up and running in a few minutes, but it’s not quite as trivial as the 13 lines of js make it out to be apparently.


#2

This might not be exactly what you are looking for but it should get you started with the simple foundations of an Ember application.


#4

I definitely feel your frustration. The tone of this topic is not in line with the civil level of discourse I’d like to maintain here, so I cannot respond.


#5

Try this “Getting Started with Ember.js” tutorial from Tom Brandt. It reflects Ember 1.0.0-rc.1: http://twbrandt.github.com/2013/02/11/Ember-Quick_Start_Guide/ I don’t think you will find it wanting on any of the points you mention above.


#6

You’re right that the highest ranked Stack Overflow question for the Google search does not help at all. I’ll try to ask the author to improve their question; but if you do get it figured out, you could always ask and answer your own Stack Overflow question. I know I’d upvote it because it doesn’t seem like there’s anything out there that really goes through step by step (on Stack Overflow).


#7

Ever tried Angularjs.org instead ? Has Dom-Templating and 2-way databinding built in.


#8

@trek I think that’s the wrong response. There is nothing personal or non-constructive here, just honest frustration, and helpful details about why. If it bothers you the he’s frustrated, it’s because it bothers you that so many people feel the same way and you haven’t gotten around to fixing the problem yet.

Lots of people are holding off on using ember because of this sort of issue, and letting your ego get in the way of supporting the community would be unfortunate.


#9

Have to agree with you. @trek you’re an Ember.js team member if I recall and from my experience on the jQuery project (I was the Developer Relations lead), the best way to build up an effort is to be patient, even with people that may not communicate in the nicest way. Chances are that if you point them in the right direction, you’ll go a long way to winning them in the end. Simply dismissing them based on the tone of their post just makes the situation worse, which eventually leads to worse situations.


#10

Andrew, check out my first post on getting into Ember here:

I’m going to be writing a multi-part series on getting up to speed on Ember along with an online course.

Don’t give up just yet. Ember is still a new effort and the team is learning everyday how to help and work with the community.


#11

The tone of this topic is not in line with the civil level of discourse I’d like to maintain here, so I cannot respond.

Wow, what a completely frivolous and insulting lack of a response. News flash: the “tone of this topic” that you’re picking up on is the result of the frustration forced upon him by your project’s shoddy documentation (and by shoddy, I mean incomplete, inconsistent, and sometimes simply factually inaccurate) not meeting the expectations set by your marketing copy. Instead of taking responsibility for his frustration as “documentation czar”, or addressing any of the valid criticisms he raised, (or, you know actually trying to resolve his issues) you chose to nit pick about his “tone”, alienating both him and anyone else who was considering getting started with ember. Well played.


#12

Interestingly enough, 4 days ago…


#13

This exactly the steps I went trough! exactly the same, and just dropped it! Seriously the documentation is seriously lacking!


#14

If only you had started by watching my screencast </ troll>

http://toranbillups.com/blog/archive/2013/03/02/emberjs-rc1-introduction-screencast/


#15

This is the response I posted on the Hacker News thread about this forum post.

NOTE: This is specifically in response to people upset over @trek’s response. There have been many other helpful responses to the OP in this thread.


Knowing @trek, I think his frustration here is in large part with himself. He cares very deeply about giving users a good experience with Ember and knows that we aren’t achieving that as well as we’d like. We’ve been planning and working on an improved Getting Started story for a while now but, because all of us on the Core Team are very busy with our day jobs, it’s been slower going that we would have liked.

To have more people point out your shortcomings when you’re already well aware of them is very frustrating. I think this is what we’re seeing in Trek’s response. Now that doesn’t mean that I think his response is helpful - it’s not. But I do want it to be clear that we do care about these issues and sometimes maybe too much.

When our new Getting Started Guide is finally released, I promise that we will do our best to address all of the different comments and complaints we receive from our users.


#16

Have you read through the Guides linked from the top of the page? I ask because they cover some of the questions you raise. I was also able to find this starter-kit on Github which includes a barebones index.html that includes all the right libraries: https://github.com/emberjs/starter-kit


#17

Obviously, there is a problem with the homepage of Ember.

A quick comparaison with sites like angular.js, knockout.js and even backbone.js, give us a hint that a lot of people will have a hard time to figure out basic stuff, like dependencies.

A quick fix would be to link to un up-to-date starter kit (sadly, the latest one include an old version of Ember), mention all the dependencies of the framework (like backbone.js does) and a list of up-to-date resources/tutorials.


#18

I replied to this on HN: https://news.ycombinator.com/item?id=5407425

I totally empathize with @delvarworld and hope he gives us another look once we’ve improve the getting started experience some more.

Things we are actively working on for 1.0:

  • A Getting Started Guide with live examples that walks the user through building a new application from scratch ( @trek is working on this).
  • Continuing to improve our guides to talk through areas that might be confusing for new developers, like the naming conventions we use in Ember.
  • Ember 1.0 will feature the return of the Starter Kit, which directly addresses the concerns by the OP. We removed it temporarily to bring it up to date with the most recent idioms, but it will be coming back very soon. This was a hard decision that sucked, but leaving around an out of date starter kit seemed worse than removing it.

#21

is the result of the frustration forced upon him by your project’s shoddy documentation

Shameless hyperbole. No one “forces” anyone to use a free software product or read it’s documentation. I’m amazed that you’re using victim language to frame the experience of a person who merely discovered that Ember.js is a pre-1.0 project that hasn’t polished up the packaging yet.

I, too, experienced great frustration when I first started, and ended up abandoning my blog EmberNoob (at least for now), partially because it was too difficult to figure out and keep up with changes. The difference between me and others bitching in this thread is:

  1. I realize that it’s mostly a matter of time and patience.
  2. I try to remember that no one owes me a free, awesome, stable, well-documented javascript MVC framework.

They’re in the final cleanup right before a 1.0 release. Now’s exactly the silliest time to be bitching. And Trek is the silliest person to direct your anger at. His guide was the best in it’s class at the time, meaning he can be most credited with attempting to solve the very problem you’re bitching at him for during that period. He only removed it because it was obsolete relative to the unusually rapid pace of changes following the publication of the guide, over which he doesn’t have primary control.


#22

I absolutely believe it is the responsibility of the Ember team - with support from us developers on this board and StackOverflow - to make Ember as simple as possible. But certainly a dependency of jQuery and the need to include it before Ember loads is not too much to ask. Stick with it!


#23

I totally get the frustration here. I started using Ember when they were still SproutCore 2.0. I got used to the API then and as Ember matured and the API changed, of course I was frustrated. But you know what, with any new language, library, framework, whatever, there will be growing pains for everyone.

These guys have done an amazing job building something extremely powerful and we have yet to even scratch the surface of what is possible with Ember. It’ll take time on their parts to keep the project progressing, and it’ll take time on your part to learn it.

Would I prefer that there be a bunch of awesome example uses to help me along? Yes. That day will come, Ember is still a baby. For now, I am ok using their docs, SO, and Google to get me through.

If you’re really stuck, why not utilize this board to post actual constructive questions for specific questions instead of just slamming these guys.

Just remember, these guys didn’t have to build Ember. They don’t have to keep improving it. They don’t have to do anything but pay taxes and die. So next time you want to stone someone who has built something because they know the community would benefit from it, think twice.

Great job Ember Team! Thank you for all of your hard work!