11 ms·
Having a hard time choosing between Svelte and Elm. For a lone in house dev, any recommendations?
by xupybd 7y ago
Having a hard time choosing between Svelte and Elm. For a lone in house dev, any recommendations?
- orthoxerox 7y agoPlug Elm compiler into Svelte to create a monster, ensure your name will be cursed by those who follow you.
- ampdepolymerase 7y agoTheir approaches and style are completely different. Try both.
- stanislavb 7y agoI'd say Svelte is much closer to "regular" programming. You will have to bend your thinking a bit with Elm. Svelte seems great, but it seems to be developed by one person primarily. Also, that person lives in NY and the project looks paused at the moment.
- stanislavb 7y agop.s. Svelte is great, and I can't wait to start working more actively with it.
- tobr 7y agoWhat makes you say it looks paused? There’s been a very steady stream of releases since the big 3.0 launch last spring. There’s certainly more than one active contributor, although the core team is just a few people.
- PudgePacket 7y agoIt just had a major release :P any faster and people would be complaining about churn !
- untog 7y agoLooking at the Github commits I’d say neither statement is true? Seems to be plenty of contributors that have contributed recently: https://github.com/sveltejs/svelte/commits/master https://github.com/sveltejs/svelte/commits/master
- arkanciscan 7y agoThat person is also a jerk (in my experience)
- pts_ 7y agoElaborate please.
- arkanciscan 7y agoIt was a Twitter exchange that's been deleted so I can't remember the details. Suffices to say he was rude to me and that's colored my opinion of Svelte ever since.
- donohoe 7y agoWell, as someone who has met him several times I found him witty, kind, and a very friendly fellow. I'm sure you are a very nice person but it is possible someone out there thinks you're a jerk despite that.
- wolfadex 7y agoBy "regular" programming do you mean JavaScript?
- chvid 7y agoReact
- tomerbd 7y agoUse Elm for fun and React/Svelte for Profit
- IshKebab 7y agoThe problem with Svelte is it doesn't support Typescript. You pretty much need that on any reasonable size project unless you are happy to spend your life tracking down runtime bugs. Vue has a similar problem (it sort of supports Typescript, but not properly and templates aren't type checked). I've not used Elm so maybe that is better. React has good support for type checking. I would use that.
- orange8 7y ago> Typescript. You pretty much need that on any reasonable size project unless you are happy to spend your life tracking down runtime bugs I'd say it depends on your teams skill set and level of disciple. The best defence against a buggy codebase isn't a programming language or framework, its good all fashioned discipline.
- bambataa 7y agoDon’t need to catch bugs if you just don’t write them! taps head. It is still worthwhile imo to have something that catches mistakes even great people make.
- orange8 7y agoI completely agree. That something is a linter, of which TypeScript is just one of the many options available. This whole idea of you cannot write a big app in JS is just peddled by those who do not understand, or hate JS. A good linter, proper programming practices, discipline will get you there. Anytime someone peddles a language or framework as a magic bullet to clean code, they're either selling you some snake oil or have drunk too much of some koolaid, imho.
- giantDinosaur 7y agoThis is the kind of attitude that has resulted in a million code vulnerabilities in C because the idea that it's inherently unsafe is just an idea 'peddled by people unskilled in its application' (to re-express nicely). It's the kind of attitude which will ignore the many inconsistencies in languages which were the result of historical accident instead of good design because it's just a blind acceptance of the way things turned out to be rather than what they _could_ be. Many who go on about 'discipline' are often creating error prone applications and, ironically, peddling 'discipline' as that very magic bullet to cure all ills. I don't know if I've even seen discipline defined beyond some self-referential 'avoid doing these bad things that our language/environment allows by knowing that they're bad before you make the mistakes that show you they're bad'. Do developers just shrug and accept it as a fundamental design constraint to good programming languages when their booleans add with their integers and concatenate with their strings and give essentially random results? Do they not wonder: is there a system, more fundamental than linting, which can solve many of these issues in a general case?
- maps7 7y agoI picked up Svelte recently and I am happy with it. There is good documentation and examples and any questions I had were already answered online. I haven't used Elm yet.
- adelarsq 7y agoTry F#. Has good tooling and its possible to use the ELM arch. See https://zaid-ajaj.github.io/the-elmish-book https://zaid-ajaj.github.io/the-elmish-book
- xupybd 7y agoThank you this looks great. Okay now another tool to try. This is tricky business when you're looking for the tool set you want to invest in for the next 2 to 5 years and there are so many promising options.
- saila 7y agoI used Svelte 3 for a fairly complex side project last year (rewrote it from React), and it's my favorite JS framework so far. I do wish the TypeScript story was better though. I've also used Elm for another little side project, and it was super fun to learn, but it was a bit mind-bending at first. I think Svelte is a fairly safe choice because it's actively developed and because it's not too different from Angular/React/Vue. If there's any possibility that you'll have to hand this code over to someone else, I think Elm is a much less safe choice. So, to echo tomerbd's reply: Elm for fun; Svelte for profit.
- wolfadex 7y agoJust a reminder that Svelte, in Rich Harris's own words, is a language and not a framework. It technically isn't JavaScript, just an incredibly similar syntax.
- wolfadex 7y agoWhile I primarily use Elm for all my front end side projects, I do think it's worthwhile to try both. I'm currently writing a blog about trying as many front end frameworks/languages as I can. I'm going with this approach because I want to see what I can learn from each of them. For example, I've learned from Elm that compilers can be much friendlier. I've learned from Svelte that people are more willing to accept what appears to be familiar. You may learn something completely different.
- hitekker 7y agoPrezi, the original company that backed Elm, laid-off the maintainer and then deprecated Elm in their codebase.
- rgoulter 7y agoI wasn't aware of that context. Though evancz now works at NoRedInk. https://www.noredink.com/about/team https://www.noredink.com/about/team
- michaelcampbell 7y agoIf you haven't yet, find and read the lengthy "why I'm leaving elm" post; there's a big discussion here also. May provide some impetus one way or the other for you.