JSFoo 2018

On JavaScript and Security

Building robust applications using Elm

Submitted by Ritesh (@blitzritz) on Monday, 10 September 2018

videocam
Preview video

Technical level

Beginner

Section

Full Talk

Status

Confirmed & Scheduled

View proposal in schedule

Vote on this proposal

Login to vote

Total votes:  +2

Abstract

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

Outline

  • 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
  • Conclude

Speaker bio

Ritesh works as a Senior Software Developer at BigBinary. He has around 9 years of experience in Software Engineering. Past: Frontend Architect at Bonzai

Slides

https://drive.google.com/open?id=1w9yVL1sli-QXG9sxBjOlHy5BSlRmcPWV

Preview video

https://www.youtube.com/watch?v=jHRb_wcSZr0&feature=youtu.be

Comments

Login with Twitter or Google to leave a comment