Truly offline IDE?

In fear of turning into a rant… I hate cloud.

I see the desktop IDE, but its not truly offline, “yet”. Does that mean it is actually in the works to go offline?

And yes I see there is the toolchain that can be installed by my understanding is that is completely CLI based. I prefer GUI as I get easily lost in CLI beyond scripting.

What I’m getting at, is before I purchase and support Particle I want to know if a truly offline solution is being worked on that works seamlessly as the cloud stuff advertises.

Yeah there is an option to use netbeans. its totally offline and i use it to develop when i have no internet for weeks at sea.

search the forums there is an old video for setting it up for the core, and i think someone wrote a little utility to set up all the particle goodness including netbeans, set up for both photon and core.

1 Like

And there already has some work been done on an local build package for Dev - it’s looking promising.

1 Like

Well I spent several hours tuesday night trying to follow this and get it to work

After solving a bunch of path issues and installing VS2010 Express... I still can't get the node.js modules to install (particle-cli and the server one).

So with that toolchain I can compile the code but then I need to run my own cloud to send it to the photon? And that would be all CLI based at that point?

Is there somewhere that development on Particle Dev (for offline development) is being tracked? I want to be able to compile and flash the unit wireless from a nice interface.

It’s alpha, but you can follow the progress here
https://github.com/spark/particle-dev-local-compiler#installation-steps

We’re definitely working on making this happen and package that @ScruffR mentioned is a big step towards this.

I must warn that this is still an early alpha and requires about 10GB of disk space at least.

You can download all the source files and use gcc to compile your code locally, and dfu-util to program your device over USB.
You need a connection to manage your devices’ behaviour with the particle servers, but you can develop totally offline.

Well, I did everything according instructions.
BUT! No success.
Here my pray to Atom:

Checking in on the github, https://github.com/spark/particle-dev-local-compiler

Hasn’t been updated in a year.

But I see https://www.particle.io/products/development-tools/particle-local-ide mentions offline compiling and flashing.

Is this truly an offline method of using the particle?

I've looked over the second link your provided, but I can't see an explicit statement about offline compiling - although offline development might suggest that (unfortunately).

This does in fact seem a bit misleading to me

You can compile, just not locally.

Yes the wording on that page is very confusing and misleading.

Are there any efforts being made to make particle usable truly offline? Or should I be selling my particles?

Other cloud solutions I use have options to use 100% offline. ex. Bitdefender security software gives you a VM image to run their cloud stuff locally. I don’t understand why particle refuses to do something similar.

You mention offline compilation above and then talk about other cloud solutions. These are two different things. You can run a local cloud on your own computer–this has been available for quite some time. It is not the same as the commercial cloud, but still works great. https://docs.particle.io/guide/getting-started/contributing/photon/#local-cloud

You can program your device to not require the Particle cloud, or to add the Particle cloud when you need it, or use the default which is full cloud at startup time. See here for details: https://docs.particle.io/support/troubleshooting/mode-switching/photon/

Offline compilation has also always been available, it is just an advanced maneuver since you need to download and setup the ARM gcc toolchain. Many of us use this flow all the time (although I find the web IDE “build” to be fast and convenient). If you are a Windows user, it will be more difficult since the gcc based tools assume a Linux-like environment, but you can provide such an environment without too much extra work. Linux and Mac development are both dead simple to set up.

1 Like

To add to @bko’s points, even though the project you linked is marked experimental (and not recently updated) why not just try it out?

If you find anything unsupported there, Particle will appreciate all feedback.

And finally Particle is currently throwing manpower into the IDEs, so there will be news sometime soon.

BTW, what’s wrong with the online build tools?

You mention the web IDE is fast and convenient, and that’s just the thing; the other solutions you mention are not fast and convenient. In fact they are quite the opposite. To my knowledge the local cloud is all CLI based and flashing to the devices is done solely via USB. Further, like you mentioned, getting the offline compilation working under windows is more difficult to the point I have yet to be able to get it to work.

I talk about other cloud solutions in that they can be run 100% locally. Bitdefender as the example I download the VM image and start it up in the hypervisor of my choice and then have full access to all the tools within minutes, exactly the same as their cloud but local.

What’s wrong with the online tools? I am against the cloud in principal. I do not want to be reliant on a third party for any part of the process. From the moment I open the device I do not want to have to connect it to the internet for any purpose. Everything should be able to be done locally, preferably within a single GUI interface. I wanted particle for its integrated wifi, not cloud.

I would try out the dev-local-compiler but it doesn’t get me to flashing the devices. How do I get to that next step? All the guides show using the cloud stuff which I do not want to use.

po-util is a script that I created to simplify offline Particle development for MacOS and Linux. You mentioned that you are on Windows, and unfortunately Windows is not well suited for Particle development.

I would recommend trying po-util on Linux in a virtual machine at the least.

1 Like

That looks helpful, thanks.

Is there is a step by step guide somewhere to get started with particle using the offline tools? I find bits and pieces scattered and its hard to make sense of it all.

It seems in addition to po-util I would need particle server, not sure how to go about doing that. Also will need to connect via USB initially? Not sure how I pass the particle USB over to a VM.

Not really. The documentation is kind of sparse, but this could help. https://github.com/spark/firmware/blob/develop/docs/gettingstarted.md

I made po-util take care of this on its own.

UPDATE:
I just released a huge update to po-util's library manager.

Depending on what you are using to manage your VM this can be done in multiple ways. Google is your best friend here.