Processing
Processing.js
canvas
Processing
Børre Stenseth

p5js

P5js [1] er laget for å ta med Processing ut på web-sider. I motsetning til processing.js så ser p5.js ut til å være et prosjekt i utvikling. Det er flere sider som er vikig å merke seg med p5js.

For det første må vi oversette alle skissene vi måtte ha i Processing (pde-filer) fra Java til JavaScript. Dette etter min erfaring mye lettere enn det høres ut. Det er dessuten slik at vi i de fleste prosjekter der web-presentasjon er aktuelt, så skiver vi kanskje skissene i JavaScsipt direkte. De viktigste forskjellene jeg ser etter når jeg skal oversette er:

  • Vi har ingen typer, det heter ikke int i men var i.
  • Funksjoner skrives annerledes, f.eks void setup() skal være function setup(). Funksjoner har ingen type. Hva vi eventuelt skal returnere er opp til koden i funksjonen.
  • Arrayer i Javascript er veldig fleksible og vi greier oss uten noe arrayList-begrep
  • Objekter er litt annerledes, de skrives som funksjoner og vi må passe på hele tiden å bruke this når vi refererer lokal variable i et objekt.

Det er to perspektiver på p5.js.

På en ene siden kan vi betrakte prosjektet som en komplett transport av et utviklings verktøy (Processing ) til nye omgivelser. De nye omgivelsene inneholder en masse funksjonalitet og handlingsmuligheter knytte til HTML, CSS og JavaScript. Vi må på en eller annen måte kunne nyttigjøre oss dette. P5js introduserer blandt annet et DOM-bibliotek som gjør at vi kan nå de mest grunnleggende mekanismene for å lese og sette verdier generelt på web-siden.

På den annen side kan vi, dersom vi føler oss rimlig trygge på JavaScript, HTML og CSS, betrakte p5.js som et nyttig biblioket for å programmere innholdet i canvas-elementet. Vi finner dessuten en del hendige datalastingsfunksjoner som bruker Ajax.

Jeg vil tro at de som arbeider med utvikling av p5js opplever dette som et dilemma. Det må være opp til den enkelte å finne et ståsted, og så får vi håpe at p5js utvikler seg på en måte som holder mange muligheter åpne.

Referanser
  1. p5.js Processing.org Processsing as JavaScript library p5js.org/ 01-09-2017