Building robust applications using Elm
Submitted by Ritesh (@blitzritz) on Monday, 10 September 2018
At BigBinary, we are in the process of building AceHelp with the aim to provide contexutal help docs for websites and webapps. Contextual help takes into account which page the user is on and what help doc might be most relevant for the user.
We are building the frontend for AceHelp using Elm, a functional programing language to build frontend applications. In this talk, I will be giving the audiance an introduction to the language and why we chose it. I will also be talking about our journey in building a full fledged frontend application using the language.
We dive into the language, exploring its syntax and more importantly its architecture. We will look at the good parts and the challenges that we faced while building a real world application through Elm.
Thereby through this talk I hope to inspire the audience to explore languages like Elm to build robust frontend applications with more maintainable code and better determinism
- Motivation behind choosing Elm to build AceHelp.
- Introduction to Elm (0.19)
- Elm syntax, its functional nature
- How it handles things like being Pure and Immutability
- Piping and Currying
- Static Typing
- Custom types - previously known as Union types in Elm 0.18
- A brief look at TEA - The Elm Architecture
- Real World examples of handling side effects
- Real world examples of major refactoring of a codebase
- Learning Curve
Ritesh works as a Senior Software Developer at BigBinary. He has around 9 years of experience in Software Engineering. Past: Frontend Architect at Bonzai