Sessions is temporarily moving to YouTube, check out all our new videos here.

State of Ember

Jamie White speaking at Ember London in April, 2017
45Views
 
Great talks, fired to your inbox 👌
No junk, no spam, just great talks. Unsubscribe any time.

About this talk

A high level look at all the projects going on in the Ember Community


Transcript


Speaker 1: Hi everyone. I've made a pretty pattern for you. I was trying to think about the best way to cover all the things from Ember Conf and there were many things to cover. I thought it might be best to just plot out all of the living projects within the community, all of the initiatives that were either discussed on stage or between attendees at the conference or even on Slack in the buzz around the conference. I've split this into, stuff on the left is kind of [00:00:30] things to do with community and learning and resources and education. It's stuff that isn't code on the left or sort of isn't explicitly code on the left. On the right is stuff that is explicitly code or touches upon code in the wider ecosystem. I'll run through some of this stuff and give you my thoughts about it. I'll go through these headings and talk about things. If you have something to add, [00:01:00] just shout. If you have something to add, please shout. If you have a question, please shout too. I'm going to start off by talking about the conferences that are in the ecosystem at the moment. Ember Conf was, I think, 1,000 attendees this year, the year before. It's, I think, going from success to success and I think what's particularly encouraging to see is that the diversity of speakers is improving with each year, and with it the diversity of attendees. [00:01:30] Ember Camp London we're doing for the third time this year. Let me bring up the website for that so we have something to talk about. Ember Camp London this year is July 11th in the same venue we've held it the past couple years. We will have quality members over speaking, but this year for the first time we're doing an open CFP just like Ember Conf does. If you want to speak, head over to Embercamp.com and click this [00:02:00] link right here. Ember Fest is back and it's got a really excitable team behind it. In the past few years, Joaquin has borne most of the weight of organising that conference, but this year it's a real community effort. City has not been decided yet. Lineup hasn't been decided yet. I think they'll do a CFP too, but keep your eyes open for that. Then are these other [00:02:30] conferences, Wicked Good and Eso Ember. I think it's cool that they exist. I think it's cool that they're not organised centralised by Tilde. It's the outcross of the community are able to do big things in their own right. Meetups, far too many to fit on this spidery diagram. It covers the whole globe and every continent is represented. I think for a technology which is [00:03:00] as niche as Ember admittedly is, it's pretty impressive how many cities have people interested and active in them. Apologies for the wacky scrolling. Women Helping Women is a really important initiative and it's important enough that Laura and I are going to talk about that a little later on today. I will skip over it and you can find out more detail later. I apologise for the scrolling. It's not under my control anymore. [00:03:30] Tomster's, if you didn't know this already, if you run a meetup or some kind of Ember initiative side project, you can commission your own Tomster and now you can commission your own Zoe as well. It's some of the most affordable illustration you'll ever commission. I talked to Ricardo Mendez lots from the learning team and we discussed some of the stuff that's going on there. It's probably one of the most active subteams. There's Learning Hub, which I didn't even realise existed until [00:04:00] recently, in pride of place on the Ember website. This details a lot of the initiatives that are underway. Locks wanted me to point out that they are constantly updating the Ember website now, and with it they're updating the tutorial section, the guide section, the API docs app, the builds app and various other satellite apps that give you a living sense of what's going on in the community. In fact, [00:04:30] there's a really interesting tutorial app you can find called 'Super Rentals' on the emberjs.com/learn wing of the website. That's becoming the kind of canonical example app to look at when you're interested in learning what the best practises are now. For those who aren't familiar with the RFC system, I think it's probably one of the single most successful initiatives [00:05:00] that the community has undertaken. While the things that are proposed in these RFCs don't always come into being immediately, they do provide the platform for new work to happen in the community. Something that [inaudible 00:05:15] just spoke about at Ember Conf and in the 'State of the Union' blog post that Tom released, is that they've realised the best pattern for things like this to progress is in an add-on out in the community, experimental [00:05:30] implementations of the things proposed in these RFCs. Then if small kernel changes are needed in Ember itself, that can happen. That's the right way to change Ember. In a sense, this is a bit like the way JavaScript and TC39 operates now where new features can be experimented with the transpolation using tools like Babel, Ember Inpector, Twiddle Observer, Page Front and Heroku are, I'd call them platform tooling. [00:06:00] Ember Inspector quietly and continually gets updated, stays compatible. I think it's a really early part of the ecosystem but I think it's a real achievement that it hasn't stagnated. It hasn't broken as time has passed. It's maintained a really vibrant tool with a lot of people contributing to it. Ember Twiddle goes from strength to strength and is really novel and really innovative. I saw a Tweet recently [00:06:30] that dashed that kind of pop up MAC OS documentation explorer and now has Ember Twiddle built into it. When you read about something in the API you can experiment with it immediately. Ember Observer needs basically no introduction. I think this, I don't know that it's unique for community, but I think it's something we should hold aloft as a really amazing achievement within a small community like this one. The recently added code search so you can search for usage [00:07:00] of a private API across every add on that exists. It's powerful stuff. Hosting platforms like Page Front and Heroku. I think ... If you don't know, Heroku's dashboard is built in Ember. The team there is incredible. People like Stanley Stewart working there and they have been contributing more and more to the ecosystem and the fact that you can now visit heroku.com/ember and you have basically a single step process for putting an Ember fast [00:07:30] boot app up on Heroku. The stuff in blue is podcasts and magazines, magazines, web magazines, web zines, screen cast sites, tutorial sites, some of them are paid, some of them aren't. What I think is interesting about this set that are out there now is that the quality is universally high. These are now things that the people behind them take really seriously and they're done to a professional standard. [00:08:00] They're all completely trustable resources. Ember best practises down at the bottom there is a new thing. I'll just bring it up as it's got some interesting repos on it. Okay. I think this is going to grow over time. This memory leak example, I believe was taken from a workshop, but it's got some really fascinating examples of common pitfalls. This aren't purely Ember pitfalls either. These are pitfalls of writing [00:08:30] JavaScript applications, doing things like accidentally trapping variables in enclosures and creating reference cycles and all these things which otherwise would require some pretty deep reading to learn about. Finally down the bottom, in this kind of community and resources section, Discourse, I think is now five years old. It's a team of like 10, a dozen, 14 people, something like that working on it and it powers some of the biggest forums on the web now. [00:09:00] It still uses Ember and it's still on the latest Ember. The Slack community is really vibrant. A special mention to Ghost. I really, really highly recommend going back to the Ember Camp 2015 videos and watching Hannah Wolf's talk about why Ghost chose Ember and how it's worked out for them, but I think, more to the point, Ghost is a really good example of open source governance and building a company at the same time. [00:09:30] Over the coding stuff. Glimmer was obviously the big announcement at Ember Conf, but Glimmer kind of already existed, so what is the Glimmer that was announced at Ember Conf. It's taking the Glimmer VM which lives inside of Ember and layering upon it a stack of different pieces which build up to eventually an application framework as sophisticated as Ember, but for now [00:10:00] what we have is a way of building components with Glimmer, a way of building a Glimmer app using Ember CLI, a dependency injection system and a layer for compiling your Glimmer components to web components. That's the current answer for dropping a Glimmer component into an existing application of some sort. More to the point, Glimmer appears to be the place where the fundamental pieces of Ember can be extracted and reworked in a modern way for the new [00:10:30] modern bits of the platform. We've seen the rendering engine get taken out, rethought and then put back in. We're seeing the same thing with the resolver and container and I'd imagine in the future we'll see things like Ember roots are being pulled out, rethought and put back in. This is all building towards this future where you start with a Glimmer app and as Tom said, you MPM instal your way up to a fully fledged Ember application. Ember [00:11:00] CLI, essentially there wasn't very much new news in the way of Ember CLI. It's kind of the bedrock of everything we do now. It's the thing that allows everything else to happen. The thing that allows addons to happen and ... Ember CLI and Broccoli are deeply intertwined these days. There are conversations about using things like Webpack in place of broccoli, but I think it's really interesting to look at the kind of innovation that the Ember CLI team [00:11:30] has done with Broccoli. Heimdall, the performance metrics library is a big part of that too. Heimdall is somewhat similar to ... Actually there's a talk from Chris Lowburn from the Mini talk segment of Ember Conf about this which is worth watching. Essentially it's a way of marking points in your application so that you can record how long they took. This is what's used when you see the output in Ember CLI that tells you how long each bit of compilation it took, that's Heimdall [00:12:00] at work. It's worth looking at how blueprints have evolved over the years. Originally Ember CLI shipped with one big folder full of blueprints and gradually they've been extracted out into Ember specific ones and add on specific ones and CLI tooling specific ones. It's become a really extensible system. The reason you can do Ember G, sorry Ember new - B Glimmer/blueprint is because you can bring in any blueprint you want from GitHub [00:12:30] which I think is available as of Ember CLI 213. Ember Hath is a bit like, if anyone is from the Ruby community you might remember Tokaido which was a Mac app which was the single click instal way to give yourself an environment to write a Ruby app. Ember Hath is the same thing for Ember apps. You don't have to worry about getting your system configured to run Node correctly, you just instal this friendly app and it will give you an environment for each of the different [00:13:00] apps you're working on. Ember CLI deploy seems to support pretty much any deploy story you could possible imagine from the most straight forward deploying to [inaudible 00:13:12] in the cloud front through to something much more complex and evolved. The plugin ecosystem is fairly amazing. It's again, it's a really, really healthy project that benefits a lot from how coherent the Ember ecosystem is, from how everyone in the Ember community tends [00:13:30] to face in the same direction and share values. Ember Data is undergoing some performance work. Ember Data stands to get about twice as fast with the performance work that's going on at the moment. Chris Lowburn over at LinkedIn is working on this using the tooling that's been built up with Heimdall and so on, trying to figure out how to nail down those hot paths, parse data quicker, turn it into fewer objects. It kind of felt for a little while [00:14:00] like Ember Data might be ready and there wasn't much innovation left to be had, but as we've seen now, that isn't the case. Ember Try. Ember Try can build and test your app in any different combination of versions you like, but interestingly Ember Try is evolving towards being a tool that can be used with any kind of project, not just Ember projects. Ember Language Server is part of a kind of advanced [00:14:30] guard tooling story where, with things like typescript, where the compiler chain can give you much more information about your code and then feed it into your editor. Ember Language Server is a project geared to do that very specifically for Ember apps. Ember Engines. There actually weren't any talks about Ember Engines but they seem to be out there being beta tested by companies liked LinkedIn. [inaudible 00:14:56] That was a very good talk from Show My Homework last [00:15:00] year that's well worth the watch. Fastboot similarly is bedding in well. Mirage, I think has become a really key tool. It'll be interesting to see how we all coalesce around it with our apps. Ember Animation and Liquid Fire I think is worth watching because it stands to take real advantage of some of the new capabilities of Glimmer and it has informed some of the new capabilities of Glimmer, learning about the way Glimmer works and the way things have been changed [00:15:30] to allow Liquid Fire to work better without monkey patching as it previously did. It's probably a really good hook into that. Ember Simple Auth I think is one of the best documented and promoted and most cohesive feeling addons I've seen in any ecosystem. I was sort of thinking about it in relation to what's our there in the Rails and Ruby ecosystem and I can't remember anything quite so polished feeling. I think it's a really [00:16:00] good base to build on for any app. Maxie's talk on Ember Concurrency Ember Conf is well worth watching. The point he made, which I think is most key is that no other community has anything quite like it. It's only now being ported to the React and Angular ecosystems. Ember Power Components. You might have seen a talk with a bit of a fascinating RPG in it. Maybe I'll just Miguel talk about that. [00:16:30] Can I see some hands of who is using Ember Intl? Okay, interesting. Who is localising their apps in general? Quick show of hands. That's a few more. There's Ember Intl and Ember [inaudible 00:16:45]. Ember Intl is interesting because it leverages a new API in the platform and even provides the right polyfills for you. I think it's a really good example of Ember doing this. It's a high level framework but it's not keeping [00:17:00] you away from learning about the platform. In fact, it's leading you towards the platform. Ember Service Worker is, I think, a similar story. I personally would put off learning about service workers for as long as possible were it not for something like this existing. The Ember A11Y project is actually a similar story as well. What it does in effect is act as a kind of advocacy movement for accessibility concerns but also [00:17:30] to teach people about the accessible technology layer of the web platform. These two addons, Ember A11Y testing integrates with Axe Core. Ember A11Y is a focus management solution. These things don't do too much on top of what the platform already gives you. It's kind of about leading you to using the tools most appropriately. Ember Chain Set is interesting because I think it points towards the future of where Ember Data might go. This is about things like having [00:18:00] forked models so that you can prepare a bunch of changes and apply them later. Tory was something that dealt with O auth, kind of, at a high level. That now plugs in really nicely with Ember Simple Auth. CSS modules and component CSS are alive and kicking and both blazing the trail towards more manageable CSS. That is also alive and well. Ember Electron is [00:18:30] advancing at a real clip. If you want to build web apps and wrap them in a native app wrapper, Ember Electron makes that incredibly easy. Just to wrap up, these yellow ones, the point here is that these are things from the wider world of web development that Ember is influencing actively. Mobile Doc is a portable document format. Mobile Doc Kit is something created by Bustle. This is for building rich [00:19:00] text interface, sorry, rich content interfaces. JSON API is a project which has a reciprocal relationship with Ember and particularly Ember Data and members of the Ember core team drive it. I think JSON API is starting to see real adoption as a solution alongside Graph QL. They're not eating each other's lunch. There's room for both to exist. Yehuda. Work close on Yarn. Ember is needed [00:19:30] to inform Babble and vice versa. Ember is, I think, at this point, really the big user of Q Unit. Q Unit is in a really healthy state. Q Unit just announced Q Unit CLI and nested modules. Even if it's not your testing framework of preference, I think it's a great default for Ember. We have a perhaps outside say in what goes on in TC39, thanks to Yehuda [00:20:00] and thanks to Ember's history of early adopting new features of JavaScript and of the platform. That, I think, extends out into typescripts as well. Ember, I think is, alongside Angular, early adopting typescript in a big way and that will form another one of these reciprocal relationships. That's my thousand foot view of all of the active big initiatives in the community, in the ecosystem. [00:20:30] I think it's really great to see. In fact, I think it kind of demonstrates that for a relatively small community, in comparison with say, React, we punch above our weight in terms of the amount of innovation going on and the maturity of all the projects out there. Unless anyone has any questions I think I'll leave it there and we can move on to the next talk. How does that sound? Cool.