Hacker News new | past | comments | ask | show | jobs | submit login
Why I Think Elm Is the Future of Front End Development (medium.com/rgoomar)
29 points by rgoomar on Oct 15, 2016 | hide | past | favorite | 6 comments



You just have to code every single user interaction and effect from scratch in every project unless you want to deal with ports or impurity.

Integration of different elm subcomponents is also a pain in the ass because it doesn't have any mechanism to agomerate existing functionality which modifies the UI.

Unless it solves those problems and includes functional objects and compile time macros to transform parts of the code it won't get practical any time soon.


With massive backing behind Angular and React from giants like Google and Facebook I doubt Elm will make a dent in overall adoption. There are many excellent functional transpile to JS languages out there (Clojurescript is my favourite) but industry wants Javascript. Furthermore, a lot of front-end JS is coupled with back-end Node.js so any new front-end language will need to integrate well with Node.js which is the new Enterprise hotness.


I agree. It isn't going to have a large dent in adoption. Bigger companies won't just jump on board and will use Angular and React due to popularity and it is probably easier to hire engineers with experience in one or the other. But, I think the adoption of Elm for newer projects can have a significant impact.


What about the promise of web assembly? I'd be surprised if the dominant front end language used 10 years from now has already been invented.


I have read that integrating with Javascript isn't as trivial, like other non-Elm libraries. Do you have any thoughts on this?


It isn't that hard. You just have to communicate with the Elm ports library appropriately. See this for more information: https://guide.elm-lang.org/interop/javascript.html




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: