run-js
run-js copied to clipboard
Create GUI
A CLI is alright, but for someone brand new to coding, opening up a Terminal, installing node and npm, and then installing this module can be a little daunting. My goal is that this would be a one click solution. With Electron, this is totally possible! The flow that I'm thinking of is that the user launches the app, and then just starts coding. It'll create a directory for their code to live automatically, though the user could change it if they want.
I'll likely start working on this once I've finished up v2.0.0. (GH-2)
If your going to make an editor thing, then could you consider including an output panel like in scratch JS.... https://chrome.google.com/webstore/detail/alploljligeomonipppgaahpkenfnfkn ...I found it very useful in learning.
Expanded notes (cc @abacon, sorry for the delay!):
- The GUI should be super easy to use. Like the CLI is just one command, the GUI should just be one click.
- The user should be able to set which directory they want to have the server run in. It should have a default, though. (
~/Documents/run-js
, or the platform equivalent, for example) - Mac and Windows for the initial release. Windows is important, since there's a lot of people who use Windows with Node, especially newbies. It'll be a bit of an extra complication for the build step, but with modules like
electron-packager
andelectron-builder
, it shouldn't be too bad. - The GUI should feel native on each platform. Custom styling for each platform is fine for me.
- I had initially planned the ability to add more handlers/transforms/plugins in the app, but for the initial release, I want to leave that out. I want to make sure that the core functionality works first, and then extra features can be added on from there.
- Ideally, there should be auto updates. Electron has the auto-updater module, but the set up for it is a bit annoying, since it requires a custom server. There are modules that interface over it so that it uses GitHub Releases (see: https://github.com/GitbookIO/nuts), but even then, there'd have to be a lot of extra logic, like signing releases, and generating certain update files for Windows. The apps should be signed, of course (safety! woo!), but I'm considering having a system that just prompts the user to download a new version from a website to start with. It's not the best user experience, but it'll be easier to start with. Once the core app is done, and more people are using it, then I'd probably take the time to properly set up auto updating.
This is awesome! I've got a prototype that's almost ready... I'll try to get it done today so you can take a look. I think we've both thought more or less along the same lines. :raised_hands: :exclamation:
@remixz ok, don't judge too hard... 😳 https://github.com/abacon/run-js-app
No judging here! This is super radical!! :boom:
This is really awesome to see in action. It has some bugs, of course, but I'm mostly just excited to play with it. This is really starting to feel like how I imagined run-js
to be.
I like the idea of having multiple project folders. I didn't even think of that, but it actually works really well. There'll have to be port management, so that multiple can run at once, but that's a really solid idea.
I'm not the biggest fan of menu bar apps, but that might just be me... I sometimes find keeping track of a bunch of icons in the menu bar kind of annoying. Not really that big of a deal, though. I'll play around with it.
I'll likely be pushing up some of my work on the GUI up to a repo soon. I'll add you as a contributor to that as well, @abacon. Again, awesome work. Thanks for bringing in some great ideas. This is exciting! :smile: