dwyl / learn-elm

:rainbow: discover the beautiful programming language that makes front-end web apps a joy to build and maintain!
https://github.com/dwyl/learn-elm
481 stars 41 forks source link

How to Create a New Elm 0.19 App from Scratch #124

Open nelsonic opened 5 years ago

nelsonic commented 5 years ago

We need to:

nelsonic commented 5 years ago

https://elm-lang.org/0.19.0/init

ashishsc commented 5 years ago

Do you think it's worth directing readers to a third-party helper like https://github.com/halfzebra/create-elm-app ?

nelsonic commented 5 years ago

@ashishsc good question and thanks for adding the link. ❤️ create-elm-app is a good project and all those involved should keep up the great work! 👍 the creator of the project shared it in: https://github.com/dwyl/learn-elm/issues/54#issuecomment-371097895 and we took a look at the time. 🔍 It's useful for people who are unsure what they need in a project and offers decent defaults. ✅

My reasoning for not using create-elm-app is that I don't need several of the bundled "features". e.g: I definitely don't need 180mb of "babel" to run/build an Elm app. 🙄 And if I'm building a guide for complete beginners, I don't feel that giving them a "kitchen sink" is an effective way of learning. It's more likely to overwhelm than elucidate. I don't need Autoprefixer either if I'm using Tachyons or Elm-UI.

If I could have a "create PETE app" that included all the elements in our "Extended Stack" https://github.com/dwyl/technology-stack/issues/67 that is what I would use because it would give my app a massive "head start". However, for the purposes of a "beginner" Elm App, I feel that "PETE" is overkill. I'm busy writing an Elm App / Tutorial and will be including the instructions for creating an Elm App with the bare minimum files for Testing, Debugging, Hot-reloading (including ports) on connected devices and PWA browser / web worker / cache clearing.

Ultimately, I feel this is a matter of "taste", some people prefer other tools from what I have chosen. Thanks for sharing/asking. ✨

ashishsc commented 5 years ago

That makes sense to me!