PharoJS is a system to allow you to develop your code in Pharo using all the tools available in the IDE, including refactoring browsers and playgrounds, and then to be able to deploy your code to a Javascript environment. PharoJS is released under the MIT open source License. As an infrastructure, PharoJS includes a framework, middleware, and a set of tools. It allows developing and testing applications in Pharo that ultimately run on a javascript interpreter – web browser or NodeJS. It is a general purpose solution. For example, PharoJS can be used to develop client side web applications or cross-platform mobile apps based on solutions such as [Apache Cordova](http://cordova.apache.org/).
YOUTUBE nmRPSb0t9lw PharoJS. slideshare
Unlike to Amber, that runs inside a web browser, PharoJS is built on top of Pharo. Apps are initially buit in the image as pure Pharo objects that run on the Smalltalk virtual machine. The PharoJS middleware allows interacting remotely with third party Javascript objects running on a web browser, or interacting with a web view, particularly for mobile apps. Such interactions are used only during tests. Ultimately, the Smalltalk code is converted to Javascript. So, at the production stage, only a Javascript interpreter is required to run the app. In this talk, we present the current status of PharoJS and its implementation. Through an example, we describe the application development process, with a focus on tests and TDD.
PharoJS allows you to develop code for the web – from the comfort of your Pharo environment.
PharoJS can run an application within Pharo that interacts directly with the object in a Javascript engine (web browser or Node)