JSFoo 2018

JSFoo 2018

On JavaScript and Security

Ritesh

@blitzritz

Building robust applications using Elm

Submitted Sep 10, 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

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

Comments

{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}

Hosted by

JSFoo is a forum for discussing UI engineering; fullstack development; web applications engineering, performance, security and design; accessibility; and latest developments in #JavaScript. Follow JSFoo on Twitter more