Diving into Angular2 with Daniel Zen

Daniel Zen Angular2 Trainer

Daniel Zen, Zen Digital

At AngularSummit West, I sat down with Daniel Zen of Zen Digital and talked about all things Angular2. Specifially what are some of the considerations for making the switch or beginning a new project using Angular2, some of the best resources to learn (it’s not too late to register for AngularSummit East) as well as talking about some of the challenges unique to Angular2.

Full Transcript:

[background music]

Michael Carducci:

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

[background music ends]

Michael:

Hey everybody, this is Michael Carducci, and I just wanted to let you know on the No Fluff Just Stuff tour, we’re going into the fall winter season. It’s about to get very busy for us, but in addition to all the regular tour stops we’ve got coming up, Chicago, Reston, Seattle, Minneapolis, Denver and a few other stops, we’ve got a couple of very exciting destination shows coming up.

Today in the podcast, we’re going to be talking about Angular2, and some of the considerations moving into that. If that’s a space that you’re particularly interested in, now is your last chance to take advantage of the early bird discount.

Angular Summit East is going to be at the end of September in Boston. If you want to check that out, go to angularsummit.com. We also have the Rich Web Experience, which is a modern web development focused destination show that this year it’s going to be in Clearwater, Florida. Just finalized the line up for that. Be sure to check that out.

We’ve got the G3 Summit coming up as well. That’s going to be in Florida right at the end of November going in the beginning of December. Check that out at G3summit.com. If you’re interested in being a software architect, or if you’re already in that role, and you want to learn from some of the very best, Neal Ford, Mark Richards, folks like that, come to our conf. That’s going to be taking place in Florida as well.

If you want to get a little bit of winter sun, get a little bit of training, get a little bit of knowledge, have a good time, do check those out. We’ve got the entire tour lineup for the rest of the year at nofluffjuststuff.com. Hope to see you there on the road. Let’s dive in Daniel Zen. Day two of the Angular Summit. I’m joined with Daniel Zen of Zen Digital.

Daniel Zen:

That’s correct.

Michael:

Daniel, tell us a little bit about yourself.

Daniel:

Well, I’m from New York City. Zen Digital is located in SoHo. We run the AngularJS NYC meet up which has 5,000 members and 200 of them — not always 200 — the 200 sign up monthly to show up, and then like 150 to 180 actually show up, which is still…

[crosstalk]

Michael:

That’s still a pretty good…

Daniel:

Oh yeah. It’s at Google’s offices. I’m sure the free food attracts a lot of people, and then there’s just some that just come every single time. It’s like they don’t even give an opportunity…We always have a waiting list, and we always get the last minute, “Can I come? I’m on the waiting list. Can I still show up?”

Usually because there’s a little bit of extra room. If you show up at the last minute, you won’t get kicked out.

Michael:

Man, I’d love to check that out if I ever get up that way.

Daniel:

New York City.

Michael:

Have you been seeing that as a microcosm of Angular in general, that it’s start to stagnate after the announcement of Angular2? Because I noticed the stack overflow developer survey, did you see that?

Daniel:

No. I didn’t. What was the results?

Michael:

One of the things that came out was, definitely, a lot of stuff with JavaScript, but specifically React was trending more steeply than Angular. I don’t know if that was a response to some of the uncertainty that came around Angular2, or if that’s just the nature of the industry, that things just keep changing.

Daniel:

It was definitely uncertainty because I remember…I do consulting as well as training, and so we had people that were not willing to go with Angular at a particular moment in time when Angular2 hadn’t yet been launched. There was just a lot of uncertainty when they first announced Angular2.

I think it was possibly when it was announced, how it was announced. I think that was more the case, and this turning the back on Angular 1, and not talking about an upgrade path. I think since then, there’s been a lot more discussion about what that upgrade path could be.

Michael:

I think they came back a little bit from that stance because originally, it was, “Hey, this is our thing. We’re glad you’re using it. We’re going this way, and you’re welcome to come with us.” I think there was a little bit of push back to put it mildly.

Daniel:

I think so, but now, I think the question I’m getting from people…In fact, just today about a half hour ago, somebody said, “Hey, we’re thinking of using Angular on our upcoming project. That’s the reason why we’re here at this conference. Which one should we go with, Angular 1, or Angular2?”

I said, “Well, do you have any investment in Angular 1?” They were like, “No,” and I said, “When do you plan on even starting?” They hadn’t even started the project, and I believe Angular2 is going to launch by the end of June.

I said, “I really didn’t think there was much reason to not make the investment in Angular2 if you’re ready to take on TypeScript, SystemJS, reactive programming. There’s a little bit of extra overhead. There was a huge advantage. In the Angular 1 world, you could just include one library, and bam, you’re ready to go using ES5. Now, there’s transpolation, and you really need to understand your tool set a lot better to just jump in, and say, “OK, I’m an Angular2 developer now.”

