FullStackJS Berlin v0.6.0


Details
Moin moin! It's time for another FullStackJS in Berlin! Our tour of office spaces continues to another partner venue so that we can all continue seeing the various locations Berlin has to offer. As this is at Zalando, you will need a photo id to enter. We will have 2 scheduled speakers (listed below) and then an open the mic up for lightning talks (as usual ^^). Get your notes and slides ready!
(descriptions will be updated as they come in, but we figured it was important to get the event out)
Schedule:
18:30 gathering and socializing
19:00 beginning with talks
20:15? beginning with lightning talks
afterwards more socializing
Talks:
- "Flow Typing" by Matthew Stevens
JavaScript is the lingua franca for the web, and using Node.js for our server side code means we can deploy systems that are using the same language and potentially sharing parts of the codebase.
As developers we use tools like eslint to prevent mistakes during development time, and write test suites to give us guarantees about the behaviour of the code across features / refactors / dips in level of caffeine. Can we add another tool that will work with our existing codebase, and help us at reason about the code at development time and be another quality checks to deploy to production with more confidence?
Flow is a static type checker for Javascript. We will cover what it means to use type annotations in JavaScript, which is both weakly typed and dynamically typed (with some 'wat' moments along the way), and practical uses of such a tool in a fullstack codebase.
Matthew Stevens is a freelance software developer living and working in Berlin. He enjoys working with functional languages and writes software with the intention to extend human capabilities via better tools. In practice this means making the computer handle repetitive tasks that can be automated and working with teams that deploy products with great UI/UX.
- "Babel in Zalando" by Vignesh Shanmugam and Sylvester Aswin
Babel is a compiler with a fancy name - transpiler. It compiles newer JavaScript to old JavaScript. We use Babel in almost all of the JavaScript projects we build in Zalando across multiple teams and departments. From backend Node.js applications to front-end applications, Babel helps us write newer JavaScript which is more concise. One of the primary entities of Zalando’s backbone is the concept of Radical Agility. It helps teams work independently and make technical decisions on their own and experiment with various ways of improving the product and ultimately the user experience. We built our architecture for the website around this idea of teams working on individual parts. Tailor - an ingrown layout service is for composing parts of the website from multiple teams and stitching it together before it is served to the client browsers. Babel plays a significant role in how teams write their JavaScript code. As of now, every team takes the responsibility of compiling their JavaScript down to ES5 variant of the language. We also use some of the experimental features (which are in Stage-2, or Stage-3) and compile them down to ES5. As proposals advance to next stages or get dropped off by TC39, the JavaScript standards body, we need a way to upgrade these tools and features used by the teams to match the latest specification - as these are experimental features, breaking changes are supposed to be handled gracefully. So we built a few tools on top of Babel to help us detect, change, fall back on fail, and analyze the program code people write. This talk is about 4 of the tools that we recently have been working on.
-
Es-feature-detect: Detect language features, identify DOM APIs used (for suggesting performance improvements)
-
Identify component usage: We write React Components, and when we intend to deprecate a component, we detect on the fly if something can be deprecated.
-
Code mods - (handle proposal advancements & breaking changes)
-
js-cpa: Code pattern analysis - Detect code duplication across multiple files based on pattern and not merely a strict string match.
- "[TBD]" by [you?]
(Description to follow)
Food & Beverages:
Specifics to be announced but there will certainly be food and drinks supplied by our hosts, Zalando
Code of Conduct:
As creative, intellectual adults we expect a welcoming and respectful behavior at the event. In order to learn more details please check out the Berlin Code of Conduct (http://berlincodeofconduct.org/) which we follow and support.

FullStackJS Berlin v0.6.0