<div dir="ltr">from: <br>Alejandro Reimondo<div>February 25, 2018 at 1:26 PM<br><br>We use S8 to build iOS and android native applications with Smalltalk<br>Take a look at S8 Smalltalk platforms and U8 tools.<br>We do not use a smalltalk VM, nor bytecodes (our intermediate code<br>is javascript source code in iOS and android) more freedom on where<br>to run; 100% MIT licensed and social development.<br><br>For iOS native applications, 100% of application is written<br>in S8 smalltalk, using and creating Objective-C classes<br>dynamically on demmand; implementing the methods<br>in Smalltalk (of new classes and additions/replacements<br>of native classes).<br><br>For Android we use something similar to use and interact<br>with Java; and also implement prototype based interfaces<br>when required (of course, again, 100% S8 smalltalk).<br><br>In short we use smalltalk, without the old parts; e.g. VM<br>and forced encapsulation of contents, that prevents the<br>wide use of smalltalk systems in modern execution contexts.<br><br>References: (links to start a tour on S8 and social software dev. with Smalltalk)<br><a href="http://u8.smalltalling.net">http://u8.smalltalling.net</a> - Main service portal for Social software development with Smalltalk<br><a href="http://aleReimondo.no-ip.org/U8">http://aleReimondo.no-ip.org/U8</a> - main community swiki for S8 smalltalk and tools (U8)<br><a href="http://aleReimondo.no-ip.org/s8media">http://aleReimondo.no-ip.org/s8media</a> - media swiki for collaborative development and testing<br><a href="https://www.facebook.com/groups/s8smalltalk/">https://www.facebook.com/groups/s8smalltalk/</a> - S8 Smalltalk Facebook group<br><br>cheers,<br>Ale<br>p.d.: I tried to send this text as an email through squeak-dev list<br>but the list refuses to post my email.</div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Feb 25, 2018 at 6:20 AM, Bruce O'Neel <span dir="ltr"><<a href="mailto:bruce.oneel@pckswarms.ch" target="_blank">bruce.oneel@pckswarms.ch</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><a href="http://simberon.blogspot.ch/2017/11/mobile-smalltalk.html?m=1" target="_blank">http://simberon.blogspot.ch/<wbr>2017/11/mobile-smalltalk.html?<wbr>m=1</a><br></div><div><br></div><div>The TL;DR section is:<br></div><div><br></div><div><span class="m_-3457425970491227035colour" style="color:rgb(51,51,51)"><span class="m_-3457425970491227035font" style="font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif"><span class="m_-3457425970491227035size" style="font-size:15.84000015258789px"><span class="m_-3457425970491227035highlight" style="background-color:#ffffff">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.</span></span></span></span><span class="m_-3457425970491227035highlight" style="background-color:#ffffff"><br></span></div><div><span class="m_-3457425970491227035highlight" style="background-color:#ffffff"><br></span></div><div><span class="m_-3457425970491227035colour" style="color:rgb(51,51,51)"><span class="m_-3457425970491227035font" style="font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif"><span class="m_-3457425970491227035size" style="font-size:15.84000015258789px"><span class="m_-3457425970491227035highlight" style="background-color:#ffffff">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.</span></span></span></span><br></div><div><br></div><div><br></div><div><br></div><div><span class="m_-3457425970491227035colour" style="color:rgb(51,51,51)"><span class="m_-3457425970491227035font" style="font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif"><span class="m_-3457425970491227035size" style="font-size:15.84000015258789px"><span class="m_-3457425970491227035highlight" style="background-color:#ffffff">cheers</span></span></span></span><span class="HOEnZb"><font color="#888888"><br></font></span></div><span class="HOEnZb"><font color="#888888"><div><br></div><div><span class="m_-3457425970491227035colour" style="color:rgb(51,51,51)"><span class="m_-3457425970491227035font" style="font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif"><span class="m_-3457425970491227035size" style="font-size:15.84000015258789px"><span class="m_-3457425970491227035highlight" style="background-color:#ffffff">bruce</span></span></span></span><br></div><div id="m_-3457425970491227035editorUserSignature" style="display:none"><br></div></font></span><br><br>
<br></blockquote></div><br></div></div>