Monthly Meetup: Observables and Abstract Syntax Trees
Hosted by Seattle JS
Details
This month, we will be learning a bit about observables and the Rx.js library as well as about abstract syntax trees.
If you're interested in presenting at a future Seattle JS meetup, feel free to submit a talk (https://github.com/seattlejs/seattlejs/blob/master/request-to-speak.md).
//=================
Topic 1: Observables Everywhere
by Jeremy Foster
@codefoster (http://twitter.com/codefoster) | gh: codefoster (http://github.com/codefoster)
http://photos2.meetupstatic.com/photos/event/a/f/3/f/600_445484863.jpeg
abstract:: Learning new syntax or even a new language is, oddly, easier than learning new paradigms. Observables are a new paradigm that overturns a lot of ceremony we've grown accustomed to. It does away with imperative event handling and it entirely obsoletes promises.
Reactive Extensions (Rx), the technology that empowers Netflix as well as Angular 2, is an observable library that has a ton to offer, and yet has an easy on-ramp. It feels small, light, and simple - the way good code should.
I'm going to show you how easy it is not only to include the Rx library, but also to start integrating it into the way you think and work.
bio:: I studied Computer Engineering and Mathematics in school a long time ago, and have thoroughly enjoyed my career course ever since - primarily teaching and software development and primarily on the web stack. I gained experience in education, aerospace manufacturing, and insurance, and eventually joined Microsoft with the goal of informing and inspiring software developers. I authored my first book, CSS for Windows 8 App Development, published a couple of courses on Pluralsight.com, and try to keep up with audiences via my blog, codefoster.com, and my Twitter feed, @codefoster. When I’m not working, I’m working on maker projects, spending time with my wife and two sons, hiking and camping, sailing, scuba diving, or working on house projects.
//=================
Topic 2: Abstract Syntax Trees
by Jamund Ferguson
@xjamundx (http://twitter.com/xjamundx) | gh: xjamundx (http://github.com/xjamundx)
http://photos2.meetupstatic.com/photos/event/a/f/4/e/600_445484878.jpeg
abstract:: A lot of us came to JavaScript without a strong background in computer science. Ever find yourself recoiling in fear when someone starts talking about algorithms? It turns out that when building websites, we don't often have to reach to these concepts to be successful. Despite this, the past few years have definitely taught me that computer science has a lot to offer UI programmers. From Angular, embracing dependency injection, and the React world, with its Immutable objects and Dom-diffing techniques, it turns out computer science has a lot to teach UI developers. One concept that's been the most influential in the last few years of JS tooling is the abstract syntax tree.
Abstract syntax trees are everywhere. They power the JS in your browsers. They're in your minifiers. They're in your linters. They power webpack and browserify and babel and so many other tools that make up the modern web stack. And you've probably never heard of them before.
Let me show you how abstract syntax trees work.
We'll look at some simple examples of linters and babel plugins and help you envision the power that trees can bring into your programs. Come join me on an exciting journey down the AST rabbit hole and never program the same way again.
bio:: Jamund Ferguson is a full stack UI Engineer at PayPal. He helps his team develop best practices for both node.js and client-side frameworks and loves talking about JavaScript. He is also an active contributor to several open source projects including Kraken-js and ESLint.
//=====================
Sponsors
Special thanks to EMC Isilon and IGT for hosting (EMC) and sponsoring (IGT) Seattle JS Meetups for January, February, and March!