Michael:

It’s really worth then I guess…Call this a shameless plug, but it’s almost necessary to come to an event like this, and start learning the ecosystem around Angular2 rather than diving straight into it. Because I pride myself as a software engineer being self-taught. As everything has changed, I’ve been able to adapt, and learn things very quickly, but…

Daniel:

If you took a developer from two years ago, and transported them into the future to today, and showed them Angular2, maybe they knew Promises back then, but then to say, “Never mind. It’s not Promises anymore. Now, it’s reactive programming, and oh yeah, now we’re doing transpolation with TypeScript.”

Two years ago, these were all new concepts. Now, they’re all ingrained, and becoming the standard in best practices. It’s a pretty big change in a very short period of time.

Michael:

Certainly. Do you think that server-side templating is dead? I’ve heard that bounced around a little bit.

Daniel:

Wow. If you consider the fact that you can now run React and Angular2 on the server, no, it isn’t dead because you’re just going to take some of these client side templating systems, and actually run them on the server, and solve the SEO problem that Angular 1 wasn’t very good at.

No, it just might be that the types of server-side templating, you’re going to get more of this I guess polymorphic, or code that can run both in the browser, and…I think I’m saying the wrong morphic there, but…

Michael:

I know what you mean.

Daniel:

…a code that can run both in the client and on the server.

Michael:

That just takes me…

Daniel:

Isomorphic. There we go.

Michael:

That takes me to a whole different thing that I’ve still been a little bit amazed by I guess you could say over the last few years at how ubiquitous JavaScript has become that it’s literally running everywhere. Do you feel like that’s pushing it forward? Do you that JavaScript is becoming a better language because of it?

Daniel:

Definitely. There’s a couple of those quotes. Anything that can’t be written in JavaScript will be written in JavaScript, and JavaScript is the assembly language of the web. I think those things have gone to become true.

At some level, we’re really going to see that JavaScript…JavaScript is taking over in my estimation. I think what you really need to see is real implementations of ES6. When I say real, I mean we need import to finally be implemented in the browser level because we’re seeing all of the other features starting to trickle in.

I think as soon as the Safari technical preview makes it into release, you’re really going to see all of the major browsers have almost every ES6 feature with a few exceptions. We really need to stop meeting like Babel in order to use it.

I still get requests, I still. I get requests from companies that are like, “We are interested in Angular2, but we’re not ready to invest in TypeScript as our standard, so we want to see ES6 with Angular2.” Once you can get rid of transpilation, and actually do ES6, I think that’s just going to take over everywhere.

Michael:

There’s so many advantages I guess you could say to transpolation. It seems like…I don’t think that’s going to go anywhere soon even with ES6.

Daniel:

Once you have native ES6 running in the browser, what do you need transpolation for anymore?

Michael:

Fair enough.

Daniel:

You still need it for TypeScript…

Michael:

Yeah, but that’s what I mean.

Daniel:

…and in Dart.

Michael:

I’ve grown to enjoy TypeScript. At one point I think in the beginning when I first started playing with it, it just seemed like one more thing that I have to learn to keep up with the cool kids, but…

Daniel:

I have a Java background, and I was using JetBrains IntelliJ idea. I was a huge fan of all of the refactoring tools, and just all the things that it magically did for you. I used to describe it as my code was like clay, and I can sculpt it, and move it around with all these short cuts to extract methods, and variables, and the like, and I really loved that feature.

When I moved to WebStorm, and JavaScript, I didn’t quite have all those same capabilities because of the lack of typing. Now, with TypeScript, you’re starting to see those capabilities come back.

I like it too. Don’t get me wrong. I think that in terms of development, especially if you have tools that understand the types of the variables you can do, automatic completion, and insert only the correct variable in that particular location, those are really strong features that JavaScript is just not capable of.

I’m not saying I don’t like TypeScript. I’m just saying that there are definitely people who are concerned with standards, especially large corporate entities.

Michael:

Fair enough. Going back to Angular, and Angular2, and moving in that direction, like you were saying earlier, so much has changed. In fact, your workshop yesterday was Angular2 core, the tooling, everything kind of you need to know to go into it.

Daniel:

No. I’ve actually written an Angular2 course. It’s a three-day course that I’ve been training, but yesterday was an Angular. I was one of the people still teaching in Angular 1 workshop.

Michael:

Oh. I misunderstood, but you’ve got a three-day course for Angular2.

Daniel:

I do.

Michael:

Are you doing that in New York, or do you travel to do that?

Daniel:

Both. I do it remotely from New York, so I’ve been asked to do it, and then I’ve also been asked to travel to teach it on site.

