Adventures in Angular

Adventures in Angular is a weekly podcast dedicated to the Angular JavaScript framework and related technologies, tools, languages, and practices.

Subscribe

Get episodes automatically

110

110 AiA Special Angular 2 Final is Released


Angular 2.0

Angular Bootcamp

Angular Remote Conference 

 

Panel: Joe Eames, John Papa, Jules Kramer, Lucas Reubelki, and Charles Max Wood

Special guests: Kara Erickson and Brad Green

2:00 – Introducing Angular 2.0!

 

7:30 – Release plan for updates

 

11:25 – Angular 3.0?

 

13:50 – What to expect from 2.0

 

16:15 – Angular within the Javascript world

 

18:00 – Updates to Angular’s Ecosystem

 

18:45 – Patch releases and docks

 

19:55 – Why did Angular 2.0 take so long to come out?

 

24:40 – Top three things to know about Angular 2.0

 

26:15 – CLI, AOT, and Lazy Loading

 

30:22 – Angular 1.0 to 2.0

 

36:05 – Promoting Angular 2.0

 

38:25 – Plans for NG Upgrade

 

39:40 – Impact of Angular

 

Picks:

Stranger Things (Kara)

Three Body Problem by Cixin Liu, translated by Ken Liu (Brad)

Hamilton (Ward)

Starship’s Mage by Glynn Stewart (Joe)

Gulp (John)

Rogue One (John)

Angular Connect (Lucas)

Maggie Appleton (Lucas)

Get to Work Book (Lucas)

Angular 2.0 Workshop with John Papa and Dan Wahlin (Lucas)

Angular Remote Conference (Charles)

Webinars (Charles)

This episode is sponsored by

comments powered by Disqus

TRANSCRIPT

Charles: Hey everybody and welcome to the Adventures in Angular show, this week on our panel we have Joe Eames.

Joe: Hey everybody.

Charles: John Papa.

John: Hello.

Charles: Lukas Ruebbelke..

Lukas: That’s me.

Charles Ward Bell.

Ward: Hello, hello.

Charles: Jules Kremer.

Jules: Hello, hello.

Charles: I’m Charles Max Wood from Devchat.tv. We have a few other special guests here. We have Brad Green.

Brad: Hi.

Charles: We also have Kara Erickson.

Kara: Hello.

Charles This week, we’re going to be talking about Angular 2.0, and in particular, maybe I should ask the question you dodge me on all the time. I keep asking, when is Angular 2.0 going to be out final?

Jules: Angular 2.0 is going to be final right this second.

Charles Yeeeey.

Lukas: Can we take a moment? I need to compose myself, I’m weeping. It’s been a long two years, I’m pretty emotional right now.

Charles: I’m going to ask, we did a show a few weeks ago and we talked about the RC5 and RC6 releases. I’m curious, has much changed between RC6 and final?

Jules: No.

Brad: Yeah, not too much. I had a type compiled with the big thing that has coming recently. We’ve been fixing bugs and really trying to make everything very nice for final so that it’s a really good experience for everybody.

Jules: The team’s been very focused in the last couple weeks on just as Misho told me earlier today, cleaning up our bedroom like we haven’t cleaned it in two years. I don’t think people realized that before you release a file or something, you do have to do that clean up. We’ve been focused on that, know what RC6, we dedicated all the APIs, make sure we don’t have problems with our final but that’s pretty much the only changes.

Joe: If I may, I was kind of in energy when we started to get a sense of what Angular 2.0 was going to be to now. I’ve been on this crazy ride since day one, looking back on the last two years, knowing what we know now, what would you have done differently?

Brad: We would’ve release it a year ago.

Lukas: I’ll just take another moment of silence while I compose myself.

Charles: Were you joking or were there years worth of, oh we don’t want to do that, we want to do this.

Brad: I am joking. It really did take us that long to figure it all out. When we started this project, it was kind of on a hope and a prayer that we would get to where we are today. There was a lot of hope but maybe not belief that we would end being as fast as we think we could be and as long as we think we should be. We are very pleased and thankful that we are where we are today.

Joe: Did the scope creep? Was that huge in Angular 2.0?

Brad: It’s not so much scope creep. We run different projects here on the Angular 2.0. There’s things like the Angular material project and other bits that have features. Because material’s a spec, it’s nice we know those scope creeps on exactly but there are things we like to do but it’s very predictable.

We know about how long it takes to make a feature, we can estimate it, we can be really good knowing when it can come out. A framework has a whole bunch of layers that are super tightly coupled. As we’re trying to get particular emerged effects out of it like we’re want to make it compilable so it can be small or want to improve the sphere or want to change on API’s surface area, it affects everything else in the ecosystem. Whereas the feature is very isolated, all the changes that we made here getting to where we are ended up being this weird teeth or totter ride where it was felt much more like research of some sort rather than study progress for them all.

