5 ms·
hm, im not sure what to think about this. Despite beeing another 'framework/library' that promises to ease the learning curve for non programmers to produce gra
by atmt 12y ago
hm, im not sure what to think about this. Despite beeing another 'framework/library' that promises to ease the learning curve for non programmers to produce graphics, i do not fully understand why using it should be
more easier than drawing to blank 'raw' canvas element with a bunch of wrapped drawing methods.
Eg. why do i need to an 'updatePixels' wrapper of putImageData, just to ensure syntax equality, overall the abstraction layer just seems really thin. Should we not accept that every platform has its own tools, and stop
making the ultimate crossplatforn artist drawing framework. Wouldnt it be better to accept the languages own features and try building stuff on top of that, instead of trying to mimic another language, also without considering the target languages limits (eg. p5.js isnt caching anything, constantly getting context via getContext('2d') is just slow...).
sorry for the rant
- ghostwords 12y agoAccessibility matters! The fewer barriers to entry, the fewer interested people your project will turn away.
- atmt 12y agoFor sure, the initial barrier is really low, but when it comes to actually building stuff with it, you still have to deal with the js way of doing it, handling classes, obviously totally not like the java counterpart, or collecting your projects resources in script tags, which is messy. At some point you also have to drop the global methods, which seems to be the obvious first benefit. Im just not sure if teaching a dogmatic processing like way is the way to go in js, or general
- ghostwords 12y agoAgreed, I wish you didn't have to deal with JavaScript's quirks (or script tags even).
- atmt 12y agohaha, I see that the context is cached now ;)
- flockflock 12y agoI totally agree. On top of that I think that its much more rewarding to learn the actual technology / language and not just a framework that represents one opinion about how things should get done. When trying to learn some c++ and opengl, i totally see the need for good libraries, which abstract some of the initial verbose window and shader setup, its good to directly jump into manipulating vertices and stuff. They are needed because they hide the initially complex setup. But in case of Javascript I really dont see why there needs to be another abstraction layer. The language itself is so easy, setting up a canvas is already handled well, and drawing to it is documented extensively. Also in regards to the goals of p5.js (https://github.com/lmccart/p5.js#how-is-this-different-than-processingjs https://github.com/lmccart/p5.js#how-is-this-different-than-...): "It is easy to translate a sketch from Processing to p5 and the process of doing so begins to teach people the basics of JS" I dont really see how it would help teaching the basics of js, when the 'framework' itself introduces stuff like global functions, constants and so, which are considered evil in js. On top of that i think that if you try to teach someone js by porting code from java, you have to teach the fact that js itself is total different beast. Just like u said, no classes in a traditional sense, where have all the types gone?... That fact that js is so perfect for 'creative coding' is because of its dynamicness, the same reason why bindings for scripting languages are so popular in lower languages, you can just express an idea much faster and see changes immediatly. Yes a good framework can help with that, but I think that when learning js as a first language you have to be aware of its advantages right from the beginning, and not by translating it from another language. I just love paper.js way of dealing with javascripts dynamicness, paperscript introduces some neat additions to the language like operators http://scratchdisk.com/posts/operator-overloading http://scratchdisk.com/posts/operator-overloading I could totally imagine p5.js going the same way, accepting that the environment changed, not trying to port one opinion from another language to js, but instead think about the way javascript and its advantages can be used to create a new tool.