Going framework-less with virtual-dom and FRP (RxJS)
Functional Reactive Programming is a slightly different take towards asynchronous programming which helps creating simple and powerful software with good architecture. FRP reduces the complexity of a asynchronous code by providing a unifying concept to cover most things asynchronous, and the result is a easy to build and easy to maintain architecture. Reactive programming is a powerful concept, Meteor is a living proof of that. FRP is another, more advanced (imho) flavour of reactive programming.
Outline/Structure of the Tutorial
- Introduction to FRP
We'll have a small talk about what FRP is, how it can help you improve code, some basic FRP concepts as implemented in RxJS. To get a feel of FRP and to clean the mist of "terms" around the concept.
I guess FRP won't need much of an introduction after Bodil's keynote, so we'll cut this part short and start with building YARR
- Specs for YARR
We'll talk a little about what YARR is and the specifications of Yarr v1.0 we gonna implement in the tutorial to follow.
YARR (Yet Another RSS Reader) is a take on creating a completely decentralised social network from blogs. Basically an RSS reader on steroids, Yarr provides a social network like interface for your RSS feed, concentrating on people who write the posts rather than the blogs. If you want to follow a friend, you subscribe to their blog (or facebook/twitter feed). RSS is a great technology I fell in love with when I got internet for first time, it's sad so many people are trying to kill it. Let's relive its glory in this tutorial. We'll keep this tutorial simple with only public feeds/posts with no privacy.
PS, Yarr means "friend" in Hindi/Punjabi.
- Tutorial: Creating YARR with virtual-dom and RxJS
In the tutorial we'll implement Yarr using virtual-dom and RxJS, without using any external Framework. Not that I am against frameworks, but I've decided not to use them in this tutorial for several reasons:
- Using a framework will put a limit on the number of people who can get most from this FRP tutorial (virtual-dom on the other hand is a slim API)
- I want people to concentrate on FRP concepts and not struggle with some framework
- I want to demonstrate how FRP can lead to good architecture for apps without requiring a framework to force your hand to do so
- It feels good to drop those pesky framework armour once in a while :)
The moral of the story shall be that, FRP is awesome :)
Those who pay attention in the session should walk out with a working knowledge of FRP (and RxJS) and a thirst for exploring the concept more. Not to mention the feeling of awe from exploring a new way of doing what you do everyday (asynchronous programming).
schedule Submitted 3 years ago
People who liked this proposal, also liked:
Bodil Stokke - What Every Hipster Should Know About Functional Reactive ProgrammingBodil StokkeFunctional Programming HipsterChurch of Emacs
schedule 3 years agoSold Out!
Vagmi Mudumbai - Functional Reactive Programming in your browserVagmi MudumbaiCTOTarkaLabs
schedule 3 years agoSold Out!
Elm combines the rigour of a strongly and statically typed language with a very nice and usable semantics. Although the language looks very similar to Haskell or ML and is based on a similar type system, it is surprisingly easy to learn. It is built on a few basic and simple principles that compose together very well to build complex applications.
In this session we will look at the Elm language, talk a bit about its static signal graph and build a simple web app using Elm.