Podcast: Checking out Aurelia with Peter Pavlovich

Aurelia LogoWe’re joined by Peter Pavlovich to discuss Aurelia, why Rob Eisenburg left Google and the Angular2 team to work on it and why it’s definitely worth checking out!

If you want to stay up to date with the latest developments in the modern web development space, join us at the 2016 Angular Summit in Boston. Don’t miss out on early-bird rates! Register now (before 9/2) and save $150 with early-bird rates!

Full transcript:

[background music]

Michael Carducci:

You’re listening to the “No Fluff Just Stuff” podcast, a JVM Conference series with dozens of dates around the country. There’ll be one near you. Check out our tour dates at nofluffjuststuff.com.

[music fades out]

Michael:

I’m joined here at the Angular summit with Pete Pavlovich.

Peter Pavlovich:

Hi.

Michael:

Tell us a little bit about yourself.

Peter:

Sure. I work for an energy intelligence software company named EnerNOC, located here in Boston.

Michael:

I had the privilege of attending several of your talks this stop at the summit here. One of the things that I thought was really interesting was your thoughts on Aurelia, specifically that Google developed Angular for themselves. Google is the customer in this case. This philosophy led directly to the development of Aurelia. Tell us a little bit about this.

Peter:

I’ve been following Aurelia for quite a while now, and its founder, Rob Eisenberg, was a core contributor to Angular 2. Actually, he’s the developer of Durandal and a couple of other front-end frameworks, one of which is used by Wal-Mart for their corporate site, for their commercial sites.

Michael:

That answers the, “Can I use this in production?” question.

Peter:

Durandal is an amazing framework built on top of Knockout. He’s been doing this business for probably close to 10 years now. I don’t question his ability to build frameworks that scale. He had been envisioning the next great UI framework and he had started working on Durandal next.

He had a vision for where he wanted to go with it. He was publishing some prototypes, and I guess he caught the attention of the Angular 2 team. They looked at his vision and thought that it was such a close match to their own that they invited him to come and join their team as a full-time consultant, so he did.

One of the biggest projects that he worked on for that project was the new router for Angular 2. If you look at the Aurelia router and you look at the router for Angular 2, the two of them are virtually identical. He went to work for them. He made some major contributions. If you look at some of the ng-europe talks for 2014, he’s the spokesperson for a number of those projects.

Unfortunately, it must have been around July or that time frame I think, they had a parting of the ways in terms of Angular 2. The team started taking the project in a direction which was contradictory to the vision which the two of them had shared originally.

I’m just reiterating what Rob said in a couple of his interviews, where he’s talking about this passion for this. He said that he tried to convince them to come back onto the straight and narrow of where they said they wanted to go, but he was unable to do that. They persisted in going down the road that they went to.

Then, in November of last year, in 2014, he decided that there had been a sufficient separation of their goals that he decided to leave and to go back to the community he had originally founded, which was the Durandal and all of that, which was still very healthy and active.

He wanted to pursue his vision, and so that’s what he did. He formed a new team. In February of this year, 2015, he announced that this project was coming out of stealth mode and it was going to be rebranded as Aurelia.

I’m anticipating what he would have said, but based on what I’ve seen, I think his time at Google exposed him to some of the thinking corporation. His time with other frameworks also made him aware of the way companies feel about these frameworks that they develop for internal purposes.

On one of his talks, he was talking about this.

He said, basically, “Look, when you go to Google and say, ‘Hey, you know, Google, I’m a big customer of yours, a big fan, a big customer. I’ve got a large shop and, you know, we love your product and we use it a lot, internally. But I need to understand your road map, because I need to adjust my schedules and all of this. So is there a way I can talk to your product manager and figure out what’s coming, so that I can anticipate it properly?'”

And they’re like, “Wow, what a great idea. Yeah, you’re a big customer. We really appreciate the support and everything else. So what product is it that you use of ours?’ ‘Well, Angular.'”

The answer would be a blank stare, and, “Well, I’m sorry, but Angular is not a product, not a product of ours, and you’re not a customer of ours. There is absolutely no revenue model. It’s not tied to any business process that we have. It’s not a product, and you’re not a customer.”

They use this internally for their own purposes and to make their own company successful. They’re going to take that product in the direction which is right for their company as their primary motivator. That is quite obvious from what happened at ng-europe, when they announced, basically, “OK, we’re going off in this direction, and there’s going to be no basic upgrade path,” and blah, blah, blah.

