Episode 32

032 JSJ Angular.js


October 19th, 2012

50 mins 47 secs

Your Hosts
Special Guests

About this Episode


Misko Hevery (twitter github blog)
Igor Minar (twitter github blog)
Jamison Dance (twitter github blog)
Joe Eames (twitter github blog)
Tim Caswell (twitter github howtonode.org)
AJ O’Neal (twitter github blog)

01:33 - Angular.js (twitter github blog)

02:33 - Angular.js compared to other frameworks

04:03 - How does it work?

05:22 - Cost

06:06 - HTML Compiler

07:02 - Directives

10:31 - Working with browsers in the future

12:07 - Dependency injection

16:50 - Main method

18:48 - Using require.js

20:53 - How would you build a TreeView widget in Angular?

24:07 - Where data is stored

24:42 - Scope

29:47 - Syncing to servers


31:34 - Testability & Services in Angular

39:04 - Benefits of Angular

Dependency injection


The Arrow (Joe)
Font Awesome (Tim)
Testacular (Igor)
Plunker (Igor)
The Better Angels of our Nature: Steven Pinker (Misko)
XCOM (Jamison)
The Foundation Series: Isaac Asimov (Jamison)
Influencer: The Power to Change Anything (AJ)

[This episode is sponsored by ComponentOne, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to wijmo.com and check them out.]

[Hosting and bandwidth provided by the Blue Box Group. Check them out at bluebox.net]

JAMISON: Hi everybody and welcome to episode 32 of the JavaScript Jabber podcast. I'm not your host Charles Max Wood, I'm Jamison Dance. Chuck is at a conference this week. So, he is not here. We have with us Joe Eames.

JOE: Hey everybody!

JAMISON: Tim Caswell.

TIM: Hello.

JAMISON: And we have two special guests. I'm going to mangle your names, so I'm sorry. It’s Misko Hevery.

MISKO: Misko Hevery. Yeah, thank you.

JAMISON: Misko Hevery and Igor Minar?

IGOR: Minar. Yeah.

JAMISON: Great. You guys wanna introduce yourself really quick?

MISKO: Sure. So, this is Misko Hevery, original creator of Angular.js.

IGOR: Hi everybody! I'm Igor. I joined Misko about 2 years ago on this venture of creating better browser and better environment for creating client-side applications.

JAMISON: And if you can’t tell, we are going to talk about Angular.js this week. So, I know it is kind of a Google project now. Did it start out that way?

MISKO: It started out with something I was working on and eventually I've open sourced it at a product with Google internal application and just gotten such a rave reviews and new features that people actually says, “Hey why don’t you work on this full time and turn in on to a real product?” So, that's how it’s started.

JAMISON: Oh, wow. So, there’s actually a team in Google who are working on Angular as their job?

MISKO: Yeah.

IGOR: Yes.

JAMISON: That's awesome.

IGOR: It’s just two of us here now, but we have a bunch of other people working full time on Angular.js and also main contributors--

JAMISON: Oh, go ahead sorry.

IGOR: There is a team behind Angular.js.

JAMISON: Do you think you can give an overview and kind of a comparison to contrast Angular to some of the other MVC frameworks that people like before you? I mean, Backbone I guess is what most people know.  So, what makes Angular different from Backbone? How does it work?

MISKO: So, I have never used Backbone besides it’s framework. But, my understanding is that Backbone is basically you have declare model and then launch on changes on its mode. And the way it does so is that there is a model class object. And whenever you modify the models that use special getters and setters methods, the Backbone know about the changes. So, this is pretty different from Angular because we don’t require you to inherit from anything. We have special getters and setters. Basically, any JavaScript object can be a model. So, that’s one big difference.

JAMISON: But you can still observe the changes on objects like that?

MISKO: Right.