I’m always interested in knowing what is going on in other communities, it helps me a lot to understand how others work and what tools they use. Anyone that knows me knows that I’m not a big fan of Javascript, but nobody can’t deny that web development has some tools that would blow the mind of any native devs.

Now, we shouldn’t just give up on our ecosystem, we should learn from them and push our tools to higher standards. This is a recurring topic on my blog, but is something that I strongly believe in. We could have all of this is somebody cared about it.

With that said, here are some of the talks that I’ve found more interesting in ReactEurope 2016. You can check the official posts for Day 1 and Day 2.

This post is a recollection of some notes that I took while watching the talks, don’t expect any deep analysis.

The Redux Journey

This is a nice summary on how redux works, combining concepts from Flux and the Elm architecture. It is a good example of how features are not the most important part of a library. The talk shows how good constraints and nice contracts can make a library really attractive. I’m still amazed at how this type of architecture, specially treating code as data, makes a lot of complex things simpler. From debugging to implementing collaborative editing. The talk gives some examples of really interesting stuff that middleware libraries, pluggable on top of your app reducers, can give you for free. They are a form of “high order behaviour”, like optimistic updates, analytics, logging, etc.

Debugging flux applications in production

I really recommend taking a quick look to this talk. It shows some examples of the amazing ways of debugging. See all the actions that happened on the app, time travel, download the state of the app and all the actions triggered to debug the same issue over and over, trigger actions manually, synchronise same instance of the app between different devices… insane stuff.

GrapQL at Facebook

I found just really interesting to see any use case of GraphQL, specially seeing of it’s being used in Facebook itself. The separation between the API layer and the business logic of the backend is something that I would love to see in any API that I work with, GraphQL is based on that idea and somehow enforces it. Exposing an API to your model graph instead of the tables on your database is another thing that shouldn’t fascinate me, but it does. And finally seeing examples of how they concentrate the source of truth to a single place amazes me. Plenty of things that maybe are not that exciting to you but that for some reason they captured my attention.

A Deepdive into flow

This is for me one of the most interesting talks of the conference. It doesn’t show any fancy product, but I find fascinating to understand how Flow analyses Javascript code. I really like programming languages and seeing an explanation of how type checker is done is really cool, specially because is takes some decisions that differ form type systems in more strict languages.

On the spectrum of abstraction

Interesting talk about abstractions. It gives specific examples of the Javascript community but it can be extrapolated to other aspects of software development, at least take a look at introduction and, specially, the conclusion which is brilliant #nospoiler.

Evolving the Visual Programming Environment with React

An interesting hackathon project for a Visual Programming tool made with the usual (as of today 😂). Visual Programming and direct manipulation is one of those things that has always fascinated me, specially taking into considerations a lot of functional programing concepts. What makes these visual tools great is that the visual blocks are really composable. This tool looks great as it allows for alternative representations of the same data and direct manipulation, even writing code directly in a visual node. And I love how it leverages static typing. The last bit of the talk is intriguing because it shows how this can be used to build real apps. I would love to see this as an upgrade to Playgrounds.

The Evolution of React UI Development

This talk starts with an overview on the evolution of developing UIs, how hot reloading improved the feedback loop and how the idea of components that encapsulate markup, style and logic improved the productivy. After that they introduce their new open source project “carte-blanche” which iterates on these asppects. It looks really awesome to iteare on UIs, specially the randomizer of data that finds edges cases. An, again, is cool to see how it also leverages the type system.

Recomposing your React application

This talks explores high order components. Basically, functions that accept an entire Component and return a new Component. This allows to enhance the behavoiour of your components in a simple way. 🎉 for functional ideas applied to UI (or Adapters if you prefer OOP parlance).

This remembers me to how you can wrap ViewControllers in iOS, I recomend you to watch Ayaka’s try! Swift talk. Some use cases:

  • Inject mock data
  • Fetch real remote data
  • Display loading or error screens

All of this use cases show ways on how you can modify or enchance a component by wrapping it instead of modifying it.