The reaction was so violent and strong from the entire community that, for PR reasons, they had to retract some of that, backtrack on it, and say, “OK, OK, OK. We’ll try to figure out a way to make an upgrade path for you,” because it was a PR nightmare.

Michael:

Sure, I remember that.

Peter:

Obviously, the external developers who use their framework are not a key component in the decisions that they make.

Rob took that experience when he formed this new company, Durandal, Inc. He said, “This company’s sole purpose, its only business reason to exist, is to ensure that it engages with its customers.” Its customers are those developers who use this framework. Their job at this company is to make those developers successful. When I heard that, I was like, “Finally, somebody is actually watching out for me, the developer, and actually cares.”

The other thing that he said that caught my attention was, “If we ever make changes to this framework, you can rest assured and be totally confident that the reason that we took the framework in a given direction was solely due to the input of those programmers using this framework, not to some internal business requirement that has nothing to do with you, our external developer customers.”

He’s also making sure, through this company, that they have partnership with reasonably large and sufficiently present consultancies, to make sure, if you do need additional helps and consultants, that they will be available.

The other thing he’s done is he has somehow fostered one of the most supportive public communities that I have ever had the privilege of interacting with. I go onto the Gitter room for Aurelia, I ask a question. I will get, literally within 10 minutes, four or five people answering the question. 9 times out of 10, one of those people answering my question personally is Rob himself.

Michael:

Wow!

Peter:

Just amazing. Just amazing, the support I’ve got, and I’m just a guy playing around with this stuff. I’m not using Aurelia on any production applications. I gave a talk on it here so I had some questions about some of the more nitty-gritty stuff. The responses I was getting was just amazing. The level of access that you have to the engineers and to the head of the whole thing is just phenomenal.

Michael:

What’s interesting is, if you look back a couple years ago at all the frameworks that were out there, the JavaScript client-side frameworks, it seemed like a new one was coming out every week.

Peter:

True.

Michael:

People have really consolidated around a handful. I think that’s the secret sauce between make or break for a framework is the community around it. If you’ve got something that doesn’t seem to have an active community, isn’t being actively developed, or has a risk of being dropped by a major sponsor, we’ve all been burned like that.

Peter:

Yeah, it’s true.

Michael:

There were some big struggles around Grails 3.0 for example, just because it got rushed out the door, which is a shame, because there’s a lot of great stuff in there.

Peter:

Yeah.

Michael:

How is the traction of Aurelia?

Peter:

It’s sometimes hard to tell these things. I really love Gitter as a tool. It allows you to tap into the community of developers who are using whatever framework it is that you’re talking about actively. It’s a great communication tool. I found that, for a lot of these big projects, the core developers are actually monitoring that.

People that are somewhat are in the know are starting to say, “We need to subscribe to those projects who have Gitter accounts who we’re interested in.” I started looking at that and I logged on a couple of times. It sort of shows the number of people that are involved in the conversations.

Angular and Angular 2 are all in one room. I looked on there at one point, and there were 2,490-some-odd people. I was like, “OK, so that’s interesting. Angular’s been around for six years. That seems like OK.” Then I went to the Aurelia room, who has been out for less than six months at the time, and there were 2,100 people in there.

Michael:

Oh, wow.

Peter:

It was six years versus six months, and already they’ve got that kind of traction. There are a lot of people who are looking at this as an alternative, a possible alternative, or something interesting enough to draw their attention.

Michael:

To at least tinker with.

Peter:

Yeah. When you go online and do a search for Aurelia versus Angular 2 side by side, it’ll take to Rob’s blog, where he actually does bring a code up, side by side, of Angular 2 versus Aurelia. You look at the two of them side by side and you say, “I see his point about going in the wrong direction.”

The Aurelia code is so clean and concise, and unpolluted by framework code. You look at it, it’s a pure ES 6 class. You look at it, and there’s no indication that it’s an Aurelia component at all. Why is that good? It’s good because, if there’s no framework code in my class, if they change the framework, if they rev it to the next version, I’ve got no changes to make.

It also removes all the distractions and all the plumbing, so I can focus on the code that matters to me, which is my business logic, my attributes, my stuff. My workspace is uncluttered, my mind is uncluttered, I can focus on my task. All the plumbing is taken out of my way.

