Bangle.js2 IDE/Developement recommendations

Posted on
  • I'm writing a small app and for programming/debugging I'm using an unoly mix of GitHub editing, Notepad++, WebIde and alot of copy and paste. I'd love to use the WebIde for more but since it (to my knowlege) doesn't support editing multiple files at once and also I can't get the projects setup to work it is really cumbersome to use. Projects worked with the native windows version, however I had problems with the connection including dropped characters so I went back to the web version.

    What setup would you recommend for someone who doesn't have alot of JS (and for that matter git) experience?
    Thanks!

  • Some variant of my workflow as follows:

    1. Have an idea. Think about it some.
    2. I use the Web IDE to do coding and debugging.
    3. When I want to save the code I'll use a branch in my github fork from a linux terminal using git+my editor of choice.
    4. Pushing local changes to github will reveal if I've violated any of the sanity checks.
    5. EDIT: I might upload to my personal app loader and install to the watch that way.
    6. Repeat steps 2-5 until I'm happy with what I created and feel it's time to do a PR to the main repo.
    7. Sometimes I will squash commits if there are many of them before moving forward and...
    8. ...do a PR via the github webpage. (If working on an app someone else created/others contributed to I will tag them in the PR)
    9. Respond to feedback on the PR, tweak the code either in the Web IDE or terminal+git+text editor.
    10. The PR generally gets merged :)

    Regarding editing multiple files in the Web IDE, I will sometimes have multiple tabs of it open for editing different files. All tabs can be connected and send code to the watch - just don't send multiple files at once, one at a time (I think).

  • How do you work with the web ide if you need to check with a launcher, your app and the emulator? Do you upload the launcher files manually to the enulators storage?

  • The tip with multiple windows is super helpful, thanks! I have an idea that requires an App, Settings page and Widget that all interact with each other, just having each open seperately makes it much easier.

  • @Jonathan Glad to hear it works! :) Don't remember where I learnt of it first.

    @Hank I don't understand the question fully, sorry :p Please clarify and I'll try to answer :) I hardly use the emulator though and mostly just run the code on my bangle 2.

  • I like to have a local apploader running to be able to install an app containing multiple files to the watch in one go and then just copy the one file I currently work on to the web IDE and set it up to push to the corresponding file on the watch (as set in metadata). For the local apploader I just installed https://jekyllrb.com/ and run jekyll serve in my apploader checkout. Default access is then on localhost:4000.
    Only disadvantage is the missing way to use the emulator. Being able to install from apploader to emulator would be nice.

  • I use Emacs locally. I am running on a Chromebook. It means I have to fetch/merge code from Bangle/master, make changes, push to my own loader repo on github and then I do a pull request from there if I am happy with the result. When developing I tend to have the IDE setup to watch a file and then I upload it to a named file on the Bangle. This arrangement works for me. I could setup a web server on my Chromebook as well and then test installs without having to do the push to my github repro / personal loader. But during development I tend to start with Simple clock and just overwrite simplest.app.js, its ownly when I have done most of the dev that I create a proper app/myapp directory etc, to do screenshots and README files etc.

  • As mentioned, at least for me:

    • I just open multiple windows pointing to espruino.com/ide and connected to the same watch
    • You can always click the Storage icon and then upload file, which ends up being reasonably quick for uploading files that don't change that often

    But generally unless I'm developing an actual library I try and keep most of what I work on in one file.

    Google actually awarded me some money as part of their web apps fund so I can start working on adding Multiple File support to the IDE though, so hopefully that will come at some point - I just have far too much work on at the moment to get started with it

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

Bangle.js2 IDE/Developement recommendations

Posted by Avatar for Jonathan @Jonathan

Actions