Ward: Does that mean that you have a lot of stuff that you ended up discovering that if you had known earlier on would’ve really cut a lot of corners and saved a lot of time?

Brad: Absolutely. Everything is easy once you know how to do it. It was an awesome discovery.

Ward: Is there an interesting example of something like that?

Brad: The compiler that we created required that we have a different bootstrapping mechanism and different way we organize the packages. That took us a long time to figure out exactly how that should go. To make it organic for people and to make everything work with the ES6 modules. There were tons of details. I don’t know, Kara, if you’ve got some other examples.

Kara: For things that have changed that way through discovery, I think just getting the feedback at the community is a really positive thing.

Jules: There was a thing like the new router, it only took us three shots to figure that one out.

Charles: I thought there were more news in there.

Lukas: Wait until 2.1, there’s going to be a newer one.

Charles: Yeah, in fact I was going to ask about that. This is 2.0.0.0 right? By the time this gets released, we’ll be at 2.0.0.2, are we looking at this kind of being an ongoing evergreen things or just going to be Angular going forward or you going to version it. What kind of versioning scheme are you looking at going forward from here?

Brad: We actually want to move to semantic versioning. Somewhere in the next six months. I hope it goes well for everyone. We want to have more predictability and longer cycles between big breaking changes.

The next one is, we’re thinking about in about six months from now where we will have many, many releases that improve various things and add features, APIs, etc. For major events, we have to worry about the upgrade and changing the coder response, we’re going to make sure that those happen at a very regular, predictable rate. We think every six month is a nice separation.

Charles: Gotcha. React Native releases every two weeks. You should think about that.

Brad: Okay. I think we’re going to have releases on a very regular schedule but we just don’t want to break your code.

Charles: Yeah, now I understand.

John: If I’m hearing you right Brad, it’s sounds more like, if you’re using Server then the patches will be more regular, maybe weekly, every other week or something kind of releases for little things but they won’t break any APIs in any way. And occasionally, we’ll have new feature that also won’t break APIs. The ones that might be a little more disruptive would be much more longer term.

Brad: It’s not just developers but it’s the whole ecosystem. People who write books, who write develop training courses, who do blogs. We want some longevity in the code that you write and make sure all that can go well for everybody who’s trying to learn from it.

John: A lot of folks has been, I know you guys must hear 20 times or hundred times more that we do, having concerns about much flux has been in the RCs, especially with the RC5, because the NG modules and AOT came out and that was a pretty big change. And people are like, “Okay, you know RCs, you’re not supposed to be making this many changes.” The other side to look of that is, it was a pretty huge and important change. If you didn’t make it during RC, you would’ve just broke your thing you just promised.

Brad: For folks who were living on the RCs who went to another, it’s been ample for sure. That’s the point of the RCs, we thought we have some things figured out and we just have not gotten them figured out. The API’s surface area was wrong but we want to make sure that it did happen before final and that’s what we did.

Jules: I think the team is really focused on making sure that the Angular core itself was really solid because our expectation now is that there’ll be numerous enterprises and people in our ecosystem and partners who will build their own stuff on top of that really solid core. That includes stuff that we might build on top of it as well.

John: Sure, like tooling Ionic, maybe even Angular material, bootstrap type things. You can also have a lot of the fire base APIs and things like that even. There’s so many things that you can build on top of Angular that if you don’t have that solid core, it becomes a problem. I know I’m going to be really glad to see this stuff stabilize.

Charles: I do have to ask though, we mentioned RC5 and the big changes there. Some of them more breaking changes. If you have breaking changes in the future, Server dictates that you update the major version number. We can see Angular 3.0, Angular 4.0, Angular 5.0, and it’s just not going to be this long a wait.

Kara: There will be an Angular 3.0.

Brad: It’s not a joke. It’s actually a thing. It’s going to be some time early next year.

Joe: No, wait a minute. You said there will never be an Angular 3.0

Brad: I think I did say that at Angular U. What I meant was that we wouldn’t be going through this big rewrite, upheave the world, change the continents of the globe, sort of process.

Joe: Yeah, you mean you really, Angular 2.0 waits today. This is just my personal view. Correct me if you guys feel differently but I look at Angular 2.0 is a rewrite, it’s a product that’s almost a new thing entirely. If you go back to Server now moving forward, then an Angular 3.0, 4.0, 5.0 isn’t a new thing. It’s just a progressive enhancement from where you are now, it’s less of a change.

Kara: Exactly right.

Brad: That’s right. We talked about this at NGConf but one of the things we’re also working on is if we’re using typescripts, were building tooling to help with the upgrade process. We’ve actually already started seeing benefits of what the tooling currently have inside when we upgrade Google, all the projects of Google on Angular 2.0. We’re hoping we can roll out some of this to make sure that the breaking changes that we do have is less painful for everyone.

Kara: That might be interesting for our listeners too, right. We have numerous customers inside Google already on Angular 2.0 that we can talk about. Google Fiber is on Angular 2.0, Adwords is on Angular 2.0, our internal CRM system called Green Tea, is on Angular 2.0.

We also already know numerous enterprise customers that are moving towards Angular 2.0. Some of which we already talked about publicly that, I can stay here like Who’s In Charge, Capital One, The Weather Channel, NPR. We’ve already seen a lot of people who are embracing it and then that will help us as we decide what goes in Angular 3.0. As we start to see actual usage and increase, we’ll get more use cases back, it will help us figure out what features to build next.

Lukas: Question I have is what can we expect in 2.1? What kind of sugars/features have indeed prioritized or is it a solid 2.0 release, setting this aside, we are cleaning the room as you say. What kind of things can we expect in 2.1?

Charles: I’m still popping bubble wrap in 2.0.

Joe: Yeah. I know man. I’m anxious to get my hands on the release.

Brad: We’ve already started, we’re on reducing the size even further and making Angular 2.0 faster in a bunch of scenarios that we found some areas working through. One of the things that Kara has been working on is how this is done. A rewrite of forms where she can even more talk about it, she actually looked in the end of all the issues and things will walk from it in this very core part of Angular and holistically, improves that area and ends.

I think we want to do this in some other areas. Kara, maybe talk about what you’ve done for the final release.

Kara: We tried to simplify the API surface a bit and make it a little bit more intuitive for people starting out with Angular 2.0. We’ve added some longer features like resetting forms that people have been asking for for a while and being able to buy and develop data directives, just little things that hadn’t worked previously that people expected to work when they were first starting out.

Generally speaking, we just tried to make it something that just matched expectation a little bit better.

Joe: I think we’re really looking at feature areas make sure that they hang together well, that they have APIs that are expected and obvious and that everything else with their messages and it just feels nice.

Jules Something else here earlier looking at, for post final release, I don’t know if it’ll be 2.1 or when but we expect that as we release final and more Angular 1.0 customers start to move to Angular 2.0, we’ll start to hear a little bit more about NG upgrade which I hope most of the listeners understand, allows you to upgrade Angular 1.0 to Angular 2.0 and we have those components working together.

We expect we’ll hear a little bit more about that and then we can figure out what we need to do to improve NG upgrade to make it even better.

Ward: That brings up the interesting question now that we’ve really got it and it’s out. How would you position Angular 2.0 in the field, in the domain of JavaScript application frameworks, both for example with respect to Angular and also other players in the field. Do you even think about other players in the field?

Kara: I definitely think we think about other players in the field. Here’s the thing that happens once a week, I get asked to do some competitive breakdown of Angular versus whatever view, react, backbone, amber, whatever other framework is the slice of choice for the week. I don’t think we look at it like that, we look at those teams as having great things to add to the JavaScript world and things we can learn from them and things that we can share with them and there’s a place for all of us.

I think if you ask me how I position Angular in the greater JavaScript world, I definitely position Angular as something that can be useful for any type of company. Write a start-up, a little start up just getting started before their seed funding, wants something fast and easy to get their app out all the way to some of our big, huge enterprises who have thousands and thousands of lines of code and have written their own libraries, frameworks and architecting best practices around it.

I personally think that Angular 2.0 is the jack of all trades in that regard, and I think we can play nicely with the other people in the JavaScript world if you want it to.

Charles: I’m curious a little bit about some of the other parts of the Angular ecosystem that are out there. You talk about Angular material, there’s Angular fire or whatever it’s called, there are some of the other things, I’m trying to think what they all are. What’s the testing like, Protractor? Are all of those part of this release too? Are they all up on Angular 2.0 as part of the process of doing this?

Brad: That’s right, we want to make sure that the entire ecosystem altogether. I think we have version of material that works with Angular 2, the CLI, Protractor, all of the bits.

There’s some experimental things that we still need to work through. Running inside the web worker is one of those things, were going to pay more attention to that also after. All of the mainstream bits that you’ve ever heard us talk about are ready along sides this Angular 2.0 final release.

John: Brad, help me understand something. For people wanting to use Angular 2.0 and then if you’re going to make continual updates like patches for example, will the docks be available the day of those patch releases? What really I’m trying to get to is how do people learn about the new features and get up and running with those as you guys continue to progress forward, is the docks the place to go or they’re going to be behind it or how is it going to work?

Brad: Work can come on in this two but the intention is that all of the docks for all the releases are always up in sync up to date. We actually run all of the tasks or bunch of the task from the docks to validate our releases to make sure that everything you see in the example can work in the latest release which is good.

                    The place you go to learn about the new features of course is just going to be the release notes on GitHub for our release.

John: Somebody wants to pull down the new bits of Angular 2.0 version 2.01 for example, whenever that comes out and they see some new feature in there that they want to look at or whatever. They will be out of the docks and that will be updated with that new thing. It’s not going to be outdated then right?

Brad: That’s right.

John: Awesome.

Charles: I have another question and I think as we’ve talk to you all throughout this process, we’ve asked this over and over again but why did it take so long?

Brad: I drove up to Tahoe with my kids this weekend, they were asking me the same question. Dad, why is Tahoe so far from San Francisco? Why would they put it over there? I didn’t have a good answer. It’s because we get there when we get there.

Jules: Just so we’re clear, Brad’s has a lot of children for the last two years asking, “Are we there yet? Are we there yet?”

Charles: Some of them are us. I think when you first announced Angular 2.0, it felt like, “Okay, so in six months, maybe a year, we’ll have Angular 2.0,” and then it felt like it was longer and longer and longer.

Brad: You’re right. It was longer. You’re totally right.

Charles: It runs exactly as long as it did, but yeah, it just seems like, “Oh well, now we’re going to add this in, we’ve figured out that we need to do this.” I’m super excited it’s out. It just felt like it took a long, long time to come around.

Joe: I think the timing is never perfect, right? I’m trying to look at this stepping back and it’s hard for all of us because we’re so involved with where we are but if we look at where we are now with Angular 2.0, we should first look at is what we waited for a good product? Are we happy with what we have right now? Is this thing really, really good? If that’s the case, then this is all well worth it.

If we also look back at all the changes that have happened, I was actually going through some code that I wrote, understand this so they’re asking in for notes. I had some code I wrote maybe seven months ago and it wasn’t working, I was trying to upgrade it.

Things have really evolved quite a bit and there were a lot of steps on the way. What really triggered at my head is, recently Apple just had a release press conference thing for their iPhone. I think iPhone 7 or whatever it’s up to. When they did that, they never really release anything about what they’re going to do.

They have a product, they don’t tell anybody in the world what’s coming, you just have to guess, you got all these strange sites saying, ”Hey, it’s going to be blue, it’s pink, it’s circular, it’s curved, it’s what is it. You know it’s got retinal scanner, whatever.” You just get it on that day and you get what you get.

With Angular 2.0, they want the other route because people complain with Apple and then with Angular 2.0 you get the other router like, “Hey, let’s open up the cover in order to shoot everything we’re doing.” Every initial is like, “This is awesome.” And then everyone is like, “Wait a minute, why did you do that? Wait, why did you do this? Hold on, let’s change this, let’s change that, oh my gosh it’s taking so long, what did they do that PR? Oh, this issue, I don’t like this.”

I think no matter what you do, you can’t win when you look at those kind of things, you cannot be too secretive and nobody thinks you’re being open, they’re not open source or you can say, “Hey look, we’re open source and here’s what’s going on and then people just pick you apart to death.”

I think and I wonder from your guys’ standpoints. The question is, how do you put on your thick skin and how do you guys deal with all the questions that you get on the daily basis?

Jules: I’m going to answer this the way that Brad asked me a question last week when we were having a one on one and I told him I was worried about, I don’t even know what is was I was worried about, and Brad said, “Why are you listening to one person?”

Even though in what you’re saying, it’s not true that it’s one person but it’s multiple people over a period of time, it’s still the same sentiment, right? I think for me, at least having been new to Angular in the last year, and having written code on platforms that were more proprietary where I would spend three years waiting for the next iteration and wondering what was going to be in it and then all of a sudden having this huge learning curve overnight handed to me on a plate and then trying to figure out how I’m going to get this code base that I written over years upgraded to this platform that I just found out about all this changes.

The open source way is really way easier because you can keep up with it as it’s going but you’re right that there’s a lot of cooks in the kitchen when you do it this this way and  we have a lot of feedback and some engineers have struggled with seeing their work which is their baby torn apart in public.

I think that’s something that this team, being a really close knit team who cares about each other and comes into work and talks about it has really helped each, at least I’ve seen, helped each engineer get through that sort of online torment right?

I personally would never want to see Angular go back to the way I used to experience platforms because I think it’s easier to keep up with something that’s changing if we can see the changes than to be handed a plate after a few years of work.

Joe: Let me try a different question. Today is a watershed day, I used to work with a lot of Fortune 50, Fortune 500 companies, and nobody would come in and say, “I want to use software X unless it was released.” Well, today, it’s released.

The developers want to say, “Boss, it’s released.” What does that boss now need to know about Angular 2.0? What are the three top things they should know about Angular 2.0 and why it might fit in his or her portfolio?