I really love those principles. A couple of talks that I’ve heard about Aurelia, as well, talk about that as a guiding principle behind the foundation of this framework, and that they’re staying true to that. They’ll do whatever they can to try to make sure that they keep that framework code to an absolute minimum.

For an example, they also want to make sure that you don’t have to learn things that you don’t need to. Where they need to actually put syntax in, what they’ve done, for instance the binding syntax in the templates, is exactly the same binding syntax that is used in ES 6 for strings.

Instead of inventing their own, they used and borrowed from something that you’re already going to have to learn. They did the same thing for the iterators. It’s exactly the same format, the same vocabulary that you use in ES 6 to iterate over a collection. You use the same one in Aurelia’s templating. A lot of the decisions they made made a lot of sense to me.

Michael:

If I was going to start a new project right now and I was considering Aurelia, what are the risks? What are the things that I should really be thinking about?

Peter:

The first thing is that it’s not even alpha yet.

Michael:

Oh, really!

Peter:

Some people have tried, I think, to push him for a date on when they’re going that way. The answers that I’ve heard have been, “We’re not going to rush this, because we want your experience…” He understands that we’re chomping at the bit. The fact that we’re chomping at the bit is, I think, something that’s driving them, that’s motivating them, too, which is great.

They don’t want to release something that you’re going to fail with. That first 10 minutes that you work with a framework determines how you view that framework going forward. They want you to have a very positive experience, right from the very beginning. I understand that, I respect that, and I’m willing to wait.

Actually, I’m not. I’m jumping in right now, and apparently a lot of other people are. That’s something else that’s sort of cool, too. This not a monolithic, single-download framework. They have made this a cooperative collection of independent modules. Again, they’re all ES 6 modules, independently.

If you don’t like the HTTP client that they provide, you can pop in your own. When you go and you look at a particular project, you may end up with 20 or 30 Aurelia modules in there. They’re all independent and cooperative.

The other thing is, by doing it this way and making them completely independent of each other…for instance, their dependency injection module, according to a thing that Rob was saying, there are people that have actually taken that.

Even though it’s meant for a front-end, client-side framework, because it’s JavaScript, it’s pure ES 6, and it’s independent, has nothing to do with the DOM, nothing to do with the browser. They can take that dependency injection module and use it in server-side applications that run on Node. There are people that are actually doing this, so it’s sort of neat.

Michael:

It’s definitely worth, if nothing else, checking out.

Peter:

Definitely check it out.

Michael:

Keep it on your radar.

Peter:

Absolutely keep an eye on it. Start playing with it now. You can do some pretty cool things with it right now, even in the state that it’s in.

Michael:

What about the support? The Gitter community sounds like is really alive. Is there a lot of content starting to appear on the Web, blog posts and things like that?

Peter:

The apparently are talking about a number of deals with some major publishers for books, electronic, I assume, as well as printed. They’ve got planned, a whole series of educational videos. They’ve got lots of blog posts. There are lots of videos up on YouTube already and more all the time. There’s actually a course on Pluralsight for it already, and I expect to see more and more of that.

The other thing, all the people that I’ve talked to that have played with this at all are incredibly enthusiastic about it. They’re probably of the same mindset as mine. It’s not quite something I’m going to bank on right now in terms of trying to put a production app out by January of next year, for instance, but it’s definitely something I want to keep on my radar.

I want to start doing some prototypes so I keep up with it and I keep focused on what’s happening with it. Definitely something to keep an eye on.

Michael:

This has been great. You heard it here first. Check it out. Peter, thank you so much.

Peter:

Oh, thank you.

Michael:

I’ll see you on the road soon.

[background music]

Peter:

You know it.

Michael:

At No Fluff Just Stuff, we bring the best technologists to you on a road show format. Early bird discounts are available for the 2016 season. Check out the entire show line-up and tour dates at nofluffjuststuff.com.

I’m your host Michael Carducci. Thanks for listening, and stay subscribed.

[background music only]

 

One thought on “Podcast: Checking out Aurelia with Peter Pavlovich

  1. This is a great explanation of Aurelia! One big note is that we are in our Beta v1 time period. We plan to have a few major updates including Babel 6 support, lots of performance updates, etc… in a Beta v2 which should be much shorter prior to the big v1 release.

Leave a Reply

Your email address will not be published. Required fields are marked *

*