sinisterchipmunk / jax

Framework for creating rich WebGL-enabled applications using JavaScript and Ruby
http://jaxgl.com
MIT License
96 stars 16 forks source link

Jax developers community and user experience reporting #24

Open brownman opened 13 years ago

brownman commented 13 years ago

it may be helpful for Jax developers to know how Jax behaves on various platforms / browsers types. and how slick it does its move.

please consider adding some magic to the Jax demos page: And add YOUR expected FPS for each demo! a disappointed user who gets much less FPS than your expectation - must be able to report back his FPS experience with his particular technical parameters.

Jax should encourage a growing community of developers + non-developers interactions. maybe u can make it happened by implementing some integration with rails as back-end ..

to push Jax-Guide forward: i think that the Jax-Testing-Guide has to be implemented before any others.

cheers :)

Goutte commented 11 years ago

Testing your application is a breeze, but testing Jax itself is a nightmare.

I managed, after much blood and pain, to get

$ rake jasmine

working, but It is insanely slow and it tests everything. (with 23 failures)

I'm probably Doing It Wrong©, so some pointers in the Jax-Testing-Guide would be welcome ! I'll even throw in a section with a list of required deb packages for those who'll follow ! ;)

sinisterchipmunk commented 11 years ago

@Goutte Help me to understand: what is it that you are interested in testing? If it's testing your Jax-based application, then I'm disappointed that you've had so much trouble. If it's testing Jax itself, then you shouldn't really do this within a target application; you're better off cloning the Jax repository, running rake server, and hitting the Jax jasmine specs in the browser.

As a side-note: should it be easier to test the Jax core system within a target application? Is this something that would bring value to developers of Jax-based applications, or are their needs suited by running the specs as described in the preceding paragraph?

Please note also that I've given a lot of attention to Jasmine in the recent release candidates. I think there are 3 failures at the moment, all due to changes in the APIs for producing fake keyboard events (that is, they are failures in the test set-up, and not within Jax itself).

Goutte commented 11 years ago

Hey there !

Thanks @sinisterchipmunk for the fast reply !

As I said, testing a jax-based app works like a charm, I was interested in testing Jax itself. I cloned the project, dealt with a lot of packages dependency, some weirdly modded gems, a forgotten getops.h header in a cpp file related to jasmine's headless mode, and joyfully executed any command line I could think of up until something worked.

rake server was not one of them. I assumed (and as always, assumption is the mother of all fork-ups) the tests would have to be launched from the commande-line.

rake install shamefully took me a while to figure out, too.

Concerning the side note : I think testing jax itself in a jax-based app is overreaching, for very little gain (if any) at a great cost in complexity. It would certainly look cool and impressive, in a that-framework-is-rock-solid-dont-believe-me-see-for-yourself way. Don't worry about that. That said, kickstarting a guide helping the setup of a clone of Jax and its own tests would be a really sweet addition. I'd pitch in with pleasure.

sinisterchipmunk commented 11 years ago

Thank you for your opinions and I'm glad you finally got the test suite working properly.

The headless, command-line tests are a work in progress. The problem is that although they sometimes "work" (they start up, anyway), WebGL isn't actually supported in any of the command-line tools I've tried. I can't bring myself to delete the code that makes command-line testing possible, even though it's not ready for use, because I'm hoping that in the near future WebGL becomes available in some headless variant. I admit it is confusing to someone not familiar with the project structure, however.

Unfortunately I've had a hard time finding time to work on Jax as much as I'd like to. You have my word that next time I do find enough time, I'll add a section to the guides including how to clone, set up and test. In the meantime, I'm also happy to accept pull requests to the same effect.

One last thing. From your comments, it sounds like you're running Ruby via the apt-get install. You should be warned that this is not my normal workflow. I run ruby via RVM, so that I can add and remove rubies willy-nilly and test across multiple sets of dependencies. So, YMMV when dealing with the apt repositories.