flex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jason Taylor <ja...@dedoose.com>
Subject RE: FlexJS and Dart?
Date Fri, 15 Jul 2016 19:58:34 GMT
I guess my main issue is actionscript itself.  The language hasn't progressed much in quite
some time, support for asynchronous operations in just not designed into the language, lamdas,
expression trees, etc etc, it's on it's way to a dead langage.      Our teams have put in
an increadible ammount of work on FalconJX to support actionscript, and google has put in
an increadible ammount of work on running Dart in JS as well as the DartVM.   I however am
coming to the conclusion that they aren't mutally exclusive in that in some early tests recompiling
the FlexJS framework to Dart  appears to be possible outright.   As far as component sets
and targets, that's a separate debate from FlexJS on dart, and while yes using a component
set that mimics the flash display list might incur a performance hit, we are talking about
hitting the Canvas/WebGL where performance is vastly superior than targeting the DOM.    
I think FlexJS is great, I don't think Actionscript is great, and I think we could be much
better off letting the google team handle building the compiler tools, VM, and let us focus
on our framework in the best language out there.  Just my $.02, either way it's my pet project
now, so I'll see how far I can take this.
~ JT

-----Original Message-----
From: Alex Harui [mailto:aharui@adobe.com] 
Sent: Thursday, July 14, 2016 10:28 PM
To: dev@flex.apache.org
Subject: Re: FlexJS and Dart?

Hi Jason,

FlexJS isn't one framework/component set.  It is being designed to support a multitude of
component sets.  The initial "Basic" component set that we have been working on is designed
to have minimum overhead in its JS output.  In the Basic set, we specifically do not want
to emulate Flash in the browser because that will likely add another layer of overhead.  There
is an experiment underway for a component set that does emulate Flash and it will be a bigger
effort and bigger code.

In the APIs for the Basic set, I tried to keep some Flex concepts and APIs, but I don't think
I tied the APIs to Flash.  Can you give me an example of the "crud" you are talking about?
 I think we can support workers some day.  I still believe that it will be to your advantage
to be able to test your code with a "runtime verifier" which is why the Basic set compiles
to both SWF and JS.  Most JS tools want you to have all of your code in one place.  Large
apps are often built in a truly modular fashion where code isn't or can't be gathered in one

You can even use FlexJS/FalconJX compiler without the Basic component set and just write ActionScript
against native JS APIs or third-party libraries.

Or you can grow your own component set that is more tuned to what you want.  It can have signals,
or whatever you want.  It doesn't have to run as a SWF.  All we are providing is MXML and
AS compilation and some default SWCs, but our SWCs don't have to be the SWCs you use.

In theory, you could even get the cross-compiler to spit out Dart instead of JS, but I haven't
spent any time figuring out how hard what would be.
Somebody could probably teach the compiler to handle generics and other language improvements
that can be output as additional code and don't need runtime changes in the SWF and certainly
for cross-compiled output.

That's the cool part of Apache projects.  No corporation controlling things. You can do pretty
much whatever you want.


On 7/14/16, 6:14 PM, "Jason Taylor" <jason@dedoose.com> wrote:

>Hey guys, for various reasons I'm leaning towards picking Dart over 
>actionscript for future projects, mostly because the dart language is 
>advanced supporting async/await, generics, abstracts, and much more.
>However I think the team behind MXML, especially in FlexJS and the layout
>framework are second to none.   I was contemplating bringing in FlexJS to
>dart via StageXL (http://www.stagexl.org/) an implmentation of the core 
>flash runtine in Dart, along with a custom version of FlexJS that I would
>cross compile to Dart.    Has anyone considered this path, and what are
>you're thoughts about this?   Personally I don't like some of the
>decisions made in the FlexJS project regarding supporting flash 
>runtimes as well as JS as it adds a lot of crud to the FlexJS codebase 
>and ties our hands limiting us specifically to the flash runtime and avoiding some
>of the more multi-threaded oriented javascript developments.     Just
>want to gather some opinions before me and my team start tearing into
>this.   Some changes I would make to the FlexJS framework will include
>using something like signals instead of string events, heavily using 
>multiple threads for layout & rendering.
>~ JT

View raw message