Jules: I think if I was answering the question on the top three things, the first one I would say is that Angular 2.0 works for their entire team. That’s not true of all frameworks or languages in the planet. You can use it for everyone on your team. From your designers to your developers to your testers which normal enterprises have and you’d made sure to have developer productivity features and enhancements or whatever you want to call them for all of those roles.

The second I’d say to you an enterprise business decision maker is that Angular works for all your scenarios as well which is essentially that it works for a mobile web, it works for the desktop, it works in the browser, and so you can use one framework for all of your needs.

The third one is really about that user at the end of the apps. Most business decision makers care less about the developers and more about the fact that whatever the developers are building is really useful to the end users. Features that have been put into Angular like AOT to make sure that it’s super fast and super performant are what’s going to keep users coming back to that application versus leaving and expecting that’s really important. Kara, you have anything to add?

Kara: I think you said it all.

John: I want to talk about AOT and bundling and things like that cause this was a big problem a lot of customers I worked with Angular 1.0, we had spent weeks or months trying to figure out how do we bundle, how do we get the build props, the dev ops together, how do we make this so that we can lazy load modules on the fly, and then how do we make sure we, tree shake is the term we’re using these days where you get rid of dead code that we’re not really using and effectively optimize the whole package to the other end. From what I’m seeing, the CLI and AOT and lazy loading, that’s all going to take care all that out of the box of Angular 2.0 is, can you guys talk about some of the features?

Brad: You asked earlier why it took so long. Getting all of these features to work in all of this different modes was a big part of it, cause we did want to make it small, fast, and optimize, tree shaken, all those good things. When you use the CLI, this is your default path. You just get those effects out of the box and certainly possible, when we’re not using the CLI and we’ve got nice documentation examples on how to do it.

Getting all those pieces right to make sure, all those things you try to figure out of Angular 1.0 that never really did quite work right like lazy loading, you just have to do it kind of manual work to make it work, have all been thought through and are things you get to take advantage of right away in Angular 2.0.

Lukas: In Angular 1.0, you guys had these amazingly interesting release names like unicorns and other kinds of mythical creatures. What is Angular 2.0 going to do?

Brad: We’ve named them after super powers. Some of them might not seem super power but they really are. Cheesyfication is definitely some kind of superpower.

Jules: Cheesyfication, absolutely.

Brad: Yes. Rhino Cheesyfication, I think that was really good.

Jules: When I first started, I actually made a whole list of the release names that we count for Angular 1.0. There are some good ones in there if you ever look back there. We are going to revisit the challenge of coming up with a release name for Angular 2.0 and so with that said, I’m going to allow Kara to tell you what Angular 2.0’s release name in.

Kara: Angular 2.0 finals release name is Proprioception Reinforcements.

Joe: Are those both English words?

Jules: I’ll give you little hints. Spiderman has really good proprioception.

Brad: We’re reinforcing it with Angular 2.0. If you use some Angular 2.0, that’s even better.

Jules: Basically, proprioception means there’s a little place in your brain that gives certain people the ability to be really comfortable with their body in different spatial aptitudes like being upside down or trapeze artists have really good proprioception and so Proprioception Reinforcement is really going to help you.

John: I admit, I had to look it up.

Brad: There is exception when you go to write your apps. Usually, there’s irony in our names like Grenade Exaglanation would be an example. We’ll get back to irony later for sure.

Joe: Is there a strong correlation between tyre walkers and Angular 2.0 developers?

Brad: I think so and that is something we’ve left to the audience to discover.

John: I think I’m going to go out and try tyre walking now.

Joe: Maybe we’re all good with Angular 2.0’s release.

John: I should just try it on like a big top right from the start, no net.

Charles: I want you to type those two words into the channels so that I can make the Mac say it because my iPhone is notoriously terrible pronouncing words.

John: I have to switch gears a little because I saw a great tweet by a friend of mine @rickstraw just a couple days ago. Rick is an advanced developer, he’s been in the Micro Space for a while and done a lot of web programming as well, and knows Angular 1.0 very well. He tweeted this which I thought has been interesting because he’s been on the journey on learn Angular 2.0. The first one is, “Moving the Angular 2.0 is a slug, so much to learn but once I picked it up to core concepts, it’s been easier to build new stuff.” The second thing he posted was, “What I like most about Angular 2.0 versus 1.0 is how much craft goes away. Needless to reckless formatting and binding hacks are all gone and digest looks too.”

I think that’s right, I think I agree with him, it is a bit of effort to get Angular 2.0 from Angular 1.0 because you’re changing your mindset. It seems like not putting words in Rick’s mouth, the way I understand that is, it feels like all the things that were complicated before went away and it’s a lot easier now, a lot cleaner, a lot smoother.

That also mirrors my experience too, there’s some things I’ve had a hard time cracking in Angular 2.0 because I had Angular 1.0 experience. Once I got there, I looked at my code, “This is so much easier than it was before.” I don’t know if I always felt that way along the journey. There were points along with Angular 2.0 where I was like, “You know what, this isn’t easier,” but I think we’ve gotten error at this point.

Brad: It’s great to hear. That was our big intention because Angular 1.0 grew basically organically and there were just issues that we could not solve in the architecture. When we had the chance of this clean slate, we really took it as our mission to make everything, everything should work nicely. That was definitely one of the big goals for the project.

John: I hope most people have that kind of experience, the end side that Rick is talking about. People who are going along the betas and RCs obviously was more changed but if you’re jumping at Angular 2.0 now, I think it’s a much smoother experience to get there for people.

Brad: I think what you said is also true, if you learned Angular 1.0, you have to unlearn some things but if you’ve never learned Angular before, you might have an easier time learning Angular 2.0 than you would’ve had learning Angular 1.0.

John: We’ve actually had guests on the show saying that exact statement once like my friend Shayne Boyer who is on the show a couple of months ago. He never really done Angular 1.0 other than just seeing it. He went to Angular 2.0 and he was amazed how quickly he picked it up. And then I have other friends and colleagues I talked to who knew Angular 1.0 going into it and they definitely had to unlearn things as they went through it. I think you’re right there.

Lukas: Even more interesting or equally interesting is talking about Angular transition from 1.0 to 2.0 but being in the trenches, I’ve had a lot of experience of going to Angular 2.0, having to come back to 1.0, and how that’s affected how I write Angular 1.0. With that said, I’m actually more of a fan of Angular 1.0 now that I started learning Angular 2.0 and I started to apply those patterns.

I think even a lot of the misconceptions or opinions that people have about Angular 1.0 comes from the old way of writing Angular 1.0 but when you take your Angular 2.0 patterns and you’re really with integration of data flow, stateless components, the component driven architecture, Angular 1.0 becomes really, really nice and much easier to reason with. 1.0 to 2.0 is really interesting but also going back to 1.0 from 2.0, there’s a lot of patterns that you can take that if you don’t have an opportunity or you can’t jump right into Angular 2.0, well start applying the patterns right away and it makes that transition really, really nice. The big effect is that you’ll have a better Angular 1.0 app but when you’re ready to transition it’s much easier to do that which leads me into my next question.

What are the plans for Angular 1.0 in light of Angular 2.0, is this going to be like a Python 2.0 and 3.0 where they just exist or plans to maybe back port some more stuff and Angular 1.0, is it becomes available it make sense or will just eventually become one thing?

Brad: Great question. Our goal is to support people where they are. The thing I’ve said at a bunch of different times is that we would support Angular 1.0 until the majority of folks have moved to Angular 2.0 which has not happened yet. It’s really in our interest to get everyone moving to Angular 2.0 as you can. Some apps, you may never migrate to Angular 2.0, they work just fine with Angular 1.0 because we have continued to upgrade Angular 1.0. If you’re using the 1.5 and beyond, we’ve actually been doing a lot of work to make APIs similar. In terms of creating components, there’s a new component style, interface over the directive bits so that you can create your widgets in much the same way as you do in Angular 2.0 which will help the bridge.

We will certainly look for other things that we might want to back port or APIs we might want to make match up to Angular 2.0 in Angular 1.0 if those are things that will help people bridge over easier if they do want a port and hey it’s going to be a long time and hey Angular team it will be really nice if these things look more similar or exactly the same, we will certainly look at those.

Joe: Are there any switching gears on how you’re going to get the word out there? Imagine being in charge of developers relations jewels, you guys have a whole plan for how you going to spread the good word and the gospel of Angular 2.0?

Jules: This is it. What are you talking about?

Charles: Everybody who counts listens to us.

Jules: I thought I didn’t have to do anything else but put Brad and Kara in a room and we’re done.

John: That’s it.

Jules: Actually, I am trying to make it a little bit fun. This episode is airing probably coinciding with the event that we’re all at while you’re airing this. At the meet up on 9/14 which just happens to be my birthday and no, I didn’t not convince the team to release it on my birthday, although I thought that was cool.

Lukas: That sounds suspicious to me. I’m skeptical, Jules.

Ward: It’s forever known as the Jules’ release.

John: If anybody could’ve convinced them to release on her birthday, it really would be Jules.

Jules: We are at the meet up probably while this is being aired and we are announcing it hopefully via a live stream and we’re hopeful that people would come onto Twitter and ask the team questions. Most of the team will be at the meet up and we will be taking questions and actually having a little bit of a party with some fun little swag if you happen to be able to be in the room.

