I am playing with Processing on my laptop and will be wanting to make my sketches more widely available. I get that Android is a separate thing which may require code mods and also also may have extra affordances, and I plan to go there but not for a good while yet.
But am confused about my best options for making stuff available on the web. Where can I look for advice?
This is what I’ve figured out so far but it might be wrong. One option would be to make a movie and publish it via my normal channels (i.e. twitter and fb). But that’s not any fun for interactive stuff.
I do have a cloud hosted server I don’t use much, that I think I could run a Processing instance on (which I currently only use for a static site and I forget if it’s windows or linux!). But… how would I give this a public gui that enabled access to selected sketches? I’m reluctant to do any real work here if I can avoid it. If you can point me to any discussion of this or any boilerplate I can re-use that would be great.
Or… do I just need to be coding in P5.js instead of Processing if my target deployment environment is Web? My understanding is that if I use P5.js maybe I could potentially just use open.processing - or, with a bit of elbox=w grease, my hosted service? There are so many good resources on learning Processing that I am reluctant to confuse myself with learning a different variant when starting out.
But perhaps I could create what I want in Processing then look at translation to P5.js? This sounds like it’s possible but possibly it is also worth avoiding.
What is your advice for how to proceed, or for what I could look at to unconfuse myself here?
You can use Processing.js to run Processing sketches on the web.
You shouldn’t have to change your code, but it seems that it hasn’t been updated that constantly, so a couple functions may not be available.
To get started check out: processingjs.org/learning/.
Aha! Super useful, thanks. As to the difference between processing.js and P5.js… I have found this explanation here, which says - amongst many other useful things
“only P5 is officially supported by the Processing Foundation”.
Sounds negative in the long run, but not something I need be interested in at the moment? The processing.js route seems the most straightforward way forward from where I am…?
Processing.js is pretty reliable, and I’m pretty sure that it used to be the “official” JS counterpart of processing.
p5.js isn’t that different from processing, so if you want all the features of Processing and a more “proper” language you can use that. Processing.js is no longer being updated, so should there be a major Processing update, it probably won’t have all the new features.
I would use p5.js over Processing.js, but it depends on what you want. If you’re thinking about making larger-scale projects, I would go with p5.js, but if you don’t want to have to learn all the basics of p5.js, you can use Processing.js.
I believe you need to figure out what is your target platform. If you start with a project in Processing java, and the project grows substantially, then it won’t be easy to deploy on the web as I would bet P.js (Processing.js) will fall short as a tool to do the translation to web technologies. If you were going to need to deploy on the web, then you will need to rewrite the code in p5.js. In essence, you will need to maintain to source codes. This is something you need to consider. If you were going to deploy in Android, then you will need to maintain 3 source codes. In other words:
Not fun and very expensive. There is one technology that will be more suitable than other and it is project dependent.
One of the main advantages on going with p5.js is that web technologies are evolving to provide really nice features that were not available before. To run a project on a browser simply means it could potentially run on any platform, which sounds like a very nice feature. For some advanced projects that require specialized hardware integration, you might need to stick to Processing java.
I am fond on P.js but I recognize its limitations and I would personally not use it in big projects. For me, it is important that a project receives support and to have a community working on it.
If you want to use your web server, then you could use P.js or p5.js keeping in mind than for the former you are not allowed to use any external java libraries or event Processing supported libraries. My understanding is that you can use js libraries, but I haven’t done that myself so take this with a grain of salt.