Skip to content

rundis/elm-workshop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Workshop - Building Web Apps with Elm

It's about time you started learning some Elm ! This workshop will (hopefully) get you to a stage where you will be able to make a Web Application using Elm on your own (*).

To make the most of the limited time we have for the workshop, there are few things that I need you to set up prior to the workshop.

(*) This workshop is not a complete tutorial on the Elm language. It's highly recommended to check out the official Elm Guide to get a better understanding of how Elm works in general !

Overview

Installing Elm (and a few other tidbits)

Please install Elm and set up your editor before the workshop ! If you have any problems, get in touch and we'll work it out.

Install Node (/npm ..or yarn if that's your thing)

If for some weird reason you haven't got node/npm on your machine, you need to get that installed for some parts of the workshop. If you are on Linux, you'll deffo need it regardless.

  • Recommended: install via a version manager like nvm
    • For OS X and Linux install nvm
      • nvm install --lts
    • For Windows install nvm-windows
      • 64-bit: nvm install 6.10.0 64
      • 32-bit: nvm install 6.10.0 32
  • Or download from nodejs.org

Installing Elm

Installing Elm Format

You don't have to install this, but you might as well get used to it from the get go. It ensures that your code style follows the community guidelines from the get go. You'll probably have issues with the amount of whitespace it introduces, but once you get used to it you'll really start to appreciate it. No more formatting discussions, and you can spend the time writing awesome Elm code instead.

or you should be able to use npm -g install elm-format

Choosing and configuring an Editor

Most popular editors have some level of Elm support. This workshop is not a good place to start learning a new editor completely from scratch, if in doubt choose an editor you are comfortable with !

Atom has some of the most advanced features for saving you from typing. In particular elmjutsu has some really nifty features. This seems to be the most popular editor in the Elm community at the moment.

If you install elmjutsu, you should turn off the autocompleter in linter-elm-make (using the package manager in Atom) and use the autocompleter that comes with elmjutsu.

Has a ton of features, many of which you don't need for this workshop. But the repl integration alone might be worth considering it as a "second" editor. Oh and I'll be showing things using it. But yeah it's a niche thing so if you've never used it before ... I'm happy to help anyone interested getting in configured (but please contact me before the workshop so we get you sorted well in advance).

Check out the guide if you are interested in trying it out.

!! Heads up !!

For the remaining editors you'll need to install elm-oracle to get autocompletions. npm -g install elm-oracle

Emacs

There's an elm-mode !

Sublime

A good choice if you're undecided and just needs something that is simple to get started with and that is great at editing text.

Vim

Vim* (with a package manager like vim-plug or Vundle)

  • Valloric/YouCompleteMe
    • General Vim autocompletion.
  • w0rp/ale
    • Recommended: General Vim linting and typechecking.
    • NOTE: Requires NeoVim or Vim 8.
  • vim-syntastic/syntastic
    • General Vim linting and typechecking.
    • NOTE: Use if you're not using NeoVim or Vim 7.
  • ElmCast/elm-vim
    • Syntax highlighting, indentation, autocompletion, autoformatting.
    • Requires previous Vim plugins.

IntelliJ

Check out the following elm-plugin. (To get elm-format working you'll need to follow these instructions https://github.com/avh4/elm-format/blob/master/README.md#jetbrains-installation)

About

Get started building Web Apps with Elm

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published