Charles: Nice. I like how they’re reinforcing your proprioception. Did I say that right?

Jules: Yes. Just to be clear, we’ll do blog posts and we also have PR so we’re talking to reporters. We’ll do all the regular things that we’re supposed to do but our assumption is then our experience has been, that most people find out about what we’re doing in Angular from Twitter and so we will primarily keep it to Twitter, our blog, and you lovely people.

John: No Snapchat?

Jules: My daughters send me stuff on that thing and I’m telling you what, they are not stupid because kids are leaving Instagram and drones because the parents are there same way that they left Facebook but parents cannot figure out Snapchat. I just don’t get it.

Charles: I have a teenager who lives here that’s not my daughter, she offered to show me. That’s probably why, it’s because I’m not her parent.

Jules: Oh no, my daughter has shown me and she tries to get me to do it but it’s so awkward, to me as an adult that I don’t understand it why people use it.

Ward: I have a specific question. You mentioned a little bit already, talked about NG upgrade. I’ve been eyeballed deep in NG upgrade for a long time. Is there any specific definite plans in store for NG upgrade in the future here or is it, you talked about maybe like seeing what we could do to improve, is there anything specifically having an ion or is it just more now we’re going to turn our attention maybe a little bit over here.

Jules: I think it’s a little bit of both. I think we know a couple of things already. For example, we’ve got some customers already using NG upgrades so we’ve already got some feedback, we know for example that the current router doesn’t allow you to route back to Angular 1.0 components, if you’re using NG upgrade you can’t reach the routers. We’ve already talked to Michiko about how can we fix that or what can we do to solve that problem and there’s some other very specific examples like that.

In general, I think our hope is that after the final release, we’ll get a little bit more feedback and figure out if there’s more false featured features that we need to add into it to make it better. Yes, it’s definitely on the agenda proposed final. Yes we have specific things we feel like we need to do right away and yes we’d love to hear if you think there’s more.

Ward: I have to say that one of the good pleasures with the last year has been finding so many people who have never experienced Angular 1.0 or any JavaScript framework. They’re still locked in their old modalities, maybe an MVC framework or delivering something even in some old technology like Silver Light who are now ready to bring their applications to the web.

We’re so trapped in the Angular 1.0 because that’s the world we lived in but there’s so many people who are just getting ready to hit the web. I think Angular 2.0 is the way to encounter the web for the first time if you’re building applications. That’s my pitch, that’s where I want to spend my time and the Angular 1.0 people will just come along.

Jules: It’s actually interesting Ward, you and I share similar background from our previous slides. This morning, I had a very lengthy conversation with a customer on SharePoint 2010 and I was talking about Angular 2.0 and they interrupted me and asked, “Isn’t a web component a web part?”

I was like, “Yes, yes it’s just that the JavaScript world had a come up with another aim for it same difference.” And then I came in and asked Michiko and he’s like, “Yes, yes same thing, same difference.” We talked a little bit about how that world is really embracing the cloud now and as they embrace the cloud how looking at Angular 2.0 is a natural sort of progression for them to get their line of business apps in particular into the web.

Lukas: I think that what they have yet to really enjoy but they will discover is how quickly you can build an Angular 2.0 app that does everything and more than you were doing in those all older technologies. It’s actually inexpensive to make that move and suddenly a world opens up to you and that’s one of the things that I find really exciting about Angular 2.0 because I think it makes that possible now in a way that it’s been way too hard. It was too hard in Angular 1.0, and Angular 1.0 was a great start.

Charles: But I like scriptaculous.

John: I think we’ve come a long way, if you think about Angular 1.0, one of the things that made it cool and also I think was also a problem simultaneously is that we’re getting used to the term script kiddie a long time ago which I really like that. If you we’re a script kiddie, you can just jump into Angular 1.0 or any of the frameworks back in the day and just run with it.

While that made it easy to get moving with where you just open up the script tag and write code, it made it harder to maintain and stabilize. That’s also some of the big knocks enterprises would have on things like Angular 1.0 or Backbone or any kind of those things back then.

If you would write that code and you could really test it, you can be sure how it’s going to perform under the rest or in production. That was the problem. In Angular 2.0, by using things like typescript and just the way that things are put together.

For example, there is less screen magic in Angular 2.0 which mean it’s a lot easier to make sure you have things working correctly for dependency injection or constructor injection.

All that kind of stuff is there now and while it brings additional level complexity to somebody who’s building an app, I do believe it does, I think it also makes it much more stable for enterprises. In fact, I summed that up. I think Angular 2.0 is more built for businesses and enterprises than Angular 1.0 was.

Ward: I don’t know if it’s a good thing but I’d say you can start programming like an adult.

