Building a Better Web
June 11–12, 2018: Training
June 12–14, 2018: Tutorials & Conference
San Jose, CA

Building Web Apps with Elm

Jeremy Fairbank (Test Double)
9:00am–12:30pm Tuesday, June 12, 2018
Future JS and Functional
Location: San Jose Ballroom 1-3 (Marriott) Level: Beginner
Secondary topics:  Hands-on, Technical

Who is this presentation for?

Front-end developers

Prerequisite knowledge

Knowledge of HTML and JavaScript. Knowledge of React and Redux helpful but not required.

Materials or downloads needed in advance

Please bring a laptop with a modern browser. We will use "Ellie":https://ellie-app.com for running demos and exercises.

What you'll learn

* Define and call Elm functions * Build front-end applications with the Elm Architecture * Document code with type annotations * Create custom types with union types

Description

Attendees: we will use Ellie for running demos and exercises, so please bring your laptop.

In this tutorial session, learn how to build front-end applications with the Elm language. Elm is a statically-typed, functional programming language that compiles to JavaScript and has no runtime exceptions in practice.

We will first learn Elm’s syntax by defining and calling functions with familiar data types such as strings and numbers. We will discover that Elm’s functions have no side effects, meaning they are predictable, reliable, and easily testable.

Next, we will build our first application with the Elm Architecture. The Elm Architecture is Elm’s one framework for building front-end applications, meaning no fatigue about which framework or library to use. We will define a model to hold application state, a view function to display the state in the browser, and an update function to handle events and create new state to display.

Finally, we will discover the safety of building Elm applications by introducing static types. We will add type annotations to document our code and see how the Elm compiler prevents type errors. We will also improve event handling by creating our own custom type to define the exact kinds of events in our application. We will see that the compiler ensures we handle all events in our application to prevent bugs.

You will leave this session able to build your own Elm applications and take your knowledge further with additional resources.

Photo of Jeremy Fairbank

Jeremy Fairbank

Test Double

Jeremy Fairbank is a web developer at Test Double, where he helps improve how the world builds software. Jeremy has many years of experience in frontend and full stack development and has presented numerous times on web development at conferences such as Fluent Conf and RailsConf. He is passionate about frontend development and its future, especially in functional JavaScript and Elm, and is the author of Programming Elm from the Pragmatic Programmers.

Leave a Comment or Question

Help us make this conference the best it can be for you. Have questions you'd like this speaker to address? Suggestions for issues that deserve extra attention? Feedback that you'd like to share with the speaker and other attendees?

Join the conversation here (requires login)