This course has been updated! We now recommend you take the Ember Octane Fundamentals course.
Transcript from the "Introduction" Lesson
[00:00:00]
>> [MUSIC]
[00:00:39]
>> Speaker 1: So, I'm Mike and I'm gonna teach you all about Ember today. A little about me, so you know my perspective. I'm an Ember.js, Ember-cli, and Ember-data contributor. I have, in varying degrees, touched many of the things in the Ember ecosystem. Right now, I'm the CTO at a company called Levanto Financial.
[00:01:02] And until about a month ago when I moved to Levanto, I was the UI Architect for Yahoo's Ads & Data division. And I don't know if you guys keep up with this kind of thing, but Yahoo is not using YUI anymore. Ember is a big part of what has displaced YUI as the go-to framework there.
[00:01:27] And hopefully I had a big part in the adoption of Ember at Yahoo. I also organize a meetup called Modern Web UI, the aim of which is to foster cross-pollination between all of the framework communities so we don't end up in our own little silos, telling each other the same ideas.
[00:01:49] And I do a lot of open source work as well, especially in the Ember and JavaScript ecosystems. So different kinds of developers have the thing they love about programming. Some people love efficiency and making an algorithm 10% faster, or handling all of the edge and corner cases. For me, it's productivity and composability.
[00:02:13] I think one interesting thing about programming is that what you did for your last project, you can take with you almost for free, and use that as a building block for what comes next. If you're a construction worker, you can't do that. This is something where you can keep building and building, and other people's work helps you get started faster.
[00:02:35] And so I like to kind of run with that. And my background, my education is actually not in computer science. I consider myself a product guy who has been coding for 15 years. So I love getting things out there quickly, getting feedback. And Ember is very well-suited for that kind of thing, for getting off the ground as quickly as possible, building things in and sort of to make that experience more robust over time.
[00:03:06] And I hope by the end of this course you guys will see that Ember is particularly good at that. Another thing you should know is that I am very active in writing Ember addons, which are the plugin architecture for Ember. This is an easy way to bring something like Google's material design into your app in 60 seconds.
[00:03:31] And I'm not sure if I have the most addons or the best addons, but I know I have a lot of addons. And whenever I build a product or take on a project, I'm likely to spit out one or two of these things along the way in an effort to kind of keep the ecosystem going.
[00:03:52] So in terms of what we're gonna cover through this course, it's a little different that what you read online, and I think it's better. The focus here is gonna be on making sure you guys understand the framework and some of the core libraries that you really would have a lot of trouble building a complex app without.
[00:04:13] I want you to understand those very, very well, rather than touch on, at a very superficial level, a bunch of other things. So first, we're going to talk a little bit about Ember's philosophy and point of view. So how is it different from Angular? Why do we need another web framework?
[00:04:32] Good questions, and I hope I have some answers for you. I wanna set some goals so that we know what we're aiming to do, what I'm aiming to have you guys able to walk away with. We'll discuss the structure of an app in terms of the source code, where do you look for what.
[00:04:48] And then get into templating and the router, and then we'll start coding. I hope we can get coding in a little over an hour, but definitely before our first break here. And we'll keep referring to this here. But just to give you an idea of what's coming, we're gonna talk about routing, which is sort of the mapping of URL driving state throughout your application.
[00:05:15] We'll talk about where to store state on your app, where it's okay to store state and where you should avoid storing state. We'll deal with talking to APIs, today we're going to talk to the Github API. We're going to be listing out Github organizations, and repositories, and issues tracked in those repositories, to give you an idea of, if you were working at GitHub or had an API like that, how do you build this hierarchy of data on the client side?
[00:05:46] And how do you display that reasonably? The highlight of the afternoon will probably be components, which are a lot of fun. That's your ability to define an expressive way of composing user interfaces, using your own building blocks. So we're gonna build a bunch of different components. We're gonna talk about computer properties, and that should take us to the end of the day.