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.
This post is a recollection of some notes that I took while watching the talks, don’t expect any deep analysis.
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.
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.
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.
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.
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.
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.