I’m interested in developing some games and educational tools in javascript. What IDE and other tools would you recommend for this purpose? My criterion are not too expensive, and doesn’t take up too much space on my computer. Thanks.
Honestly I just use VSCode. Others probably use EMACS.
Seconding VSCode. So many helpful extensions…
AND THE SYNTAX HIGHLIGHTER
If you have any issues with VSCode (for whatever reason), I recommend Notepad++ as an alternative. It’s not as robust as VSCode though; just offering it as an alternative.
Choice-based JavaScript IF Engine
As far as an approachable choice-based IF engine that focuses on JavaScript, I’m a big fan of iffinity. It’s the only engine I’ve used that doesn’t limit how you build a project. Work with as many JS, EJS, CSS files as you want and the simple CLI compiler will create a single HTML file from the EJS files.
It allows you to quickly build CYOA games, like how Twine games typically function, but they’re entirely dependent on you using JavaScript for the logic.
EJS files allow you to mix JavaScript and HTML together in a friendlier, more approachable way. Luckily, EJS syntax highlighting is offered through VSCode with this extension.
iffinity also packages in jQuery which is a very popular JavaScript library. It’s completely optional to use, but it does offer some very nice shortcuts for complex functionality.
The only downside to iffinity is that it’s as bare-bones as an engine can be. For example, it supports saving and loading of game states, but you have to program the local storage logic yourself. However, this is actually a strength, in my opinion, because there’s nothing you have to work around with iffinity; no default CSS, no JS logic that interferes with your JS, no weird HTML structure that you have to disable or remove, etc.
I kept VSCode around on this system, but albeit even VSC is actually available even from the Debian distro, I’m rather suspicious of prod-grade coding with a m$-originated editor/IDE, so I use it only for syntax-highlighted browsing sources, that is, as a glorified source code reader.
for day-to-day work I use Kate.
Best regards from Italy,
dott. Piergiorgio.
Did you mean an IDE for a developer or an IDE that would be integrated into the educational tools? If it’s the former, I just use Textpad, but VSCode is probably better. If it’s the latter, Electron is very popular. Even VSCode is built on the Electron framework.
By “educational tools” I mean simulations and activities for students to learn chemistry. I wouldn’t be teaching programming skills.
VSCode is essentially a Microsoft clone of Atom, which is Github-originated. (VSCode then replaced Atom after Microsoft bought Github.)
I haven’t spent much time in VSCode, but it’s heavily used and it’s solid as far as I know.
Atom is also built on the Electron framework, but it reached its end of life on 15 December 2022.
Not quite what you are asking for, but you might like to take a look at QuestJS, which is a set of libraries for creating games in JavaScript.
Pulsar is probably the most direct open source descendant of Atom:
Pulsar
To me it feels a little slower than Atom.
Zed is built by Atom dev’s but written in Rust:
To me it’s a fair bit faster, but not as easily configurable.
I had no idea about Pulsar. Feels atomy. I like it. Thanks so much!
OK, I’ve been using VScode as a development environment for a couple weeks on my PC. Today I had the good fortune of being gifted a Chromebook, which I’d like to switch to as my primary development environment. I’ve already turned on the Linux tools that come packaged with Chromebook, and now staring at the blinking cursor of the command line.
So question now is should I stick with VScode, or is there something more specific for the Linux environment for Javascript/HTML development tools?
Don’t get caught up in the editor wars. If you’re happy with something, then stick with it. Until you’re no longer happy with it, when you can try some alternatives.
But yes, VSCode is definitely a viable editor for both Linux and web development. It’s what I use.