Alejandro Reimondo
February 25, 2018 at 1:26 PM

We use S8 to build iOS and android native applications with Smalltalk
Take a look at S8 Smalltalk platforms and U8 tools.
We do not use a smalltalk VM, nor bytecodes (our intermediate code
is javascript source code in iOS and android) more freedom on where
to run; 100% MIT licensed and social development.

For iOS native applications, 100% of application is written
in S8 smalltalk, using and creating Objective-C classes
dynamically on demmand; implementing the methods
in Smalltalk (of new classes and additions/replacements
of native classes).

For Android we use something similar to use and interact
with Java; and also implement prototype based interfaces
when required (of course, again, 100% S8 smalltalk).

In short we use smalltalk, without the old parts; e.g. VM
and forced encapsulation of contents, that prevents the
wide use of smalltalk systems in modern execution contexts.

References: (links to start a tour on S8 and social software dev. with Smalltalk) - Main service portal for Social software development with Smalltalk - main community swiki for S8 smalltalk and tools (U8) - media swiki for collaborative development and testing - S8 Smalltalk Facebook group

p.d.: I tried to send this text as an email through squeak-dev list
but the list refuses to post my email.

On Sun, Feb 25, 2018 at 6:20 AM, Bruce O'Neel <> wrote:

The TL;DR section is:

I've wanted to be able to run Smalltalk on Android and iOS for many years.  I finally decided to do something about it.  I chose VisualWorks for my development environment.  Unfortunately iOS doesn't support dynamic compilation so getting the regular VisualWorks VM to run on iOS is virtually impossible.  I decided to skirt around the issue by writing my own VM.

My VM is written in C.  It interprets the same bytecodes as those generated by VisualWorks so I can use the VisualWorks compiler to compile all of the code for the mobile Smalltalk.  Being a pure interpreter, I get around the problem of dynamic compilation on iOS.  Apple is okay with an interpreter so long as all of the code it's interpreting is delivered with the product and not downloaded dynamically.