CG/JS is a release of the next version of Common Graphics and the IDE on Allegro Common Lisp 10.1. It allows running Common Graphics applications, including our IDE, in a web browser. It is called CG/JS to distinguish it from CG/GTK and CG/WIN, the versions of Common Graphics that use the GTK or Windows backends. CG/JS is targeted at all major, modern web browsers, including Chrome, Firefox and Safari, as well as any Chromium-based browser such as Edge.
We have been developing this version for a couple of years, and Gruff, the visualization tool for AllegroGraph, has been using CG/JS for more than a year. Also, the IDE is entirely written in Common Graphics and the initial release below fully supports the IDE.
When installed, the releases below will live alongside the original version of CG and the IDE. You can easily roll back (rebuild images to use the original version of CG and the IDE) if you find your application does not function properly with CG/JS. We are committed to making the new release of CG compatible with the existing release.
Our preliminary documentation will be updated frequently, and eventually become part of our regular documentation.
There are two things you must do on macOS to ensure CG/JS works:
$ brew list openssl /usr/local/Cellar/[email protected]/1.1.1k/.bottle/etc/ (7 files) /usr/local/Cellar/[email protected]/1.1.1k/bin/c_rehash /usr/local/Cellar/[email protected]/1.1.1k/bin/openssl /usr/local/Cellar/[email protected]/1.1.1k/include/openssl/ (104 files) /usr/local/Cellar/[email protected]/1.1.1k/lib/libcrypto.1.1.dylib /usr/local/Cellar/[email protected]/1.1.1k/lib/libssl.1.1.dylib /usr/local/Cellar/[email protected]/1.1.1k/lib/engines-1.1/ (2 files) /usr/local/Cellar/[email protected]/1.1.1k/lib/pkgconfig/ (3 files) /usr/local/Cellar/[email protected]/1.1.1k/lib/ (4 other files) /usr/local/Cellar/[email protected]/1.1.1k/share/doc/ (3970 files) /usr/local/Cellar/[email protected]/1.1.1k/share/man/ (3970 files) $If the
brew
command does not exist, then
install Homebrew.
$ brew install opensslThere is no harm in running the previous command, if Homebrew's
openssl
is already installed.
CG/JS requires OpenSSL because lisp communicates with the web browser via the WebSocket protocol, which requires SSL. It is also needed during this installation. We provide a build of OpenSSL, if you do not have one. See readme.txt and our installation guide for more information.
It is very important to update your Allegro CL with the latest patches, before you install and use CG/JS.
The installation instructions are included in the downloads below in
a file called readme-cgjs.txt
.
See the Release notes for details on what has changed between releases.
Warning: The SSL foreign library was not successfully loaded. The error message was this: Failed to parse output of 'openssl version' "LibreSSL 2.8.3"If this happens, see the Pre-Installation on macOS section above.