Scaling Elm / Fable Elmish Application

schedule Dec 14th 03:30 PM - 03:50 PM place Senate people 6 Interested

Every time we heard the word Scaling, first thing comes to mind is Cloud and Distributed systems. In modern days client-side applications increased in complexity and size. This makes architecture very important to scale the client-side application; especially Single Page Application. In this talk, I will be explaining why one should be choosing (Fable) Elmish architecture and how to scale it for large to a very large application.

1 favorite thumb_down thumb_up 2 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist

Outline/structure of the Session

In last 5 - 6 years I got chance to work with different client-side technology like JQuery, Knockout, Angular, React etc. Lately, I have been a big advocate of Elm style architecture. While ELM is very restricted, Fable along with ELMish have brought best of both worlds. In my recent project, I'm using Fable-Elmish to create a complex-big client-side application. In this talk, I like to share my experience about why I choose Fable - Elmish and things can be done to scale application.

In the first part of a talk, will explain why TEA (The Elm Architecture) is winning the world, not only for web but for mobile also. It is not a silver bullet but it works and it works for better. We will also look into the reason for choosing Fable-Elmish instead of Elm.

In the second part of a talk, will look into scaling part of a Fable-Elmish application. We will look into two main section readability and performance. Fable-Elmish is having three main components (model-update-view) and will go into details how to scale all three of them . Also, will touch few things that can be taken care while developing applications with Fable for better client-side output and performance.

Learning Outcome

Audience will learn more about Elm architecture in general and how to create large scale application with maintainable code. They will also learn how typed functional programming in general even more useful when dealing with front end code.

Target Audience

Front-End, Fullstack Developers who are using Elm or Elmish architecture with Functional Programming

schedule Submitted 5 months ago

Comments Subscribe to Comments

comment Comment on this Submission
  • Naresh Jain
    By Naresh Jain  ~  2 months ago
    reply Reply

    Hi Kunjan,

    Thanks for the proposal.

    Can you please explain why you've proposed this topic under Mastering FP instead of Everyday FP?

    Also, can you please share a video from any of your past presentations? This will help the program committee understand your presentation style.

    • Kunjan Dalal
      By Kunjan Dalal  ~  2 months ago
      reply Reply

      Hi, Naresh thanks for feedback.

      There were many things which may not need to small application, so I didn't put it in everyday FP. Here is complete sample application created by Zaid. He is didn't required many of the scaling related tips and tricks. But I have a code with around 20K+ lines only for client (Fable + Elmish) application. So, I do need to arrange architecture accordingly.


      I have wrote couple of blogs explaining the same. Here are their links here and here. Fable 2 launch at OpenF# conference did change  many things.  But architecture part still stays the same. Stachu did record podcast regarding Elmish with me and Alfonso Garcia Caro when I was at Open F#. But it is not published yet. The scaling methods are applicable to Xamarin Fabulous mobile framework as well. It was not launched when I submitted proposal so I haven't included that in submission.

      Regarding my past talks. I did gave talk in Barcamp Bangalore long back and then I do give talks in local user group. But sadly nothing is recorded. Here is talk and workshop I conducted for getting started with F#. And here I helped Mathais to conduct workshop after his talk. Otherwise you can say I am very much first time speaker for conference like Functional Conf. I did attended conference last year so this year I wanted to present there given my paper got short listed.