# Planning for publishing - best approach?

**URL:** <https://discourse.processing.org/t/planning-for-publishing-best-approach/3893>\
**Category:** Project Guidance\
**Created:** [September 27, 2018, 9:49am UTC](https://discourse.processing.org/t/planning-for-publishing-best-approach/3893 "2018-09-27T09:49:25Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![MuddyGardener](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/muddygardener/32/1719_2.png) [@MuddyGardener](https://discourse.processing.org/u/MuddyGardener)\
**Post date:** [September 27, 2018, 9:49am UTC](https://discourse.processing.org/t/planning-for-publishing-best-approach/3893/1 "2018-09-27T09:49:25Z")

</div>

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?

thanks

---

<div class="post-metadata">

**Author:** ![Sarah](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/sarah/32/1675_2.png) [@Sarah](https://discourse.processing.org/u/Sarah)\
**Post date:** [September 27, 2018, 10:23am UTC](https://discourse.processing.org/t/planning-for-publishing-best-approach/3893/2 "2018-09-27T10:23:46Z")

</div>

You can use [Processing.js](http://processingjs.org/) 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/](http://processingjs.org/learning/).

---

<div class="post-metadata">

**Author:** ![MuddyGardener](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/muddygardener/32/1719_2.png) [@MuddyGardener](https://discourse.processing.org/u/MuddyGardener)\
**Post date:** [September 27, 2018, 11:03am UTC](https://discourse.processing.org/t/planning-for-publishing-best-approach/3893/3 "2018-09-27T11:03:04Z")

</div>

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…?

---

<div class="post-metadata">

**Author:** ![Sarah](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/sarah/32/1675_2.png) [@Sarah](https://discourse.processing.org/u/Sarah)\
**Post date:** [September 27, 2018, 12:47pm UTC](https://discourse.processing.org/t/planning-for-publishing-best-approach/3893/4 "2018-09-27T12:47:01Z")

</div>

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](https://github.com/processing/p5.js/wiki/Processing-transition), 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.

---

<div class="post-metadata">

**Author:** ![GoToLoop](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/gotoloop/32/86_2.png) [@GoToLoop](https://discourse.processing.org/u/GoToLoop)\
**Post date:** [September 27, 2018, 3:55pm UTC](https://discourse.processing.org/t/planning-for-publishing-best-approach/3893/5 "2018-09-27T15:55:27Z")

</div>

> [@Can i import my stuff into wallpaper engine?](http://discourse.processing.org/t/can-i-import-my-stuff-into-wallpaper-engine/153):
>
> \*\*Welcome slight_smile \*\* My name is Luc(16) and last week I installed processing. the past week I have been making quite some stuff with processing already. I showed what I made to a couple of friends and asked me if I would be so kind to get the application running in [wallpaper engine](https://store.steampowered.com/app/431960/Wallpaper_Engine/). processing is able to make .exe files as most of you may already know. however, when I try to open up the .exe file in wallpaper engine it just opens the application instead of setting it as background. Does …

> [@Best way to run processing sketch in webpage](https://discourse.processing.org/t/best-way-to-run-processing-sketch-in-webpage/537/15):
>
> Given Pjs is a JS library inasmuch as p5js is, we can write sketches using JS syntax (or any other language transpilable to JS) for the Pjs library too! triumph The catch is, that a small part of Processing’s API gives the same name for both a system variable and a function. sweat For example, the name frameRate in Processing can either refer to a variable or a function: astonished Variable frameRate: [http://ProcessingJS.org/reference/frameRate/](http://ProcessingJS.org/reference/frameRate/) Function frameRate(): [http://Process…](http://ProcessingJS.org/reference/frameRate_/)

---

<div class="post-metadata">

**Author:** ![kfrajer](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/kfrajer/32/196_2.png) [@kfrajer](https://discourse.processing.org/u/kfrajer)\
**Post date:** [September 28, 2018, 10:50pm UTC](https://discourse.processing.org/t/planning-for-publishing-best-approach/3893/6 "2018-09-28T22:50:33Z")

</div>

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.

My $0.02…

Kf
