[This episode is sponsored by Hired.com. Every week on Hired, they run an auction where over a thousand tech companies in San Francisco and New York and LA get on JavaScript developers providing to put the salary and equity upfront. The average JavaScript developer gets an average of 5-15 introductory offers and an average salary of over $130,000 a year. You just can either accept an offer and go right into interviewing with the company and neither with that any continuing obligations. It's totally free for users, and when you're hired, they'll also give you a $2,000 signing bonus as a "Thank You" for using them. But if you use the Adventures in Angular link, you'll get a $4,000 bonus instead. Finally, if you're not looking for a job but know someone who is, you can refer them to Hired to get a $1,337 bonus if they accept the job. Go sign up at Hired.com/AdventuresinAngular.]
[Ready to master AngularJS? Oasis Digital offers Angular Boot Camp, a three-day, in-person workshop class for individuals or teams. Bring us to your site or send developers to ours classes in St. Louis or San Francisco – AngularBootCamp.com.]
[This episode is sponsored by Digital Ocean. Digital Ocean is the provider I use to host all of my creations. All the shows are hosted there, along with any other projects I come up with. Their user interface is simple and easy to use. Their support is excellent. And their VPSes are backed on solid-state drives and are fast and responsive. Check them out at DigitalOcean.com. If you use the code “Angularadventures” you'll get a $10 credit!]
[This episode is sponsored by Telerik, the makers of Kendo UI. Kendo UI integrates seamlessly with both AngularJS 1.x and 2.0. It provides everything you need to integrate with AngularJS out-of-the-box bindings, component configuration and directives, template directives, form validation, event handlers and much more and yet Kendo UI tooling does not depend on AngularJS. So if you want to use it with Angular or not, that’s totally up to you. You could check it out at KendoUI.com]
JOE:
Hello everybody, and welcome to episode 70 of the Adventures in Angular podcast. My name is Joe Eames. We have on our panel, Lukas Reubbelke.
LUKAS:
Hello.
JOE:
And Ward Bell.
WARD:
Howdy, howdy.
JOE:
We’ve got somewhat of a skeleton crew today, that’s because today is our secret holiday Angular pick list show.
LUKAS:
Yes.
JOE:
So this is a show where we are going to be talking about different things going on like community that we think are cool and we want people to be aware of but probably – maybe things may not necessarily need a whole entire show but could deserve a little bit more talking than just ‘hey, I’m going to pick this’ at the end of the show.
LUKAS:
I’m going to start out with my first pick. I was kind of disappointed actually that Ward showed up for this episode because I was actually going to give him a rose for all the amazing work that he’s doing on the Angular 2 documentation. [Crosstalk]
WARD:
Totally true.
LUKAS:
Genuinely, I have been somewhat involved with that project and I think that definitely an unsung hero in this case so – Ward clojures, don’t listen to this but it is actually a lot of hard work to do good documentation around a framework that’s still evolving but I’m super excited to see Angular 2 land but also the documentation that’s going to come with it. Because I started Angular when I was like 0.9 in the [inaudible] site and the documentation was laughable and/or non-existent.
WARD:
Well thank you for that Lukas. I didn’t hear any of it, I just want you to know [chuckles] and you didn’t [inaudible]. I assume you did your usual thing that was tearing me down.
LUKAS:
Yup.
WARD:
And stabbing at me.
LUKAS:
Yup. You are dirt. You are dead to me, Ward.
WARD:
I’m dirt. No, thank you. Actually, this is a huge team effort and there is so much going on to make this documentation be good. I’m really excited about some of the things we put in place. It’s going to take a while as these things do to come into fruition but I love what we’re doing.
For example, just a day or two ago – and I’m about to try out some of my stuff – my colleague Jay Traband wrote the material that will take the – first of all, what people may not know is that the sample code that we described in our documentation actually exists behind the scenes. In fact, the code that you see – and this was mostly true and will be completely true – is actually generated at a real running code sample that we’re going to have tests running against but that we can actually execute. But the next cool thing that I learned from my colleague is that he has figured out how to take those samples and project them into plunkers. I was hoping to have a link in there and you’ll be able to press the link and it will produce a plunker.
Now a lot of people say, “Oh yeah, I have links to plunkers in my documentation,” and that’s great. I’ve done that, too, but what I’ve done is, in those cases, I have it on a plunker that I’ve written somewhere. And time goes by, things stopped working, the frameworks and the libraries we were using get old and all that stuff and you never go back; you can’t even remember where they are to fix them.
This time, they are generated on the fly from the real sample stuff and put up in the plunker for you. Actually, they aren’t even in Plunker; they're just live-developed for you on the spot, and if you want to, you can save them, clone them – do what you want. Play with them, send them in with a bug report – it’s such a cool way to roll. So that’s just one of the many things that we’re doing in documentation. [Crosstalk]
JOE:
That’s really cool. Now I think it’s probably a good idea at this point to give a shout-out to Peter Bacon Darwin since he was the one who wrote this documentation tool that runs this framework that the ng 2 documentation is generated from.
WARD:
Yup; Peter who’s – you think of him as mainly leading the charge on version 1 but he’s deeply involved in version 2 of angular. He’s written much of the tooling that generates a lot of the Jade you see. My buddy again, Jay Traband wrote the stuff that projects in – the stuff that you see in the code that comes right out of the samples that appears in the Jade itself; that’s his work. So together, they’ve really been working on the infrastructure that you don’t even think about that’s lurking behind documentation.
JOE:
And for anybody who may not have caught that, the documentation behind the scenes uses Jade which is a templating language, so that’s what Ward was talking about when he said Jade.
WARD:
Right. Sorry. Yeah, I’m so deep into it, you forget what you don’t know.
JOE:
Yeah, exactly. [Crosstalk] So it’s a very cool tool; I’ve checked about – I’ve written just a tiny bit, just a couple of small contributions but the tool itself is extremely cool and lets you author in a very streamlined way so it’s a really cool documentation and I think it’s producing really good documentation as well.
The site and the code that’s coming out of there, the documentation that’s coming out of there is really good, which is a hard effort to find people that can really do that well.
WARD:
That’s the other thing is that I have to tip my hat to our authors; we try and make it reasonable for – these are all people who have day jobs like you. They all have work to do, but that also means that they aren’t some tech writer sitting around and don’t know anything about programming. These are real, lab programmers out there who are taking on the task off understanding a framework that doesn’t quite exist yet and applying it in ways that nobody – they don’t even know how to use yet and bringing their experience to the authoring and putting out stuff so I’m really pleased with our whole team.
JOE:
Well I think this is a good segue into talking about one author in particular. The guy who maybe hasn’t made the biggest contribution in terms of time but his project – this is John who is not here today. John Papa, our own panelist, not here today who has been a premier or front guy for the Tour of Heroes Tutorial which is a nice, big, multi-step tutorial. As of this moment, there are two steps published on the website but there’s plenty more coming.
WARD:
Right. Yeah, I’ve got three of them in the bank that I just have to put the scrub on and get out there.
Yeah, John just really put his back into that to make us have a really good tutorial. It’s a wonderful tutorial; I’m looking forward to getting all the parts published on the website, but yea, he’s just the [inaudible] service there.
Let me tell you – if it all comes out looking easy at the end, that’s because John was in there getting whacked in the head and tripping on the curb, taking all of the hard knocks that went in to getting it to this stage that you’ll never have to go through.
JOE:
Right. I think that’s the kind of – this is a topic we may, in the future, do an entire show on. It’s such a cool tutorial. If you haven’t checked it out, it’s a great idea to go and give it a run through.
LUKAS:
Also, I just want to do a quick segue. You’ve mentioned generating basically dynamic plunks on the fly for our code samples – big shout-out to Geoff Goodman for one, building Plunk-er, so building Plunker and then also hooking up the ability to do this. He is probably one of my favorite undervalued, or at least under the radar programmers that exist. As of now, he is actually a fulltime programmer and not an accountant so it’s pretty rad to see him come up to the ranks, but to put together an awesome tool that all the Angular developers can use especially in terms of the documentation.
WARD:
Yeah, he and Jay worked on this latest thing. One of the gaps that he just filled and he did it in hours – you got to love that when people are able to respond like that. He added the ability to be able to put images, because some of our examples have images. One of the things you couldn’t do before, you can create files in plunkers that were HTML, CSS syntax but you couldn’t get an image in there – now you can! So thanks Geoff for adding that picture.
Why don’t we do a GDE also at the – was there anything that came out of there that we [inaudible]?
JOE:
So there was a couple of interesting things. There was talk of a beta date which probably isn’t worth discussing because by the time people listen to it, it may or may not have already passed or they may or may not [inaudible] it, but one thing I thought that didn’t come out – so for anybody who isn’t quite following the discussion, GDE is the Google Developer Expert program. They have experts in many areas and Angular’s one of them. They recently had their summit just last weekend, a few days just before this recording where all of the Google developer experts, regardless of area, came together for a summit and for some training. While we were there, the Angular GDEs did a lot of things, met with the team a few times. One of the presentations talked about, the first public-launched internal Google application on Angular 2 which is Google Fiber, which is a very big deal. Google Fiber’s now using Angular 2 even though it’s still essentially alpha. Right now it’s a public facing application; it kind of shows you how the stability of Angular 2. I was really excited about that. I don’t know what you guys thought.
WARD:
I think it’s great how much Google is using Angular 2 already. That shows you the degree of commitment and the fact that it really is going to have to drop. We’re going to get it because they’ve got some very big projects that are already riding on it, and that’s part of the feedback loop, that is making sure that when we do release, it’s going to be hitting the ground and ready to roll.
The other thing that I noticed when we were at the summit was – you talked to some of the experts in some of the other areas, it was clear from their comments that they didn’t have quite the degree of interaction, quite public phase that the Angular team puts out there. I don’t just mean with GDEs; it’s not just a sort of private insider thing. What’s really clear is how hard the Angular 2 team works at working with community. I think they're way out in front over the rest of Google in doing that.
LUKAS:
I have to interject here. One of my favorite moments at the GDE was when –. So Igor got up; he was talking about Angular 2, then Rado got up to give an actual Angular 2 demo and TypeScript. Somebody ask – I think it was actually Rado, it was like, “We’re doing this in TypeScript; does anybody does not know TypeScript?” Then Christopher Splint who is a Firebase GDE raised a hand; he’s like, “I’m not really familiar with it.” So Igor who was just an extremely gracious person just walked over and sat down next to him, and as Rado was actually giving his demonstration, Igor’s explaining and translating what is happening while his demonstration is going on.
And I thought this was really indicative of just the overall spirit in Angular, and just the awesome community because it comes from the top where you have somebody who’s just this phenomenal engineer who’s helped build this amazing framework and yet he cares enough to go and sit down with another developer and explain TypeScript while his demonstration is going on.
I actually put a picture up on Twitter of that event specifically because I thought it really captured the essence of the angular community for me.
JOE:
I could definitely second that. I see that same thing in the community myself. Those guys really set the tone.
WARD:
They do and it carries over to us because you see them do that then we got to do that. You just – it’s karma. You got to keep passing it along.
JOE:
Absolutely.
LUKAS:
So I was going on and on about this before we started recording, but I’ve been using Angular Material for a course that I’m putting together that’s targeting designers who are looking to get into Angular. The more that I use Angular Material, the more that I’m just absolutely falling in love with it.
Traditionally, I felt I would just fall back to Bootstrap because you get the grid system and some buttons and some different things that you would not have to reason about some of the UI elements. With Angular Material, you get all of that plus a super tight integration with Angular, and the actual UI polish and interaction is just butter. So next time I see Thomas Burleson, he is going to get a great, big bear hug because it’s just a great library. It’s been such a pleasure to use and I love it when your expectations are set maybe at a 4 out of 10 and it comes in 9 out of 10. It just absolutely blew me away.
WARD:
Have we done a show on that yet?
LUKAS:
Soon. I think in [crosstalk] mid-December.
JOE:
It’s next. Our next show will be about that.
WARD:
I’m really looking forward to that because, I don’t know about you but I have struggled with Bootstrap. I keep meaning to learn it but it’s another learning curve, and it just seems when I look at the code full of bootstrap – the HTML full of bootstrap, I want to run away and cry.
LUKAS:
Uh-huh.
WARD:
And I look at material and it just seems so much more natural to me so I’m excited about it.
LUKAS:
We actually had an instance where I was doing some training at a corporation and they were talking about how to do a date picker on a mobile device. They showed me a couple of comps. They showed me a stock bootstrap version and it was just not really there visually.
Patrick Stapleton was actually with me and we were like, “Oh, I think Angular Material has one.” We pulled it up and we showed it, and it kind of has this infinite scrolling month list and it just really plays nice on mobile as well as desktop. They were just completely blown away about that. Even the visual difference between a stock bootstrap date picker and not trying to, in any ways, shape or form – marginalize the hard work that’s went into that, but visually just the overall slickness and coolness from Angular Material was just – it was just so profound how nice the Angular Material date picker was especially once we pulled it up on a mobile device, it was just like the deal is sealed. This is what we’re using in the story so it was real mic-drop moment for the Angular Material team in my opinion.
JOE:
That’s very cool.
LUKAS:
So Ward, tell me something that you're into in the Angular community.
WARD:
I think I’ve been sharing it as we go from show to show. I confessed that I am putting so much time trying to get there with the team – with the documentation as it rolls out that I am completely absorbed by that.
Mostly, aside from the details of what I do, I just have these impressions. Like I have the impressions of the community, like I have the impressions I have of the team itself. I don’t know that I’ve ever worked with a more talented group of people who are also so eager to share and have – they all have strong egos. Everybody has a strong ego but their ego doesn’t seem to involve being superior to somebody else all the time which gets tiring if you’ve ever been through that.
I’m just enjoying the ride and we’ll see what it all means when it lands, but my pick is the way the team is conducting itself.
LUKAS:
I second that motion.
JOE:
Nice. So one of the things that I want to talk about which is really interesting and near and dear to my heart because I really – I’m interested in the Elm. I’ve been doing a lot of [inaudible] last year and by extension redux because it was inspired by –.
Rob Wormald recently put out an Angular 2 with redux plunk. What’s crazy is it’s such a big plunk that when they go and commit any changes to the code, Plunker automatically refreshes while it takes it three seconds to refresh and refresh because there are so many lines of code and it’s such a big, complex project, but it’s amazing to see this implementation of Redux with Angular 2. He’s using the Redux core library and then he writes the Angular 2 – he wrote some Angular 2 adapters for it, but it’s also an amazingly complex sample application as well for seeing different ways that Angular 2 is used to put together so it’s a cool reference application. I thought that was really neat so I want to plan out that one. We can put in the show notes a link to that plunk as well.
LUKAS:
And if you haven’t seen Rob’s talk from Angular Remote Conf where everything is a stream. Check that out; it’s super awesome.
WARD:
And Rob is super helpful also. He’s been a great find, for me meeting him and seeing the work that he’s doing, and the way in which he also reaches out to the community. He answers all kinds of question and gets – there’s no question that Rob won’t give you an honest answer to and make you feel good about it.
LUKAS:
He is known for giving honest answers whether you like it or not actually. [Chuckles]
WARD:
Yeah.
LUKAS:
Which I – actually, I appreciate his candor and I think [inaudible], his sincerity is a huge plus; his enthusiasm, plus 100.
WARD:
Yeah, and he realize that. I mean, he’s not going to back away from what he believes but he knows we’re all in this together. It’s not like, “Shh! Really Lukas, you don’t know that? You call yourself a developer?” you don’t get any whiff of that; it’s just, “Yeah, I got something to talk to you about. I
think there’s a right way, the wrong way; let me share that with you.”
LUKAS:
True story bro.
WARD:
I have a goal for next year, because I always want to learn something new each year but there’s this Go thing and I think it could – it might go somewhere. I think I want to learn Go this year. Has any of you tried it?
JOE:
Nope.
LUKAS:
I’ve heard good things about it. I haven’t done it but a few people I’ve talked to that I respect are huge Go fans.
WARD:
I don’t think it’s – I’m past the point of thinking it’s going to be a flash in the pan. I’m not sure where its sweet spot is; maybe some of our readers and listeners will tell us but I think it’s going to have an important role to play.
JOE:
Hm. Awesome. Another thing – a community project out there that I think is highly worth mentioning is Jeff Whelpley and Patrick Stapleton whose initials allow you to call him PatrickJS which is pretty cool.
LUKAS:
Lucky.
JOE:
They’ve been building Angular Universal which is a server-side rendering for Angular 2 which is absolutely awesome.
I talked with Jeff a bunch at the Google Developer Expert Summit and it was really interesting to talk to him. His experiences with server-side rendering both for React and in Angular 2 and hear about the project – now it’s coming along. They really like it. There’s a lot of really neat things that Angular 2 has implemented like the server-side, really slick and fast so I think that’s really cool. It’s called Angular Universal. It’s a really cool project.
LUKAS:
I think it’s going to actually change the game a little bit when it’s fully fleshed out because the implications are pretty phenomenal in terms of what it needs for not only performance but in SEO, but even supporting [inaudible] browsers and interesting things you can do on the mobile and the various, and infinite permutations in which you can approach a web application at run time.
JOE:
Absolutely. Good.
WARD:
And I’m going to put the link to Steve Sanderson’s talk at the Microsoft summit which is open and it’s published. It’s a video in which he talks about what – how Microsoft or maybe he in particular is – by the way Steve Sanderson, if you don’t know him, he’s the guy behind Knockout and a whole bunch of other stuff so he knows it. He’s really good. He’s one of the best presenters I’ve ever seen also.
He did a really compelling show on where server-side rendering plays and where it can make a big difference, and what they're doing at Microsoft to be able to tie in their backend developments.
LUKAS:
Right.
WARD:
With what you can do on server-side rendering. It was a pretty special session.
JOE:
That’s cool. Personally, I find – I haven’t had a need in any of the projects that I’ve done for serverside rendering, so I find the high focus on server-side rendering to somewhat be a little bit of a mislead because a project can be valuable even if it can’t be server-side rendered. It is really interesting and useful to see the projects that can be server-side rendered and I’m really excited that angular 2 can be server-side rendered. It makes it fit well in its strategy of where Angular 2 is supposed to exist in the ecosystem.
WARD:
Yeah. I’m right there with you, Joe. As long as I’m building applications for desktop browsers, it doesn’t seem like something that – and for business applications, it doesn’t seem like something that I’m going to need. But if I’m trying to get to the mobile and getting to some bad bandwidth situations or get to the consumer, I became convinced that that becomes important.
JOE:
Cool. Alright. So I want to talk about Minko Gechev – Minko G.
LUKAS:
Minko G.
JOE:
Because I am probably slaughtering his last name. There’s a couple of things that he’s done recently that are extremely cool. First, he did this very, very, very rough, very early Angular 2 Hot Reloader – hot reloading demo where he just band-aided together, duct-taped together a little Angular 2 application that allowed for hot rebooting the way that React and – whether you can do it in React which is very cool. It doesn’t integrate with Webpack which is kind of – this is the typical tool for hot reloading, but still it was very interesting to show this demo of taking an awful product in Angular 2 and saying, “Yup, hot reloading is totally workable in Angular 2.” [Crosstalk]
WARD:
What’s a hot reloader?
JOE:
If you don’t know what that is, hot reloading is the ability to say I’ve got an application running and it’s in an existing state. I’ve logged in and maybe I’ve got a dialogue box that’s open that’s popped up but it’s over/top everything else. I want to make changes to the code and reload the code but I don’t want to have to if I don’t have to reload again and go back to the same exact state.
That’s what hot reloading allows you to do is actually hot reloads al the code without changing where the state of the application is.
WARD:
Aha. I first saw that in Meteor a few years ago maybe that’s how it worked its way through to React and now we’re seeing it here.
JOE:
Yeah. So pretty interesting stuff. I think the ideas came from long ago. I saw a demo a long time ago of a guy that have built a game that allowed for hot reloading. You could change the code – the game itself, automatically reload the code. You use pipe – sorry, not pipes but web sockets typically to do these sort of stuff. It’s so useful for development and this is a feature that React supports. It’s cool to see it also supported in Angular 2 so I’m looking forward to more stable versions of that sort of thing.
I think it’s really cool that he just took some time to hack about – just wanted to fool around with it and show it.
The other thing that he’s done recently is he created first – it looks like it was a document that was created internally for his company. Him and another guy, I believe, that work at the same company created this Google doc. There was a – not necessarily a comparison but an analysis of Angular 2 in React, where they're similar and where they're different and laid this out. Apparently, it made a
lot of noise in Hacker News but the two of them have used – bot h used React for over a year. Minko has, I think, used it for 16 months and the other guy used it for 12 plus months. They both have used Angular 1 for quite a while and then of course – I don’t know if both of them dabbled with Angular 2; Minko obviously has. But they have this very interesting doc where they layout the typical ‘oh, this one’s better, this is better at that’ or your typical analysis but a really interesting analysis talking about server-side rendering and mobile and things like that. I thought it was a great document so I’ll link that as well in the show notes.
LUKAS:
So I have a completely tangential pick. This has nothing to do with code directly, but lately, I’ve been finding a lot of blogs that I like. For instance, Victor has a great blog. I actually was just looking at Minko’s blog. If you go to fivefilters.org, you can actually paste in the RSS feed and it will actually take the blog and escort it out into an easy-to-read PDF so I’ve been doing that with a few of my blogs that I can actually pick PDF and read it on an airplane. I just did this with Minko’s blog and it’s gorgeous, so fivefilters.org. It’s a great way to read material offline.
WARD:
I have a pick and it’s an Angular competitor. I don’t know about you guys but I think it’s a great thing that we have different approaches to this problem of how we build applications. At one level, you could say, “Ah, it’s all craziness, it’s all madness.” That’s the wild west of application building but you could choose to see it that way or you could choose to see these different frameworks which take different approaches to how you might do something. You see them pushing each other and potentially helping each other.
In this context, very recently Aurelia, Rob Eisenberg’s the lead on it and the mastermind on it. [Crosstalk]
JOE:
Who used to be in Angular 2 for a short while.
WARD:
Yes, he worked with Angular 2 but then he – they had somewhat different visions of how a framework should work. So he went off, took his vision of what it should be and that’s Aurelia. It’s not a ‘me too’ framework and I don’t think any of the frameworks are really ‘me too’. I wouldn’t describe React as a ‘me too’ framework either, or Ember. They have points of view and they fit different communities differently, and so for me, it’s just like walking down a restaurant row and getting to pick the style that I want for this application this time.
Anyway, my point is that it just went beta, it just had beta 1. It’s pretty slick. In the show notes, I have a link to a video that he gave very recently, an interview he gave that shows the way you write Aurelia and how it differs from – its perspective differs from the other frameworks. He doesn’t go in there and bash anybody; he just says ‘this is how we roll’. He’s very much a convention over configuration person and he drives that – rides that pony pretty hard and that isn’t the Angular 2 perspective.
So you get to see particularly as you learn the two frameworks – multiple frameworks, how a particular vision of the way a developer would work with a framework, how that plays out pragmatically as you write developer code. I find it interesting.
JOE:
Very cool. Yeah, I think I agree with that. I’m interested to see other frameworks and their take on things. I really enjoy the contrast and comparison of frameworks as well and how they each approach different problems. I also think it’s cool to see some of the internals and how they solve the same problem. I think that’s very cool.
WARD:
It’s like bemoaning the fact that we have Android and Apple and Microsoft. If anybody says, “Oh look, we have all these different platforms,” well you know what, that’s a good thing in my feel. They should have their perspective and they should go at it. I don’t think any – it’s going to be winner takes all anyway.
JOE:
Yeah.
WARD:
By the way, I don’t think that means that we all have to be experts n all these things either. We can pick one and say, “You know, that’s the one I write well and that’s the one I specialize in.” I think that choice is just possible without getting on your high horse and knocking down somebody else’s choice.
LUKAS:
Even to that, I feel just the overall temperature of the waters around frameworks is really shifted from being combative to –. When Angular first came out, it was like Angular against this framework against this framework, and there was a lot of negative rederick around different frameworks where in the last couple of years, it seems that, especially now, that everybody kind of realized that we’re a bunch of smart people, we’re doing good things just differently. So even the collaboration among the different people within the frameworks were Angular and Ember [inaudible] to see a [inaudible]. The Angular team was talking to React about unidirectional data flow and how they're handling that. The dialogue that’s happening is really, really exciting because I think you need those alternative viewpoints to triangulate on the best way to do things in certain situations. Even then this one framework may be appropriate for a certain use case, another one is more appropriate based on some context.
I think it’s not so much of a binary proposition of ‘I’m an Angular developer, I can never do anything else’. There’s actually nothing wrong with ‘I’m going to give React a try for this and see what happens’ or ‘I’m going to try Aurelia or Ember’. I think that all of those frameworks brings something really good and useful to the table. So 0seeing just this dialogue happening in the light, and this camaraderie is a really, really rad and refreshing as compared to how it was a few years ago.
JOE:
Right. [Crosstalk]
WARD:
I wanted to make one [inaudible] on point here because sometimes people think ‘oh, I got to learn all the frameworks’. Here’s the cool thing about it – even if you pick – let’s say you pick Angular. You say, “I’m writing Angular. I don’t have time for any of these other platforms. I don’t have time for React, Ember, Aurelia – I’m just an Angular guy or gal.” The great news for you is that you don’t have to. You don’t have to because everybody who’s building a framework is also looking at the other frameworks and bringing the best ideas in. So you, the Angular developer, are a beneficiary whether you know it or not, of what’s going on in the world of React, Aurelia and Ember.
LUKAS:
First and foremost, learn JavaScript well. I think if you understand JavaScript, it’s really easy to wrap any framework around that. So you can see even with Angular 2, that’s where it’s going, is that you have TypeScript which is the super, super set of ES 5 but if you understand that, then really you’re just decorating your regular JavaScript with the Angular bits. I see that is where a lot of the frameworks circle in this as well is the kind of the universal JavaScript with the framework layer on top of it. So if you want to be good at any of these frameworks, start with JavaScript and then work from there.
JOE:
Right. And that brings me to a very small rant. I went to React Conf last January. I had a couple of people – at least one came up to me and said, “Hey, what are you doing here? Checking out the competition?” And I felt very – almost offended. I’m a technologist. I love technology, I love – I don’t spend all of my time researching every framework out there but I’m just as interested in React as I am in other things so there’s no reason for me not to be spending my time learning new things. Everybody out here, they're listening to the show should actually feel the same way.
Yeah, you don’t need to be an expert in all things, and even if you just – right now, you're focusing on learning one framework, great, but also getting outside of yourself, I’m looking at other things. It’s absolutely awesome. I’m so in [inaudible] Elm recently which is an entirely separate framework. You can buy those tokens as a competitor to Angular and to React. I don’t see that as being a problem.
WARD:
No, it’s about getting better. That’s what we’re all trying to do. [Crosstalk] Getting better.
JOE:
Absolutely. So there’s a very recent conversation over Twitter about one of my friends, Jamieson [inaudible] tweeted how everytime he programs an Elm, he feels like he’s in the future. Somebody else responded and said, “Uh, I just can’t imagine working with a framework that doesn’t support server-side rendering. It feels like I’m going into the past. The server-side rendering is a base line if you want to have a framework.”
The conversation ensued and another buddy of mine, Merrick Christensen, posted this statement that I though was the most friable thing that come out of the entire conversation which is innovation is not a direct path but instead is more like a web or a tree where people are going down various branches, doing various things in there – in combination – in total, they're innovating and moving an entire industry forward. So to look at something and say, “Well, it doesn’t have feature X, therefore, it’s useless,” id a big mistake. Absolutely.
LUKAS:
You should link to that tweet. I’d like to see it.
JOE:
Cool. I will.
LUKAS:
And then I’m going to get a t-shirt printed with that statement on there. [Chuckles]
JOE:
Do we have any final picks that we’re hitting toward the end of the time we wanted to take?
LUKAS:
I think I’m picked out actually.
WARD:
Yeah. Unfortunately, I’m sure the minute we hang up, I’ll think [chuckles].
JOE:
Alright. Should we do a single round of non-Angular picks to wrap up the show then?
LUKAS:
Sure. Starting with you, Joe. [Crosstalk]
JOE:
Lukas. [Chuckles]
LUKAS:
You Joe.
JOE:
Lukas. [Chuckles] I think I said your name before you said mine.
LUKAS:
Alright, sure. My pick is the GDE summit from last week. Just a ton of fun. Actually I was sitting there, hanging out with all my buddies and I realized that I have quite a few, really true friends that have come from my relationship with Angular itself. I think that I tend to be like rah-rah community but it was just this really cool moment where I’m sitting around with six or seven people. It was actually – Joe, when we were going to meet the Angular team for lunch and we were sitting outside, waiting to be lead in the gate. I realized there was like six or seven really good friends that I have been hanging out with for the last couple of years. My Angular squad, you're my pick.
JOE:
Awesome. Ward, how about you?
WARD:
My pick is Thanksgiving. Perhaps my favorite holiday of the year. We’re not trying to sell anything on Thanksgiving, forget about what happens the day after. It’s just a time to get together with friends, family and food, and to realize how lucky we are to be here and be with each other.
JOE:
That’s awesome. For my pick, I’m going to pick the store REI which is an outdoor sporting goods store. The reason I’m picking them is because in the season of Thanksgiving and Black Friday, stores started trying to one-up each other with these [inaudible] to get in the door.
We were seeing a little bit of a trend. Walmart is trying to get away from this whole mad wretch that’s literally killing people. We have had – I don’t know how many deaths in the past due to Black Friday but it is definitely more than one. People are actually dying trying to save three dollars on a DVD. I’ve seen some really – gutter of the human race in behavior go on at a Black Friday and I stopped attending Black Friday partly because of that. Whereas REI has taken the approach of, “We’re not going to do a Black Friday. We’re not going to sell anything. We’re going to be closed on Friday. Instead, we encourage everybody to go outside.” True to the core values of the store which is go outside and enjoy yourself rather than those core values of the store is for them to make money, they're saying their core value is to get people to go outside and they're there to enable that. I just applaud the effort.
All the other stores out there that are doing something similar and trying to minimize the materialism of Thanksgiving and Black Friday, so I want to pick REI.
Alright, let’s wrap up the show. Thanks guys for being on the show. It was great.
LUKAS:
Thank you.
JOE:
This is actually a really fun show to just talk about a bunch of little things going on and I hope all of you listeners out there appreciate it as well and we’ll see you next week.
[Hosting and bandwidth provided by The Blue Box Group. Check them out at bluebox.net]
[Bandwidth for this segment is provided by Cache Fly, the world’s fastest CDN. Deliver your content fast with Cache Fly. Visit cachefly.com to learn more.]
[Do you wanna have conversations with the Adventures in Angular crew and their guests? Do you want to support the show? Now you can. Go to adventuresinangular.com/forum and sign up today!]