 So what do you think the future holds for life the future for life global warming Skynet taking over Human species just being obliterated But on the flip side we've got ES6 so it's all gonna be okay everything everything. We're that great. It's gonna be great Anyway, you're all right. Yes, it is awesome. It is awesome like I Guess the one thing is at the moment is you can't you can't just use vanilla ES6 and the browser like right now I think so we've been we've been landing a lot of ES6 features in chroma v8 of last couple years Other browser vendors have been doing an amazing job at this too But we're not quite at the point where you can just you know use it in production without requiring transpiration On that side of things a lot of people probably need a good transpiler. I think most people are using Babel at the moment Yeah, it's pretty one pretty legit And if you're using Babel like and you're trying to get it into your build process What we probably use or you know things like gulp Babel just a few lines of code gets set up It's very very straightforward But I think you've been you've been playing around with browser fire and be able to fire for like bundles, right? Yeah, so the only reason we think both is browser fire will Grab any of the imported files and bring them all into one so that when you run it through Babel of fire It's got everything just in one place. It can just munch it all together And that seems to be working out Okay, like the one thing that you see in a lot of tutorials so people would just say Define your script file and then run it through browser fire and then run that through Babel and then everything will just work out and it's just for that one file and That's fine, but the minute you add another file for a separate page or something. It doesn't everything just falls apart So I've had to do a little bit of work there It's just like I'm using globb.sync to basically just go through a set of files on my build process And it looks for just dot ES6.js and those files will then get run through like Browserify and then once it goes through browser fire get said through Babelify and then it creates the files That's legit So I've got like a nice little workflow going right now So that I can just write you six and then everything's like ready for the server any s5 good to go cool so The first step is transpilation. We've also got so one thing we need to do usually is both Lint our code and style check it now What I've been mostly using for the stuff is like I've used JS hint pretty heavily in the past for coast out for code linting And JSCS for code style checking and JSCS 2.0 now supports like Babel So you can style check your code. It also has a number of ES6 only features Which are kind of nice like only ES6 only rules So let's say I've got some code that's using string concatenation I can actually add a rule to my JSCS config and say well I want that code to be using template strings instead and then like throw a little exception and say, you know Using template strings nice if you wanted to do things like oh, okay in this case You could use the fat arrow function Forced that as just a linting rule. Yes, exactly nice. It's just kind of sweet On the the linting side of things there are a few people that have been like switching over to using ES lint It's a yes lint is a tool by Nicholas Zakes that tries to combine some of the features You'd find in JSCS and JSCS hint But it's a little bit what can argue it's a little bit more future-facing tries to Support ES6 a little bit better. I still personally use JSCS and JSCS But yes lint is is really solid. It's an option a bunch of people are using so we're checking out too Yeah, like I've I've still just stuck to json and JSCS logic because it's like that's what I'm used to The only thing I had to do was add in the ES next true into JSN RC and JSC JSCS RC file. So yeah ES next true and then all the linting rules just started working Like everything that it was complaining about something just went away. It's like, okay using a class. That's fine. There you go But yeah, that that has basically been my setup process, which has actually been fairly simple once I got it all set up Like the the major feature that I'm just in love with is the fact that you can have a File with a function or a class and you just basically sit just to find like an export saying this part this function Or this class is allowed to be exported and imported by another another class Mm-hmm and that alone I've just fallen off with just everything through the ES6 modules is fantastic ability to import which means you can then Extend one of your classes with the other one and then just all the boilerplate for this top prototype Yeah, just like getting rid of all of that and just defining a function like my code I'm so much happy with how much cleaner it looks and Like because I come from a bit of a like a Java background Like this is just like so super friendly to me. It's insane. Like what are your favorite features in ES6? I'm not gonna critique you for Java too much, but like my features are much of what I would do. I like everything I Kind of like template strings. They're neat Object to the sure the shorthand object literal stuff super neat a lot less boilerplate involved. I love Computed property names. Yeah, having that in the language is amazing fat arrows are neat to week maps week maps and week sets But I did want a name job one or two things. So another name drop. Howdy. You're shot. I know you're shot So I'm surprised. You're not wearing a t-shirt with said name drop right now. No, no I'm wearing a t-shirt that says never forget floppy disk Never forget so I put together a repo called ES6 tools that's tries to summarize the whole landscape of tooling for ES6 CS 2015 whatever you want to call it Yeah, tries to capture like stuff that you need for grunts and gulp and you know all the polyfilts You need and all that other fun stuff So it's kind of like depending on what your setup is you could go to this and it was just list down all the things Yeah, right there, and that's the idea nice, but I also wanted to mention. So there's two really good Books that are free to read online if people want to learn more about ES6 The first is understanding ES6, which I've been reading a lot. It's by Nicholas. Take this again solid book And there's another one called exploring ES6 by Axel Roush mayor Both solid books both really really knowledgeable guys So yeah, people should check those out Yeah, like I've loved it like the amount of like code that you can delete just from a ton of these features and just The maintainability feels so much cleaner with this kind of thing. Yeah, absolutely love it for me I think everyone should be checking out ES6 and just playing around with it like Like I said for me like it just makes everything much more like Java, which I love What it no no we're taking ES6 away from you Just no more no more babel from that