/web-development-with-elm

📖 Course materials for my course on Web Development with Elm

Primary LanguageElm

Web Development with Elm Build Status

1. Elm: Installation and Building the first project

In the first section, we will cover the basic syntax features of functional programming language, core data types, and persistent data structures. You will learn the core ideas behind Elm’s type system and how Type inference helps to prevent the runtime errors. In the last couple videos, we will look into module system and the built-in module for rendering HTML and inline CSS.

  1. Starting-up with your first Elm App
  2. Get familiar with Elm syntax
  3. Expressing the Model with Built-in Data types
  4. Persistent data structures in Elm
  5. Elm’s Type system and Type inference
  6. Maybe and the Result data types
  7. Module system in Elm
  8. Rendering the Model with HTML and CSS

2. Architecting Webapps: The Elm Architecture

The second section focuses on Elm Architecture and stateful applications written in a purely functional language. You will learn to build interactive user interfaces with Beginner program. We will introduce the concept side effects required for performing I/O operations in Elm.
The second half of the section focuses on Json.Decode and Json.Encode modules for ensuring the type safety in runtime, while performing I/O operations.

  1. Introducing Side effects with Beginner program
  2. Tasks for asynchronous computations
  3. Executing the Program with Commands
  4. Manage the initial application state with Program with Flags
  5. Communication with the Server
  6. Encoding and Decoding JSON
  7. Talking to JavaScript

3. Explore The Elm Tooling

This section outlines core development tools you will use for application development. We will look into Elm’s package manager and learn about available open-source packages. In the second half, you will get familiar with the basic principles of testing Elm code. The final video covers elm-css module, which allows you to write Type safe CSS.

  1. Development tools: elm-format, Time Traveling Debugger and elm-reactor
  2. Package manager and open-source packages
  3. Testing your modules
  4. Type safe CSS with elm-css

4. Going Further with Elm

This section outlines core development tools you will use for application development. We will look into Elm’s package manager and learn about available open-source packages. In the second half, you will get familiar with the basic principles of testing Elm code. The final video covers elm-css module, which allows you to write Type safe CSS.

  1. Encapsulation and Code Organization
  2. Managing the Messages with Tagger
  3. Rendering performance optimizations with Html.Lazy