Skip to content
This repository has been archived by the owner on May 26, 2019. It is now read-only.

Add tutorial for building your first Ember app #445

Closed
michaelrkn opened this issue Jul 21, 2015 · 31 comments
Closed

Add tutorial for building your first Ember app #445

michaelrkn opened this issue Jul 21, 2015 · 31 comments
Assignees

Comments

@michaelrkn
Copy link
Contributor

Once upon a time, the guides opened with a tutorial that showed brand new Ember developers how to build an app from start to finish. As that tutorial became increasingly out of date, it was removed from the guides with the intent of replacing it with an up-to-date tutorial. Much time has passed, but at long last @poteto has spearheaded the creation of this tutorial. I (@michaelrkn) am helping her out, and we'll hopefully have something to show before too long!

@ygrenzinger
Copy link

Meanwhile is there an up to date tutorial somewhere on the net ?

I have to create an internal app with EmberJS and most of the resources except the official docs seems outdated.

@michaelrkn
Copy link
Contributor Author

I'm not sure, but I'd start with something like this search (the date is arbitrary).

@ygrenzinger
Copy link

Thanks ! Yes it gives better answer :)

@locks
Copy link
Contributor

locks commented Aug 6, 2015

@ygrenzinger check http://emberwatch.com/books.html for more suggestions, of the first four I'm not unfamiliar with Puri's but the others should be relatively up to date.

@wldcordeiro
Copy link

Oops, didn't see this issue, #565 is a duplicate. Closing that and subscribing to this. Also willing to help out with writing a basic tutorial.

@michaelrkn
Copy link
Contributor Author

Thanks for the offer @wldcordeiro! Let me get back to you within the next few days.

@wldcordeiro
Copy link

@michaelrkn no problem. Here's an idea of a TOC for the tutorial, I'm not super familiar with Ember myself but I think that could be useful when writing beginner tutorials.

  • Installation
  • Creating app and tour of folder structure
  • Generating models and interacting with them in console
  • Creation of routes and controllers
  • Writing templates
  • Writing Tests
  • Basic styling

@locks locks self-assigned this Aug 17, 2015
@locks
Copy link
Contributor

locks commented Aug 17, 2015

@wldcordeiro feels backwards to me to talk about models ahead of Routes, which is where everything falls from in Ember. I also don't like the idea of interacting with them in the console that much, what's your idea behind that?

@MarkMT
Copy link
Contributor

MarkMT commented Aug 17, 2015

Agree with that. Routes are more fundamental to the overall architecture than models.

@greyhwndz
Copy link
Contributor

I also agree that Routes should first be introduced since it is more fundamental to Ember. Models will come in later. I find a 'slice-of-things' approach effective where the new user is exposed to the fundamental Routes --> Template then revealing the Controller and then eventually the Model. Components needs to be established next since we are supposed to have transitioned to that and I think Services has to be introduced along clarifying how it will be used in the world of components going routable. Ensuring a clear understanding on the functional relationship between these sure does provide a sound foundation into digging deeper on some more specific mechanics provided by each. This could progress into further 'tweaking' each aspect to serve usual application requirement scenarios. Tests I think should not add to the initial burden of learning the fundamental concepts that's why I think it would be more beneficial and eventually satisfying for it to be introduced later. Satisfaction is a rather often disregarded aspect when providing support to the community of developers (especially new ones). There is a big possibility of developers disregarding these because of their natural technical bias of knowing things already clouding the stance to take on the perspective of new developers to Ember who have definitely have a different 'lens' coming into the Ember development community.

Perhaps the use of pods could further be emphasized now that it's already 2.0. The concept and implementation of pods in relation to the components can be established furthermore.

The different areas of the tutorial can be 'sprinkled' with references to the different guides and API docs on instances where a more in-depth explanation and examples are necessary.

FAQs can be compiled and categorized in the site and in fact could be ID'd so they can be referenced in the Slack channel. I could see questions along similar veins that @tombot could eventually grab hold of to lessen the repetitive manual provision of answers. We should make use of this mechanism otherwise I feel it funny for masters of automation not to apply this to our own support to the community.

References will provide some external links to further enrich their learning experience.

The idea of a tutorial could provide a great medium to deliver a progressive story line. I would be glad to further look into the 'revival' of the tutorial by @michaelrkn & @poteto and hopefully be able to contribute to that effort.

@wldcordeiro
Copy link