Jules: I only have one pick and I can probably speak for Brad and Kara although they might have some cool things in their personal lives. The only pick I have is proprioception reinforcement of course.

Charles: Alright. Well, let’s go around the room real quick.

Jules: Kara’s never done a pick so we should let Kara do a pick.

Charles: Kara share with us. What is the most awesome thing in your life?

Kara: Anything I love in life. I’ve been watching all those Stranger Things but I doubt that’s a new thing.

Jules: No, it’s totally awesome. I just binge watched all weekend and watched the whole season.

Kara: Are you done?

Jules: Yeah.

Kara: We should talk.

Jules: Stranger things equals core team, nice. Brad, you have any picks?

Brad: I just read a really nice sci-fi book, was originally in Chinese, got translated in English called the Three Body Problem. I thought it was super.

Jules: What is it called? We have to write it.

Brad: Three Body Problem.

Jules: Awesome. There you go, there’s the Angular team picks.

Charles: Very cool. Ward, do you have some picks?

Ward: I’m going to pick Hamilton which I just saw and I’m simply amazed. I think it transforms musical theater which I actually like anyway, it seems weird but yeah. This is something you got to see. All the hype, I was skeptical, put at the side, it’s worth every minute.

Charles: Alright Joe, what are your picks?

Joe: Since Brad picked a sci-fi book, I’m going to pick one too. I’ve been recently reading a book called Starships Made, sort of a little bit blending of magic and sci-fi type of a book. More sci-fi and a little bit of magic. It has been really awesome. I enjoyed it. Very well written, and interesting plot. I highly recommend that. That’s my pick for today.

Charles: Alright John, what are your picks?

John: I got two here. One on technical side. Recently, I jumped back a new project where we got to use Gulp again and it was something I haven’t done in a while. I love Gulp but where I happen to be working on a project, I had been using Grunt for a while and boy did I miss it, so much easier to work with the build process using Gulp. That’s my technical pick.

And then on the other side, there’s a movie I want to take Ward to see. It’s coming out this fall and I know he’s really excited to see it. It’s about a woman and a man and they go on a mission together. It’s really, really great. It’s got a lot of drama in it, it’s called Rouge One. We’re going to pick Rouge One from Star Wars series and we’re all going to take Ward to go see it because he’s just got to.

Ward: You’re killing me. You’re killing me, John.

John: I totally want to go.

Charles: Lukas, what are your picks?

Lukas: I totally want to go. I have a couple quick picks.

First and foremost, quick shout out to not only the Angular core team but Angular community in general. I actually spend most of my day talking to people about Angular and I realized that a lot of my friends come from, we are connected because of Angular and not have to see that everyone here would say that, you know Angular affected their life in a profound way. Thank you for that.

Angular connect is coming in a couple of weeks and I got a flight to London and hang out with my best buds because of Angular. That’s a big pick. I’m really excited about the release.

Two other picks real quick. If you go to www.maggieappleton.com,  there’s some amazing icon work being done by young lady named Maggie Appleton and I love her work. She hand draws everything and then puts into illustrator, phenomenal.

One last pick is I just bought a complainer book called Get to Work Book and a really cool, a great way to apply getting things done solid thing to your days. Really cool. Also, I’m going to mention that Dan Orlean and John Papa are doing a two day ultimate Angular 2.0 class in Florida and if you’re in a fly-state region, it’s worth flying out, phenomenal to the best teachers in the business if you ask me. If there’s any way you could go or convince your employer to spring for a ticket, do it. It’s a worthy investment.

Charles: Take your family at the side of the beach and go to the class.

Lukas: Yeah, maybe Charles could come and he can watch your kids while you go to class.

Charles: I got plenty of my own. Alright, so I’ve got a couple of picks. This is coming out on the 14th which is also the first day of Angular remote Conf. If you are interested in three days of Angular awesomeness, from awesome speakers like Lukas here and several other people that you’ve probably heard on the show then go check it out at angularremoteconf.com. We are recording, you’ll get recordings of the shows. If you buy a ticket it’ll just drop you right in and then you can start watching.

Finally, I’ve just been holding this in the whole time and I don’t know. My kids are going to come running as soon as I start screaming that, “Angular 2.0 is out! Woooooooh!” Okay. I just had to get it out of my system but I’m excited. It’s Install Angular now.

Charles: One of the things I quickly want to mention is I’m putting together ten webinars. I have a lot of people asking me how do I get a job as a software developer. I’m putting together ten webinars over the course of the rest of the year and the first webinar is also on the 14th, the day that this comes out. If you want to check that out, just go to devchat.tv/webinars and hit it.

Kara: Thank you for being part of our Angular community and for doing this podcast every week and getting us to Angular 2.0. It’s all about you. Alright. See you guys.

Charles: Bye.

x