Skip to main content
CF

Elm Beyond the Basics

4h 47m 18s
English
Paid

Elm Beyond the Basics is a 32-lesson 4 hours 47 minutes self-paced course by KnowThen (James Moore). Explore the world of web applications with Elm, a functional programming language that enhances productivity and simplifies front-end development.

Course facts

Lessons
32
Duration
4 hours 47 minutes
Level
All levels
Language
English
Updated
Instructor
KnowThen (James Moore)
Price
Premium

Explore the world of web applications with Elm, a functional programming language that enhances productivity and simplifies front-end development. Elm's intuitive nature makes it a joy to use, empowering developers to create robust web applications effortlessly.

Course Overview

In this course, "Elm Beyond the Basics," we delve deeper into Elmlang, covering advanced concepts such as:

  • Structuring Your Apps using the Elm Architecture
  • Integrating with Servers — Effects (HTTP / Websocket)
  • JSON Encoding and Decoding
  • Single Page App Navigation (Routing)
  • Interacting with JavaScript using Ports
  • And much more...

About Elm

Elm was crafted to answer the question:

"What would be a good language for building front end web apps?"

Elm, developed by Evan Czaplicki over several years, balances functionality and simplicity. Unlike many functional languages, Elm strikes a harmonious blend between Idealism and Pragmatism, making it a preferred choice for developers.

Benefits of Using Elm

Elm offers substantial advantages over JavaScript by providing:

  • Zero Runtime Exceptions
  • Simplified Debugging
  • Effortless Refactoring
  • A Helpful Type System & Compiler
  • Enhanced Productivity
  • Inherently Testable Code
  • Enforced Semantic Versioning

Elm as a Functional Programming Language

For those daunted by functional languages, Elm offers a different experience. Its community avoids overwhelming academic terminology, making Elm approachable and an ideal introduction to functional programming.

Learning Elm Beyond Work

Even if Elm isn't part of your professional toolkit, learning it is valuable. Acquiring Elm skills can enhance your understanding of functional programming, potentially inspiring you to become an advocate for its use at work.

Project: Realtime Race Leaderboard App

Apply your learned concepts by creating a real-time Race Leaderboard app to track marathon and 10K race participants. This project integrates all the advanced concepts covered in the course.

Requirements

A basic grasp of Elmlang is needed. Ideally, you have completed the free introductory course, "Elm For Beginners."

Who Should Enroll?

This course targets:

  • Web developers intrigued by functional programming and Elm.
  • Developers eager to broaden their skill set.

Git Repository

Access the companion git repository for this course at:

https://github.com/knowthen/elm-beyond-basics

Who teaches Elm Beyond the Basics? KnowThen (James Moore)

KnowThen (James Moore) thumbnail

KnowThen (knowthen.com) is the long-running teaching brand of James Moore — known for unusually clear introductory courses on functional-programming-leaning languages and frameworks that the wider course market doesn't cover well.

The CourseFlix listing carries three KnowThen courses: Elm Beyond the Basics (the functional front-end language), Elixir & Phoenix for Beginners (the BEAM-based back-end stack), and HTMX + Django — Modern Python Web Apps, Hold the JavaScript (the server-rendered alternative to SPA architectures).

Material is paid and aimed at developers exploring the alternatives to the dominant JavaScript-and-React-everywhere paradigm. For broader content, see CourseFlix's Elixir, Elm, and Django category pages.

What lessons are included in Elm Beyond the Basics?

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 32 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Introduction
All Course Lessons (32)
#Lesson TitleDurationAccess
1
Introduction Demo
06:05
2
Review
07:23
3
The Elm Architecture - Overview
05:02
4
The Elm Architecture - Example
16:56
5
Effects - Overview
03:49
6
Effects - Example (Chuck Norris Joke App)
10:52
7
JSON (Decoding JSON -> Elm)
13:09
8
Websockets (Time Streaming Example App)
08:42
9
Navigation (Single Page App Routing)
10:16
10
Ports (Firebase Waitlist App)
16:05
11
Planning The App
04:22
12
Review Starter / Boilerplate
06:55
13
Setting Up Navigation / Single Page App (SPA)
09:08
14
Setting Up Login/Authentication
11:01
15
Saving / Retrieving Login Token / JWT
05:29
16
Logging Out
02:41
17
Access Control / Locking Pages
07:21
18
Adding Runners | Http Post
11:33
19
Setting Up The Leaderboard Page | Realtime Updates With Websockets
10:37
20
Estimating Runners Location
09:48
21
Querying & Sorting Runners
03:58
22
Final Thoughts
02:00
23
Introduction
06:05
24
Review
07:47
25
The Elm Architecture - Overview
05:02
26
The Elm Architecture - Example
17:35
27
Effects - Overview
03:49
28
Effects - Example (Chuck Norris Joke App)
12:58
29
JSON (Decoding JSON -> Elm)
13:09
30
Websockets (Time Streaming Example App)
08:42
31
Navigation (Single Page App Routing)
12:54
32
Ports (Firebase Waitlist App)
16:05
Unlock unlimited learning

Get instant access to all 31 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

More courses by KnowThen (James Moore)

Frequently asked questions

What are the prerequisites for enrolling in this course?
Participants should have a basic understanding of Elm and functional programming concepts. Familiarity with web development and JavaScript will be beneficial, as the course covers integration with JavaScript using ports and server communication via HTTP and Websockets.
What will I be able to build by the end of the course?
By the end of the course, you'll be equipped to build robust single-page applications using Elm. Projects include a Chuck Norris Joke App demonstrating effects and an app with real-time updates using Websockets for a leaderboard page.
Who is the target audience for this course?
This course targets developers who have a basic understanding of Elm and wish to deepen their knowledge. It's ideal for those looking to enhance their front-end development skills using a functional programming language that offers productivity and simplified debugging.
How does this course compare to other Elm courses in terms of depth and scope?
Unlike introductory courses, this course delves into advanced topics such as the Elm architecture, JSON encoding/decoding, and JavaScript integration. It provides practical examples and projects to reinforce these concepts, offering a comprehensive understanding of Elm for web applications.
What specific tools and platforms are covered in this course?
The course covers Elm-specific tools and techniques such as the Elm architecture, JSON encoding/decoding, and ports for JavaScript interaction. It also includes practical examples using Websockets and Firebase for real-time communication and data management.
What topics are not covered in this course?
The course does not cover introductory Elm language basics or general functional programming principles. It focuses on advanced Elm topics and practical applications, assuming prior knowledge of foundational Elm concepts and functional programming.
How much time should I expect to commit to this course?
The course consists of 32 lessons, with each lesson designed to provide a thorough understanding of advanced Elm concepts. While the exact runtime is unspecified, students should be prepared to invest time in studying the material and completing practical project exercises.