I have no particular affinity for the order I suggested. I only threw it out there to get the conversation going as to how to write the tutorial. @locks @MarkMT

@wldcordeiro
Copy link

@greyhwndz

Perhaps the use of pods could further be emphasized now that it's already 2.0. The concept and implementation of pods in relation to the components can be established furthermore.

I like that idea, I think it'd be cool to show the new user first how to make an app the straight forward way and then how to port it to use pods?

@greyhwndz
Copy link
Contributor

@wldcordeiro: I think your list is great and should be taken in the context of good intention. It's an important step towards coming up with something and you should be thanked for it 👍

@greyhwndz
Copy link
Contributor

@wldcordeiro: Exactly. I think the pods have is important in the implementation of Components and in architecting an ambitious Ember app. I hope we also get 'meta' as in we also do an ambitious guide/tutorial to creating ambitious Ember apps 😉

@zacharywelch
Copy link
Contributor

👍

@bravely
Copy link

bravely commented Sep 2, 2015

There should also be somewhere in the tutorial where we're actively using Computed Properties, and Computed Property Macros, especially those like filter.

Also, I'd love to be involved in this.

@michaelrkn
Copy link
Contributor Author

@bravely Thanks for offering to help! There are already a couple people working on the tutorial, but we'd love to get your help with any issue labeled help wanted.

@githubshrek
Copy link

"we'll hopefully have something to show before too long!". When, more or less, do you expect this to be?

I would favour having bits which are ready released sooner rather than waiting for something perfect later. Perfect is the enemy of the good and all that.

@michaelrkn
Copy link
Contributor Author

@githubshrek We all would. Please be patient - the people working on this are all volunteers, and it is a big project. Several people have volunteered to help out and then not been able to do so, but we have someone actively working on it right now and the first PRs should come in next week.

@wldcordeiro
Copy link

@michaelrkn is there a branch they're working on or in a fork?

@steveklabnik
Copy link
Contributor

A new tutorial is very much needed, and something that I really missed when trying to learn Ember recently. Will go through and read the other PRs and leave some comments 👍

@marktinsley
Copy link
Contributor

+1 from an Ember newbie

@githubshrek
Copy link

I understand that there are volunteers writing. But isn't it possible to do things in a wiki style, where every change gets put live straight away. It was 13 days ago that it was said above "the first PRs should come in next week.".

I had a week to work on EmberJS and that has now gone and been lost because there was nothing to help me get started. It would be better at least if there was a 1-liner that said: if you're a newbie, use Ember 1.3 where there is a tutorial.

@michaelrkn
Copy link
Contributor Author

@githubshrek is an open PR for this here: #801

@michaelrkn michaelrkn mentioned this issue Sep 25, 2015
15 tasks
@Joelkang
Copy link

Between this tutorial and the getting started guides, I was wondering if there's place to discuss concepts in greater detail -- the biggest issue I had when starting was that I didn't quite understand how everything worked together.

It would be nice to have a one pager that has a (fairly detailed) lifecycle diagram (or explanation) from literally when you hit a url to what gets rendered on the page. Not sure if this makes sense in the guides or in a tutorial.

@locks
Copy link
Contributor

locks commented Sep 25, 2015

@Joelkang a related pertinent question is who would write that ;)

@michaelrkn
Copy link
Contributor Author

@Joelkang like this and this?

@acorncom
Copy link
Contributor

Gosh @michaelrkn, I was going to link to that image. Can't you give me three minutes headstart? ;-)

@michaelrkn
Copy link
Contributor Author

@acorncom no way! ;)

@Joelkang
Copy link

@michaelrkn yisss. Because I'm largely a visual learner these things help me so much -- more detailed lifecycle diagrams for routers (before/afterModel, redirecting, storing and replaying transitions) and components (didReceiveAttrs etc.) would all be super useful. And I'm more then willing to help add / edit / illustrate.

@michaelrkn
Copy link
Contributor Author

Awesome! Feel free to open PRs.

On Saturday, September 26, 2015, dudboi notifications@github.com wrote:

@michaelrkn https://github.com/michaelrkn yisss. Because I'm largely a
visual learner these things help me so much -- more detailed lifecycle
diagrams for routers (before/afterModel, redirecting, storing and replaying
transitions) and components (didReceiveAttrs etc.) would all be super
useful. And I'm more then willing to help add / edit / illustrate.


Reply to this email directly or view it on GitHub
#445 (comment).

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests