Skip to content

Instantly share code, notes, and snippets.

@harpreetkhalsagtbit
Last active September 26, 2016 10:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save harpreetkhalsagtbit/eab338720c2131216ca95d737aed78ac to your computer and use it in GitHub Desktop.
Save harpreetkhalsagtbit/eab338720c2131216ca95d737aed78ac to your computer and use it in GitHub Desktop.
My Research on ELM - 3/10 Marks to 8/10 Marks

My Research on ELM - Mail to my Boss - 9 June 2016

I have gone through so many articles related to elm from past few days. My affinity for using elm, had many ups and down as I gone through different articles.

The very first opinion, after reading One or Two articles related to Elm was:

  1. We need to learn a Totally New and Different syntax.
  2. People are comparing Elm with React --- How? Some are even saying it better that React - How?
  3. How to train other developers, how to convince other for using Elm(even I am not convinced yet). People are comfortable using HTML/CSS directly. Its not easy for everyone for a transition like this.
  4. New Language, New syntax. Who will clear doubts, even Google Search is not fetching some important results like: How to make an AJAX request using ELM. Only 1 or 2 links will appear even that will not answer your doubt clearly.
  5. How can i search for DOMs as we can easily do using jQuery(alternative?). How we can use other external libraries like - Zoom Image already developed using jQuery and other stuff that we may need in future like Drag&Drop etc.
  6. Strict Mode - By default. 0% chances of null, undefined errors - Good.

Then, I got this link http://elm-lang.org/blog/blazing-fast-html

Its about Elms Rendering Speed. OK, that's fine, but still the question is same. Will the developers feel comfortable in using it?. It doesn't matter how fast you render, what matter is how fast developers get used to of it.

Up to that time, I had decided that I am not going to use ELM for now.

3/10 Marks for ELM upto then.

3-10 marks

Then, I moved to this link http://www.slideshare.net/napcs/rethink-frontend-development-with-elm-60585314

This surely cleared my many doubts and by that time, I do had some familiarity with some ELM Syntax, Environment setup and some other theoretical concepts related to ELM. Yes, it does increased my affinity for ELM. The fear of learning New Syntax had been overcome a little bit by then. But New Doubts appeared.

  1. What about modularity. This article was showing various code snippets separately. Do we need to write CSS, HTML JavaScript all together for a particular module/page.
  2. If yes, if we need to add CSS, HTML for one module in one single file. Then we may need full stack developer. How can we divide tasks. We can't do development work in parallel. We would be facing so many git merge conflicts.
  3. How can we write long and complex JavaScript event handlers. This article is good enough in showing basic JS event handlers.
  4. How it is reactive - still not clear.

Note: I know, In React.js we also need to write HTML, JS (not css) in one file for each module, we can create separate module/classes. React is JS, no issue in writing long JS code.

4/10 Marks for ELM upto then.

4-10 marks

Then, I moved to this link http://rundis.github.io/blog/2015/elm_sweeper.html

  • A good comparison of ELM and Javascript.
  • It cleared my some doubt related to Long Javascript Code
  • More familiarity with ELM syntax

But still, HTML, CSS, JS all in one file. So no improvement in overall Score and Affinity towards ELM.

4/10 Marks for ELM upto then - No improvement in thoughts for ELM

4-10 const marks

Then, I moved to this link http://bendyworks.com/elm-frontend-right-now/

  • Capable of writing Long JS code handlers
  • HTM/CSS/JS in on file for one module.
  • More familiarty with ELM Syntax.
  • No null, undefined errors.
  • No automatic type casting, closure issue as in JS

Some improvement in overall Score and Affinity towards ELM. Null, undefined handling can also be done, it is a good practice to solve these issue implicitly. Same for type casting and closure issues.

5/10 Marks for ELM up to then. I decided to lets give a try for a static html project to have a little bit of experience of using ELM. A simple HTML, JS, CSS work for Learning only.

5-10 marks

Then, I moved to this link

http://futurice.com/blog/elm-in-the-real-world

This link completely changed my view about using ELM. This article is written in the same way as I wanted to Test and Research on the ELM before Either Accepting or Rejecting ELM for development. I was in favor of writing a simple basic HTML, CSS but these men were actually using it for writing Complex things first so that it gets rejected very earlier. Nice move. It's a great article for elm.

From this article I found other links

http://elm-lang.org/docs/from-javascript https://github.com/isRuslan/awesome-elm https://gist.github.com/ohanhi/0d3d83cf3f0d7bbea9db

8/10 Marks for ELM up to now.

8-10 marks

This is all my opinion, research and experience with elm. I haven't used ELM for testing yet. Though I want to and will use as soon as I got some spare time.

My Final opinion on ELM is:

  1. It is good enough to give it a try.
  2. The syntax may seem daunting at first, but don't fret.
  3. How to train other developers, how to convince other for using Elm. People are comfortable with HTML/CSS/Directly. Its not easy for everyone for a transition like this.
  4. New language, New syntax. Who will clear doubts, even google search is not fetching some important results like: How to make an AJAX request using ELM. Only 1 or 2 links will appear even that will not answer your doubt clearly.
  5. How can I search for DOMs as we can easily do using jQuery.
  6. How can we use other external libraries like - Zoom Image already developed using jQuery and other stuff that we may need in future like Drag&Drop etc.
  7. Would be more helpful, if we have a Full Stack developer working on ELM, who knows, CSS, HTML, JS perfectly.
  8. Give proper time on Research and Learning on ELM.
  9. We should Start ELM with a New Project, not with existing project.

Edit:25/09/2016

Then I moved to http://redux.js.org/docs/introduction/PriorArt.html#elm

I should revisit ELM soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment