I've been developing a JavaScript game engine for a few months now using Nim. 
Why would I subject myself to this level of pain? Because it's cool!

Wrapping ThreeJS, DatGui, and a couple other libraries have been a breeze. 
Making my own logic, like for example an ECS architecture, has been a 
nightmare. I'm constantly getting ambiguous errors that are nearly impossible 
to debug like this:

`Error: redefinition of 'helper`gensym64'; previous declaration here: 
C:\Users\leonl\.choosenim\toolchains\nim-2.0.0\lib\js\jsffi.nim(231, 12)`

This stuff leads to workaround after workaround and let me tell you it hasn't 
been pleasant. Some of it could be mitigated in theory by wrapping more native 
javascript stuff, but that's what the `.` operator is for w/ JSFFI.

I'm still going to see this through though so I'm just bitching. If I had the 
time and motivation to learn how JSFFI and the js backend for nim worked 
internally I'd love to contribute and make the js development process for nim 
much more enjoyable. I've been using the js backend for like 3 years now- 
successfully made apps scripts for Google Sheets/Docs, a couple utility chrome 
extensions, and little web apps, but everything was relatively simple. Making a 
more complex project using this backend in my experience... isn't for the faint 
of heart.

<3

Reply via email to