CP-Canyon

Description

Framework for developing mobile apps using CodeParadise

Details

Source
GitHub
License
MIT
Created
June 15, 2026
Updated
Sept. 27, 2026

README excerpt

# Canyon

Canyon is the name of a framework for developing standalone mobile apps using
[CodeParadise](https://github.com/ErikOnBike/CodeParadise) based on
[Ionic](https://ionicframework.com).

Loading Canyon can be done using:

```Smalltalk
Metacello new
  repository: 'github://ErikOnBike/CP-Canyon:main';
  baseline: 'CpCanyon';
  load.
```

Documentation specific to Canyon is fully absent.

A typical Canyon app will have a Smalltalk image of about 600Kb to 800Kb (which will
run in the browser together with a 270Kb Smalltalk VM). If the standalone requirement
is not hard, a typical REST server image (also developed in Smalltalk) will be about
450Kb to 550Kb in size. It will run on a 280Kb Smalltalk VM in NodeJS (or compatible).


### Usage warning

Canyon was started as a tool to help develop two mobile apps. The mobile apps were both
intended to be run 'standalone', requiring all code to be in the browser (instead of
relying on a server being present). This deviates quite considerable from CodeParadise's
main approach of having a very thin UI layer in the browser. With more code running in
the browser, additional development tools would also need to be available in the browser.
A proper debugger running directly in the browser would probably be the first requirement.
The default CodeParadise debugger (which is still actually more an inspector on the call
stack) is helpful, but for Canyon apps in reality too minimalistic. In practice quite a
bit of 'printf debugging' turned out to be required.

Both apps are working and running smoothly, but initial development did cost some time.

When developing mobile apps without a 'standalone' requirement (i.e. where it is perfectly
normal to have an Internet connection), please give 'pure' CodeParadise a try. The Ionic
framework is available in CodeParadise and it brings quite a bit of value to the table.

If your 'standalone' requirement is also 'hard' feel free to try Canyon. Do know you
will have to put in some extra effort to make this workflow as easy as you're used to
(from a Smalltalk perspective).

Also feel free to reach out and discuss your requirements and what it means when using
Canyon as the main framework.

There are some alternatives for using Smalltalk in the browser too, which do allow the
creation of standalone mobile apps:

* [PharoJS](https://pharojs.org)
* [SmallJS](https://small-js.org)
← Back to results