Coder Social home page Coder Social logo

Frontend stack decision about issue-wanted HOT 7 CLOSED

kowainik avatar kowainik commented on June 15, 2024
Frontend stack decision

from issue-wanted.

Comments (7)

willbasky avatar willbasky commented on June 15, 2024
PureScript Elm GHCJS
libraries middle high low
features high poor high
JS code size middle low high
JS integration middle high poor
haskell bridge middle poor excellent

from issue-wanted.

vrom911 avatar vrom911 commented on June 15, 2024

@willbasky thank you for this table! This is going to be very useful. I would like to add a couple of stuff to it. The size of the Elm js code is much smaller (especially in the newest release 0.19, which apparently has too much breaking changes and features cuts 🙁) than any other (Puserscript, GHCJS etc.). What about the bridge, the Elm's one is very broken, unfortunately. I can't say for Purescript bridge though as I had very limited experience with it, but I guess it should be slightly better at least.

from issue-wanted.

chshersh avatar chshersh commented on June 15, 2024

@willbasky I'm improved table in your comment. This Reddit comment is worth considering:

I'm giving my vote for PureScript and I think this is a right choice for issue-wanted. If we target low JS size and aim maximum speed than Elm is better as @vrom911 said, but it's a pain. PureScript is already good enough. And we all can learn something new. GHCJS is too huge and we don't learn anything new with it, only suffer.

from issue-wanted.

willbasky avatar willbasky commented on June 15, 2024

I also lean toward PureScript. Will the middle JS size become a problem?

from issue-wanted.

sshine avatar sshine commented on June 15, 2024

I only have experience with Elm, but I'm not comfortable with their development process.

I've never used PureScript or GHCJS, so I haven't experienced the disadvantages in practice.

For me, the main downside of GHCJS is the code size, and the mainside downside of PureScript is having to express your data model once on the back-end and once on the front-end. Perhaps PureScript is so similar to Haskell that you can re-use / transform the data model of one into the other? Another downside of PureScript that I've read about is that it uses bower, which is a dead package manager.

So I'd lean towards GHCJS just for the bridge, but I'd be very willing to hear a veto if there are any downsides I don't know of.

from issue-wanted.

chshersh avatar chshersh commented on June 15, 2024

I don't like GHCJS because of:

  • Code size
  • Low amount of documentation
  • Possible need to learn and use nix just to build project

After WebAssembly backend for GHCJS is implemented, it will become much better! But I would like to use frontend-specific tool for this task now. Also, again, learning purposes 🙂

bower is not a great tool, but we can live with that for now.

from issue-wanted.

chshersh avatar chshersh commented on June 15, 2024

Decided: PureScript.

from issue-wanted.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.