# Quickstart learning envs (e.g. ellie) - current favorites?

**URL:** <https://discourse.elm-lang.org/t/quickstart-learning-envs-e-g-ellie-current-favorites/9294>\
**Category:** Learn\
**Created:** [August 30, 2023, 4:12am UTC](https://discourse.elm-lang.org/t/quickstart-learning-envs-e-g-ellie-current-favorites/9294 "2023-08-30T04:12:54Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![kanishka](https://avatars.discourse-cdn.com/v4/letter/k/3e96dc/32.png) [@kanishka](https://discourse.elm-lang.org/u/kanishka)\
**Post date:** [August 30, 2023, 4:12am UTC](https://discourse.elm-lang.org/t/quickstart-learning-envs-e-g-ellie-current-favorites/9294/1 "2023-08-30T04:12:54Z")

</div>

I’m curious about what people are using currently when they want a minimal fuss learning environment for people building up their elm core syntax and library skills that only needs a browser?

- ellie
- codespace/gitpod w/elm essentials installed
- something else…

---

<div class="post-metadata">

**Author:** ![Enkidatron](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/enkidatron/32/1976_2.png) [@Enkidatron](https://discourse.elm-lang.org/u/Enkidatron)\
**Post date:** [August 30, 2023, 8:14pm UTC](https://discourse.elm-lang.org/t/quickstart-learning-envs-e-g-ellie-current-favorites/9294/2 "2023-08-30T20:14:55Z")

</div>

Ellie is my go-to for exploring a new library. I haven’t tried the others, so I can’t compare, but I have always been happy with Ellie for this use case.

---

<div class="post-metadata">

**Author:** ![dirkbj](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/dirkbj/32/3162_2.png) [@dirkbj](https://discourse.elm-lang.org/u/dirkbj)\
**Post date:** [August 30, 2023, 9:39pm UTC](https://discourse.elm-lang.org/t/quickstart-learning-envs-e-g-ellie-current-favorites/9294/3 "2023-08-30T21:39:09Z")

</div>

I’ve onboarded several engineers with Elm to date and haven’t tried to shield them from the stock Elm development setup I use. It is quite easy to get a simple elm app in place for experimentation and learning.

I use:

1. [VS Code](https://code.visualstudio.com/) with the [Elm Tooling VS Code extension](https://marketplace.visualstudio.com/items?itemName=Elmtooling.elm-ls-vscode)
2. [Vite](https://vitejs.dev/) with the [vite-plugin-elm](https://www.npmjs.com/package/vite-plugin-elm) extension
3. [Tailwind](https://tailwindcss.com/) for CSS with the [elm-default-tailwind-modules](https://package.elm-lang.org/packages/matheus23/elm-default-tailwind-modules/latest/) package
4. Other misc Elm tools like elm-format, etc. (see gist below)

I have posted [a gist that outlines my basic elm project setup](https://gist.github.com/dbj/7a1201072d098358dea3d4c3ea13c3d9) for onboarding new engineers or simply starting up a new app. This just assumes that VS Code and the Elm Tooling VS Code extension are installed.

Note that the `Msg` variant called `NoOp String` is for helping the engineer see application interactions. Wherever an “onclick” event is used, you can use a `NoOp <my_onlcick_button_name>` msg instead of a custom `Msg` variant to trace the clicks in the Elm debugger because the `String` payload shows up nicely in the debugger.

Hope that helps!

---

<div class="post-metadata">

**Author:** ![kanishka](https://avatars.discourse-cdn.com/v4/letter/k/3e96dc/32.png) [@kanishka](https://discourse.elm-lang.org/u/kanishka)\
**Post date:** [September 1, 2023, 1:49pm UTC](https://discourse.elm-lang.org/t/quickstart-learning-envs-e-g-ellie-current-favorites/9294/4 "2023-09-01T13:49:20Z")

</div>

In my context, it’s with coworkers who have our monorepo installed and all the elm tooling installed, but I want something separate and low interference with their regular development environment, to go through short exercises like:

```auto
implementThisFunction : Int -> Bool
implementThisFunction = Debug.todo "nyi"

```

and iterate quickly… something slightly faster and simpler than exercism.

I’ve started with ellie and then I will upgrade to codespace later.

---

<div class="post-metadata">

**Author:** ![dirkbj](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/dirkbj/32/3162_2.png) [@dirkbj](https://discourse.elm-lang.org/u/dirkbj)\
**Post date:** [September 1, 2023, 5:29pm UTC](https://discourse.elm-lang.org/t/quickstart-learning-envs-e-g-ellie-current-favorites/9294/5 "2023-09-01T17:29:38Z")

</div>

Ah… Makes sense. Yes, Elle is a great way to start. I’ve not tried codespace. Will have to take a look at it. 🙂

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex035/uploads/elm_lang/original/1X/50a05e53677a2c3b47776d7abd0f113eb50193a1.png) [@system](https://discourse.elm-lang.org/u/system)\
**Post date:** [September 11, 2023, 5:30pm UTC](https://discourse.elm-lang.org/t/quickstart-learning-envs-e-g-ellie-current-favorites/9294/6 "2023-09-11T17:30:08Z")

</div>

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.
