flex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Schmalle <teotigraphix...@gmail.com>
Subject Re: [FlexJS] Framework using externs (was: Setup Error)
Date Tue, 01 Dec 2015 22:27:42 GMT
On Tue, Dec 1, 2015 at 3:53 PM, Carlos Rovira <carlos.rovira@codeoscopic.com
> wrote:

> That sounds really amazing. So in the beginning was a mix of AS3 and JS. If
> JS didn't exit, then it was generated.
> So, the strategy now is to have all in AS3 and *all* (or the most possible)
> JS generated?
Yeah, your right. If you red back in the archives I said I would love to
enable Peter and Alex to only have to focus on the framework and for them
not to have to write JS, I saw that as a huge minus for the project
actually taking off.

So I spent about 1.5 months writing the externs compiler(EXTERNC) and
getting it to mostly compile all of the google closure extern(hearder)

I am so happy to hear that Alex and Peter have almost got done what I saw
could be a huge benefit with the tool I wrote.

Anyway, it's also nice to see FalconJX (my name for the failed FalconJS)
compiler actually seeing some runtime. I spent so much time writing the
unit tests and developing FalconJX that I got so depressed in 2013 I quit
basically. Alex must have seen some value in it because Erik and him got
the MXML emitter working during the time I had left.

Anyway, I wish I had some projects for FlexJS/FlaconJX but my story is
still the same. I am using Feathers and AIR for some audio apps and it
requires native extensions calling C++ API so the JS part is kind of out
for me experimenting with those apps right now..


> 2015-12-01 20:37 GMT+01:00 Alex Harui <aharui@adobe.com>:
> >
> >
> > On 12/1/15, 11:13 AM, "carlos.rovira@gmail.com on behalf of Carlos
> Rovira"
> > <carlos.rovira@gmail.com on behalf of carlos.rovira@codeoscopic.com>
> > wrote:
> >
> > >Hi Alex, that sounds amazing.
> > >
> > >One question for me is what you refer as "externs". Could you share what
> > >this means?
> >
> > Externs are like header files for JS libraries.  Michael Schmalle made it
> > possible to create a SWC like our js.swc that contains the
> > playerglobal.swc equivalent for the browser.  It contains HTMLElement,
> > Document, Window, XMLHTTPRequest, etc.  The source for the externs comes
> > from Google Closure Library.
> >
> > This allows us to write fully functional JS applications and frameworks
> by
> > writing them in AS, even in an IDE with code completion, and outputting
> > JS.  The FlexJS 0.5.0 framework currently consists of thousands of lines
> > of JS code handwritten by Peter and I and others.  We are almost done
> > rewriting those JS files in AS.  The advantages are significant.  The
> > compiler catches things sooner, we don't waste time forgetting to type
> > 'this.' or debugging when we do, we don't waste time typing out package
> > path names, etc.  Also, the AS code for the SWF and the JS code for the
> > browser for any particular component often shared quite a bit of code and
> > now all that shared code is in one file with conditional compiles for JS
> > or SWF-specific code.  In the end, I now strongly believe that AS is a
> > better language for writing JS.
> > I expect that we'll be able to create components in FlexJS much more
> > quickly this way.
> >
> > -Alex
> >
> >
> --
> Carlos Rovira
> Director General
> M: +34 607 22 60 05
> http://www.codeoscopic.com
> http://www.avant2.es
> Este mensaje se dirige exclusivamente a su destinatario y puede contener
> información privilegiada o confidencial. Si ha recibido este mensaje por
> error, le rogamos que nos lo comunique inmediatamente por esta misma vía y
> proceda a su destrucción.
> De la vigente Ley Orgánica de Protección de Datos (15/1999), le comunicamos
> que sus datos forman parte de un fichero cuyo responsable es CODEOSCOPIC
> S.A. La finalidad de dicho tratamiento es facilitar la prestación del
> servicio o información solicitados, teniendo usted derecho de acceso,
> rectificación, cancelación y oposición de sus datos dirigiéndose a nuestras
> oficinas c/ Paseo de la Habana 9-11, 28036, Madrid con la documentación
> necesaria.

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message