When comparing Crafty.js vs PureBasic, the Slant community recommends Crafty.js for most people. In the question“What are the best 2D game engines?” Crafty.js is ranked 37th while PureBasic is ranked 40th. The most important reason people chose Crafty.js is:
Easy to learn, based on Entities and Components, the later being class-like objects that entities inherit.
Specs
Ranked in these QuestionsQuestion Ranking
Pros

Pro Eventbinding
Easy to learn, based on Entities and Components, the later being class-like objects that entities inherit.

Pro Javascript
Pro Modular
Has open function binding systems, allowing easy creation of custom components.
Pro Standalone executables
Can create single file executables without the need to install other libraries, run time environments, etc.
Pro The syntax is very beginner-friendly
Pro Same code on Windows, OS X and Linux
Same code can be compiled natively, without any interpreter for OS X, Windows or Linux, using the native GUI toolkit of the OS
Pro Many integrated features
Many libraries available without additional installations : 2D & 3D, database, network, sound, xml, JSON, http...
Pro Allows to program at a lower level than most alternatives
Pro Lifetime license
Pay once, use forever.
Pro Constantly updated
Pro Supports ARM in addition to x86, AMD64 and others
Pro Can compile to plain C code
Pro Grest user community / forums with the developer very active
Cons
Con No IDE
If you like having some huge GUI akin to Gamemaker, Unreal, Unity, etc, Crafty is not for you.
Con Limited free version
Free version is limited to 800 lines and can not create DLL's.
Con Some bugs are present on the Linux platform
Con Slightly bogged syntax
Sometimes the syntax bogs down, just a little with long procedure names and such. A truly minor issue.
Con Not RAD
Not a RAD environment.
