Coding in Livecode in the browser (with Emscripten)

Fraser Gordon fraser.gordon at livecode.com
Fri Jul 17 10:15:29 EDT 2015


That’s exactly what we’re doing — the LiveCode engine is compiled into JavaScript using Emscripten.

Like those other languages, we’re not converting LiveCode Script to JavaScript directly; it is the engine that runs those languages that has been compiled to JavaScript.

Fraser


On 17 Jul 2015, at 14:35, David Bovill <david at viral.academy> wrote:

> So what would it take for Livecode to join this set of languages, all
> running in the browser, in an open source emulator:
> 
>   - Python
>   - Ruby
>   - PHP
>   - Sceme
>   - Lua
>   - Java
>   - Lolcode
>   - FORTH
>   - Many others <http://repl.it/languages>
> 
> 
> The languages are compiled down to Javascript using Emscripten and run
> locally on you machine. So we should be able to do this with Livecode - or
> Livecode server? Great for teaching.
> 
> On 16 July 2015 at 13:20, David Bovill <david at viral.academy> wrote:
> 
>> Thanks Kevin and Peter - its very useful to have a soft indication of the
>> direction you are heading.
>> 
>> So my understanding now is that Livecode Builder - being the robust
>> strongly typed language that compilers like - lends to being something that
>> could be run through the compiler chain you are creating to export
>> Javascript. For instance a Livecode Builder library - would be the sort of
>> thing that could be compiled into a Javascript library that would then be
>> called by standard HTML5/Javascript on a web page. This would be the same
>> as emsripten ports of other languages like perl -
>> https://github.com/kripken/emscripten/wiki/Porting-Examples-and-Demos
>> 
>> However as your priority is to create a full export of stacks to the web -
>> creating a Livecode Builder library export tool chain is something that
>> we'd need to do as a community project or wait :)
>> 
>> The one thing I would like to understand is how you would expose
>> interfaces to the resulting exported JS code - are there any links to how
>> you would do this / any thoughts regarding how Livecode.js exports would do
>> this? Here I can see how you can expose C functions:
>> 
>>   -
>>   http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html#calling-compiled-c-functions-from-javascript
>> 
>> So my question would be how is this extended so that a handler in Livecode
>> Builder is exposed?
>> 
>> 
>> On 16 July 2015 at 12:02, Kevin Miller <kevin at livecode.com> wrote:
>> 
>>> This is definitely an area we¹re looking at - its on the strategy list.
>>> Just can¹t say yet whether it will be during the initial beta cycle or in
>>> a v ³1.1² as it were. It will certainly be early in the evolution of this
>>> technology.
>>> 
>>> In terms of LCB, remember we designed that from the start to capable
>>> (eventually) of compiling directly to JavaScript. That opens up the
>>> possibility of doing some lighter weight HTML5 specific frameworks down
>>> the line. Right now though as Peter said, the priority for the first
>>> version is to get as much as possible of the platform we already have
>>> working.
>>> 
>>> Kind regards,
>>> 
>>> Kevin
>>> 
>>> Kevin Miller ~ kevin at livecode.com ~ http://www.livecode.com/
>>> LiveCode: Everyone can create apps
>>> 
>>> 
>>> 
>>> 
>>> On 16/07/2015 11:53, "Peter TB Brett" <peter.brett at livecode.com> wrote:
>>> 
>>>> On 2015-07-16 11:05, David Bovill wrote:
>>>>> Thanks Peter. What i am keen to get a grip on is how we can interface
>>>>> Livecode exported Javascritp with existing Javascript in a web page.
>>>>> Are we
>>>>> going to be stuck with an isolated blob of all Livecode-Javascript in a
>>>>> page? Or can I make Livecode-Javascript widget that talk to existing
>>>>> pages?
>>>>> 
>>>>> My thought would be if the core Livecode C++ engine has now been
>>>>> refactored
>>>>> so that the language element - separate from all the GUI and even
>>>>> message
>>>>> stuff - and that this bit was easy and fast to get exported - then that
>>>>> would be what we need to create interface independent Javascript
>>>>> libraries
>>>>> - let's say a library that takes some JSON and exports some JSON with
>>>>> the
>>>>> webpage handling all the rest of the interactions?
>>>>> 
>>>>> How well will these exported Livecode-Javascript apps play within a web
>>>>> page - what sort of bi-directional communication is being looked at?
>>>> 
>>>> Hi David,
>>>> 
>>>> We're not actively working towards any of these things at the moment.
>>>> *In principle*, they're all ideas that we'd love to get working!  In
>>>> practice, at the moment we're just trying to get stacks to run properly,
>>>> and we're going to think about branching out to these other exciting
>>>> possibilities once we get towards that point.
>>>> 
>>>> I'm personally quite keen on the idea of figuring out how to compile
>>>> LiveCode Builder programs directly to JavaScript, for example!
>>>> 
>>>> This is definitely the sort of thing that enthusiastic community members
>>>> could play with, once we release the Community edition of HTML5 support.
>>>> 
>>>>                                       Peter
>>>> 
>>>> --
>>>> Dr Peter Brett <peter.brett at livecode.com>
>>>> LiveCode Engine Development Team
>>>> 
>>>> 
>>>> _______________________________________________
>>>> use-livecode mailing list
>>>> use-livecode at lists.runrev.com
>>>> Please visit this url to subscribe, unsubscribe and manage your
>>>> subscription preferences:
>>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> use-livecode mailing list
>>> use-livecode at lists.runrev.com
>>> Please visit this url to subscribe, unsubscribe and manage your
>>> subscription preferences:
>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>> 
>> 
>> 
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode





More information about the use-livecode mailing list