Michael:

If I wanted to dive into Angular2, but I’ve been stepping back for whatever reason, either the uncertainty around the 1.x to 2.0 or just…

Daniel:

The tool set.

Michael:

…the corporation, the tool set is the big difference?

Daniel:

I wouldn’t say the tool set is the big difference, but it’s just a lot to take on. If you’re coming from an environment…The tool set’s been growing bigger, and bigger for almost any project.

I’ve been using gulp for a couple of years now. My workflow, I’m assuming that I have it, you can’t do frontend development these days without Node even though most people think of Node as being the backend. It’s just the actual development environment, and the workflow requires Node on the actual developer’s machine these days. It’s almost expected that you’re going to have those tools, and ready to go.

From the earliest days of me writing examples of JavaScript development, I was like, “I’m assuming you have Node, and npm installed.” It just has to be there in order to get the workflow tools.

Now, you’re starting to see just the number of tools installed with it, it’s just increasing. Almost everything is available just from npm. It’s not like you really need to have pre-installed something. As long as you have Node installed, you’re ready to go with everything.

It’s just when you start looking at all of the packages that have been installed, and trying to understand the architecture, it’s growing. We stand in the shoulders of giants, and some of those are new frameworks that come and go.

Grunt was popular for six months, and still is to a certain extent, but Gulp came along, and I feel like that’s the directions of things to come. The great thing about standards is there’s so many of them. [laughs] That’s also an issue.

Michael:

Problem. There are 15 competing standards. Getting in the Angular2, for somebody who has been on the sidelines for whatever reason, your advice is to start with the toolset, and the…

Daniel:

Oh yeah. You don’t necessarily need SystemJS, but nowadays…There’s plenty of substitutes. If you’re coming from React, you probably know Webpack. I think there are some starter kits that are like Angular2 with Webpack.

I’d say that the React environment, or ecosystem is more of a picking, and choosing which libraries. The Angular ecosystem is more about, “Hey, this is the way the Angular team is doing it, and there’s a best practice.”

John Pope has got style guidelines, and we recommend this. If you start using the Angular CLI, it imposes a lot of best practices on you. I think it’d be silly to try, and staff a bunch of different libraries in there unless they really do enhance.

I think somebody gave a meteor with Angular class, but meteor serves a completely different purpose. There is some logic to that. Somebody was telling me that PaaS has been open sourced, so that might be an interesting addition.

When it comes to the actual front, and framework, pretty much I think you’ve really got to attack SystemJS. You’ve got to attack reactive programming, and you’ve got to know those things, and then TypeScript, or at least ES6, but I think using ES5, even though it’s possible, there’s a lot of things that are possible.

Michael:

You’re just making it difficult for yourself.

Daniel:

Yeah, you’re just making it difficult for yourself, yeah.

Michael:

In closing, do you have any other advice for people diving into Angular2?

Michael:

There’s just so many resources available online. I find a lot of what my course material does is link to intelligent articles. What it is, it’s like, “Hey, I found this great article, and that’s where I absorbed a bunch of information on this.”

I’ve been working on testing for Angular2 right now, and I’m just linking to the libraries, linking to the source code which is kind of nice because everything is open source, and trying to explain how things work by looking at the actual code that’s out there.

Michael:

Which I think is necessary for understanding. That’s one of the wonderful things about open source, is being able to do that.

Daniel:

No. It definitely makes a difference. That’s another reason why I don’t think Angular 1 is going to go anywhere because even if some day the Angular team says, “Hey, we’re abandoning development of Angular 1,” I have a feeling somebody else will pick up the mantle, and continue.

Michael:

Sure. Wonderful. I appreciate that. Do you have any resources on Zen Digital?

Daniel:

I’ve got some stuff on my GitHub. Daniel Zen. Of course, you can go to zen.digital. We have training capabilities, so you can sign up for training at zen.digital/training, and of course we do consulting as well.

Michael:

Perfect.

Daniel:

Thanks for the plug.

Michael:

You’re going to be at the next Angular summit as well?

Daniel:

Yes.

Michael:

Wonderful. Then I will see you there.

Daniel:

I’ll be focused more in Angular2 at the next Angular summit.

Michael:

Awesome. Thanks for your time.

Daniel:

No. My pleasure.

Michael:

It was Zen Digital.

Daniel:

Zen.digital. We also own zendigital.com, but we decided to shorten it to zen.digital once the .digital top level domain was available.

Michael:

Zen.digital. Right on. Thanks again, Daniel.

Daniel:

Thank you.

[background music]

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 nonfluffjuststuff.com. I’m your host, Michael Carducci. Thanks for listening, and stay subscribed.

 

Leave a Reply

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

*