Functional Frontends with Elm

schedule May 23rd 11:40 AM - 12:10 PM place Red Room people 80 Interested

Functional programmers are lovers of simplicity and order. Developing for the Web has become nothing like either of these. The number of tools and libraries you need to learn seems to multiply without end, and getting them to work together can be a nightmare.

What if there was a language and environment that had no external dependencies, required no complex packaging tools, runs in the web browser, and oh yes, it's purely Functional.

The Elm Architecture (consisting of the Elm functional language, and a way of applying it to web development) aims to allow fast iterative development of beautiful web apps in a functional language. Hundreds of easy-to-install libraries give you

Most elm tutorials stop at the "hello world" level and sweep the complexity of large applications under the carpet. This presentation goes beyond the bare essentials to show you how my team builds real world applications in Elm that incorporate non-elm javascript libraries while still retaining as much of possible of the simplicity, type-safety and ease of refactoring that Elm brings.

Ports are Elm's mechanism for interaction with the non-functional, loosely typed Javascript runtime. I'll show you practical ways to interact with tools such as Amazon Cognito and the Leaflet mapping engine from within your Elm application, keeping the non-functional glue code to the barest minimum.

 
 

Outline/Structure of the Talk

Introduction (3mins)- Frontend framework overload, and how The Elm Architecture aims to cure it

Context (6 mins) - An introduction to Functional reactive programming and the basics of Elm

Ports (3 mins) - Elm's mechanism for safe interaction with "wild javascript"

Case A (5 mins) - Leafleft - Using elm to do real time mapping

Case B (5 mins) - Cognito - Grafting OAuth login onto your Elm application

Wrap up (3 mins)

Questions (5 mins)

* Leaflet -- Up and mapping in sixty seconds
* Ports -- Typed channels through the bubble wall

Learning Outcome

The attendee will learn how to dip their toe into functional web programming, and how

to get real work done by still having access to popular toolkits.

Target Audience

Functional coders who want to enjoy writing user interfaces.

Prerequisites for Attendees

You should understand the basics of the HTML document object model. You don't need to know any other functional languages.

schedule Submitted 1 year ago

Public Feedback

comment Suggest improvements to the Speaker
  • Tony Morris
    By Tony Morris  ~  1 year ago
    reply Reply

    I am wrong about Elm not being pure functional language.