You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flex.apache.org by TeotiGraphix <te...@gmail.com> on 2015/03/21 16:04:11 UTC

FlexJS compiler

Hi,

It's been a couple years and I am currently back into as3 for some projects
now, mainly mobile stuff(feathers/starling).

That said, I have been reading some emails and was checking over the wiki,
but could anybody give me a line item list as to "where" FlexJS is and the
compiler status?

If this already exists somewhere, just point me there and I can read. :)

I am debating using some of my extra hobby time to help out with the
project.

Thanks,
Michael Schmalle



--
View this message in context: http://apache-flex-development.2333347.n4.nabble.com/FlexJS-compiler-tp45680.html
Sent from the Apache Flex Development mailing list archive at Nabble.com.

Re: FlexJS compiler

Posted by Alex Harui <ah...@adobe.com>.
Hi Michael,

Good to hear from you again.  FalconJX is still being worked on.  I’m in
the middle of a major change to use Object.defineProperty.  Fundamentally,
the AST walking you set up hasn’t changed.  Get the Git repo and develop
branch and join in!

-Alex


On 3/21/15, 8:04 AM, "TeotiGraphix" <te...@gmail.com> wrote:

>Hi,
>
>It's been a couple years and I am currently back into as3 for some
>projects
>now, mainly mobile stuff(feathers/starling).
>
>That said, I have been reading some emails and was checking over the wiki,
>but could anybody give me a line item list as to "where" FlexJS is and the
>compiler status?
>
>If this already exists somewhere, just point me there and I can read. :)
>
>I am debating using some of my extra hobby time to help out with the
>project.
>
>Thanks,
>Michael Schmalle
>
>
>
>--
>View this message in context:
>http://apache-flex-development.2333347.n4.nabble.com/FlexJS-compiler-tp456
>80.html
>Sent from the Apache Flex Development mailing list archive at Nabble.com.


Re: FlexJS compiler

Posted by "Stephane Beladaci (Flexengineer)" <ad...@gmail.com>.
Hi Mike,

So good to hear from you again! I remember your FSCollectionFX,
ResizeManager, and other components pretty well! I think I used them
all :)

I wanted to comment on your tooling concern, this is from a leaked
internal memo by Google engineers on the future of JavaScript in 2011:

"Complex web apps--the kind that Google specializes in--are struggling
against the platform and working with a language that cannot be tooled
and has inherent performance problems. Javascript, as it exists today,
will likely not be a viable solution long-term."

https://www.scribd.com/doc/259537120/Google-s-The-Future-of-JavaScript-Internal-Memo-Leaked-JS-is-Flawed-Won-t-Work-and-Can-t-Be-Fixed

-SB

On Sat, Mar 21, 2015 at 10:45 AM, TeotiGraphix
<te...@gmail.com> wrote:
> Hi Erik and Alex,
>
> Yeah, life is funny sometimes. I have spent the last couple years doing
> music dev I guess you could say.
>
> I guess I am in a tinker mood since I have some real things I am working on
> now for release and was drawn back to AS3 and AIR mobile for it's
> simplicity, fast iterations and Stage3D performance compared to Java
> verboseness.
>
> On that note, when i was investigating getting back into AS3, it seems like
> a ghost town at times. :) But, this stuff still works and I am using Josh's
> Feathers which is a really nice UI framework, I mean he has done an awesome
> job on it.
>
> Basically, I am somewhat confused as to the tool chain for FlexJS, coming
> back to this after 2 years, I know my code and such but everything else is
> pretty much alien.
>
> Do you think you could explain a bit of the "AS -> JS -> GoogJS -> FlexJS
> -> VF2JS" you stated?
>
> I am kind of scared getting the dev env back up, I remember the nightmares
> I had in the beginning with building everything.
>
> If I was to get back into this for some time, it's not like I have any
> thing to build with it, just that since people seem to be still working on
> it, maybe I can help jump start the low level again.
>
> Question: What is Apache Flex's mantra for FlexJS? I mean there are a bunch
> of javascript frameworks these days, is it that you can code in AS3 with a
> compiler, or are there other benefits you see with it over what exists now?
>
> Question: I may be daft but is the Falcon compiler being used yet for the
> flex compiler?
>
> Mike
>
>
> On Sat, Mar 21, 2015 at 1:31 PM, Erik de Bruin [via Apache Flex
> Development] <ml...@n4.nabble.com> wrote:
>
>> Hey Mike!
>>
>> For my part, I followed your original paradigms as close as I knew
>> how. I had to do pretty extensive hacking to get MXML to actually
>> work, but so far, so good. What I'm less sure about, or rather pretty
>> unsure about, is the handling of AS in MXML tags... I'm pretty sure
>> that is only working for single line statements :-( It's been some
>> time since I spent any serious time in FalconJX, but I'd love to
>> follow your lead again, maybe clean up a bit (hacking on stuff only
>> get's us so far...) and see if we can generalize some code and maybe
>> fold some other stuff back in on itself: for example we're now
>> sometimes as deep as AS -> JS -> GoogJS -> FlexJS -> VF2JS, which
>> seems a bit out of control ;-)
>>
>> Good to see you're considering spending some time with us again, I
>> must say I missed you at times :-) But then again, I did learn a lot
>> having to figure out this stuff on my own!
>>
>> EdB
>>
>>
>>
>> On Sat, Mar 21, 2015 at 4:04 PM, TeotiGraphix <[hidden email]
>> <http:///user/SendEmail.jtp?type=node&node=45685&i=0>> wrote:
>>
>> > Hi,
>> >
>> > It's been a couple years and I am currently back into as3 for some
>> projects
>> > now, mainly mobile stuff(feathers/starling).
>> >
>> > That said, I have been reading some emails and was checking over the
>> wiki,
>> > but could anybody give me a line item list as to "where" FlexJS is and
>> the
>> > compiler status?
>> >
>> > If this already exists somewhere, just point me there and I can read. :)
>> >
>> > I am debating using some of my extra hobby time to help out with the
>> > project.
>> >
>> > Thanks,
>> > Michael Schmalle
>> >
>> >
>> >
>> > --
>> > View this message in context:
>> http://apache-flex-development.2333347.n4.nabble.com/FlexJS-compiler-tp45680.html
>> > Sent from the Apache Flex Development mailing list archive at
>> Nabble.com.
>>
>>
>>
>> --
>> Ix Multimedia Software
>>
>> Jan Luykenstraat 27
>> 3521 VB Utrecht
>>
>> T. 06-51952295
>> I. www.ixsoftware.nl
>>
>>
>> ------------------------------
>>  If you reply to this email, your message will be added to the discussion
>> below:
>>
>> http://apache-flex-development.2333347.n4.nabble.com/FlexJS-compiler-tp45680p45685.html
>>  To unsubscribe from FlexJS compiler, click here
>> <http://apache-flex-development.2333347.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=45680&code=dGVvdGlncmFwaGl4bGxjQGdtYWlsLmNvbXw0NTY4MHwxMjE5OTE3NzQ2>
>> .
>> NAML
>> <http://apache-flex-development.2333347.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>>
>
>
>
>
> --
> View this message in context: http://apache-flex-development.2333347.n4.nabble.com/FlexJS-compiler-tp45680p45686.html
> Sent from the Apache Flex Development mailing list archive at Nabble.com.

Re: FlexJS compiler

Posted by piotrz <pi...@gmail.com>.
Mike,

I have started lately from compiling on my own some examples which we have
in our repository. Since there is only one for now IDE which started
supports FlexJS [1] I decided to use it.
Maybe this is a good starting point for you - To see how such basic
application looks like. Some of the examples doesn't looks perfectly in JS,
so this is the place where probably we have some bugs in our framework -
place for fix.

P.S. Thanks for voting! :)


[1] http://fdt.powerflasher.com/2014/05/apache-flexjs-compiler-support/

Piotr



-----
Apache Flex PMC
piotrzarzycki21@gmail.com
--
View this message in context: http://apache-flex-development.2333347.n4.nabble.com/FlexJS-compiler-tp45680p45702.html
Sent from the Apache Flex Development mailing list archive at Nabble.com.

Re: FlexJS compiler

Posted by Alex Harui <ah...@adobe.com>.
Looking forward to whatever you can contribute.

-Alex

On 3/23/15, 1:56 AM, "TeotiGraphix" <te...@gmail.com> wrote:

>Thanks Alex, you pretty much just reiterated what I thought in my head.
>
>As far as Randori, that was a kcikass IntelliJ plugin that I started and
>Frederic Thomas put a huge amount of time it. We had the cross compiler
>hooked up, I created "bundles" and "library bundles" that were integrated
>into the IDE..... Ah open source, the pain and agony of retrospect.
>
>I also don't need a lesson in what community driven means, just that I
>think you know me and I am really just trying to figure out "what" I would
>do with it if I put the time in.
>
>I am good at seeing down the road, I know if IntelliJ supported FlexJS,
>that would be a huge road to at least getting a dev environment going
>where
>you could actually feel like you were using a professional IDE to take it
>beyond a alpha experiment.
>
>The way I see it is, I need to find a pet project, something I have been
>interested in is Web Audio. I might do some research into it(I haven't
>been
>doing that javascript stuff) and it could be a jump starter focus thing
>for
>me.
>
>Seems like for me to do this right I just need to do a lot of research
>with
>what is written so far with the compiler emitters and your component
>framework.
>
>Mike
>
>
>
>
>On Mon, Mar 23, 2015 at 1:28 AM, Alex Harui [via Apache Flex Development]
><
>ml-node+s2333347n45715h42@n4.nabble.com> wrote:
>
>>
>>
>> On 3/22/15, 4:49 AM, "TeotiGraphix" <[hidden email]
>> <http:///user/SendEmail.jtp?type=node&node=45715&i=0>> wrote:
>>
>> >Well I voted for it.
>> >
>> >To be honest, I am still in the complete dark with FlexJS, what/how it
>> >does
>> >what it does and the new component model. I just thought i would drop
>> this
>> >line to see what the happenings are currently.
>>
>> There’s information on the wiki:
>> https://cwiki.apache.org/confluence/display/FLEX/FlexJS
>>
>> But in short, FlexJS uses a combination of cross-compilation and class
>> substitution.  As you may know, the Falcon compiler has the notion of
>> compilation units.  There are compilation units from SWCs and
>>compilation
>> units from MXML and AS.  Falcon converts MXML and AS to ABC and combines
>> it with the ABC from the SWCs and outputs a SWF.
>>
>> FalconJX converts MXML and AS to JS, but for SWC compilation units, it
>> tries to find a JS file of the same name.  IOW,
>> org.apache.flex.core.UIBase.as is expected to have an
>> org.apache.flex.core.UIBase.js.  Some of those JS files are created by
>> cross-compiling AS to JS in library projects.
>>
>> >
>> >I helped write the Randori IntelliJ plugin with doublefx back in 2013.
>> >That
>> >plugin used the FalconJX cross compiler and it worked awesome, just
>> nobody
>> >wanted to use Randori. That was like 600+ hours of my time down the
>>drain
>> >with the plugin and actually writing FalconJX.
>> >
>> >So in a way, I am trying to weigh the pluses and minuses about
>>developing
>> >something that might not get used.
>>
>> Maybe some of that can be repurposed for FlexJS.  The gotcha of
>> volunteer-driven technology is that if nobody works on it, it will never
>> get used, but the cool thing about Apache projects is that “everyone”
>>can
>> contribute and those who contribute can help make it something they
>>want.
>>
>> >How would FlexJS integrate with WebGL? I am naive about this.
>>
>> Well, I don’t know anything about WebGL, but essentially, any common
>> pattern of code in any language should be encapsulated.  For JS, if you
>> can stick a class-like API surface on that encapsulation, then you can
>> emulate or mock that thing in AS.
>>
>> So if you always write the same sequence of JS code to draw a 3D sphere
>>of
>> a color, radius, and light source, you might write in JS:
>>
>> Sphere = function()
>> {
>> }
>>
>> Sphere.prototype.drawSphere = function (color, radius, lightSource)
>> {
>>   // whatever WebGL and other code you need
>> }
>>
>> And in AS you would write:
>>
>> Class Sphere
>> {
>>    function drawSphere(color:int, radius:Number,
>> lightSource:Coordinate):void
>>    {
>>        // code that does the equivalent for Flash.
>>    }
>> }
>>
>> The reason I said “mock” is because, if you don’t actually care about
>>the
>> SWF version, you can just write a mock that saves enough space on the
>> screen or does a cheap emulation of the JS version just so the person
>> using the library can exercise the rest of their logic.  This is the key
>> thing for FlexJS:  we are trying to make it more efficient to write the
>> code you use to glue other people’s code together.  The AS VM’s verifier
>> helps you by finding API surface incompatibilities sooner than you might
>> otherwise.
>>
>> -Alex
>>
>> >
>> >Mike
>> >
>> >On Sun, Mar 22, 2015 at 6:57 AM, piotrz [via Apache Flex Development] <
>> >[hidden email] <http:///user/SendEmail.jtp?type=node&node=45715&i=1>>
>> wrote:
>> >
>> >> Hi Mike,
>> >>
>> >> I am glad that another person is intrested to helping out with
>>FlexJS!
>> >>:)
>> >> We are growing! :)
>> >> Voting on this ticket would be for sure help to get closer support
>>for
>> >> FlexJS in Intellij.
>> >> https://youtrack.jetbrains.com/issue/IDEA-116986
>> >>
>> >> They need to know how much we wanted to this feature. :)
>> >>
>> >> Thank you and Good Luck with setup! :)
>> >> Piotr
>> >> Apache Flex PMC
>> >> [hidden email] <http:///user/SendEmail.jtp?type=node&node=45715&i=2>
>> >>
>> >>
>> >> ------------------------------
>> >>  If you reply to this email, your message will be added to the
>> >>discussion
>> >> below:
>> >>
>> >>
>> >>
>> 
>>http://apache-flex-development.2333347.n4.nabble.com/FlexJS-compiler-tp45
>> >>680p45700.html
>> >>  To unsubscribe from FlexJS compiler, click here
>> >>
>> >><
>> >>WlsLmNvbXw0NTY4MHwxMjE5OTE3NzQ2>
>> >> .
>> >> NAML
>> >>
>> >><
>> 
>><http://apache-flex-development.2333347.n4.nabble.com/template/NamlServle
>>>
>> http://apache-flex-development.2333347.n4.nabble.com/template/NamlServle
>> 
>>>>t.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nab
>>>>bl
>>
>> 
>>>>e.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespa
>>>>ce
>>
>> 
>>>>-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%
>>>>21
>>
>> 
>>>>nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_e
>>>>ma
>>
>> >>il%21nabble%3Aemail.naml>
>> >>
>> >
>> >
>> >
>> >
>> >--
>> >View this message in context:
>> >
>> 
>>http://apache-flex-development.2333347.n4.nabble.com/FlexJS-compiler-tp45
>>6
>> >80p45701.html
>> >Sent from the Apache Flex Development mailing list archive at
>>Nabble.com.
>>
>>
>>
>> ------------------------------
>>  If you reply to this email, your message will be added to the
>>discussion
>> below:
>>
>> 
>>http://apache-flex-development.2333347.n4.nabble.com/FlexJS-compiler-tp45
>>680p45715.html
>>  To unsubscribe from FlexJS compiler, click here
>> 
>><http://apache-flex-development.2333347.n4.nabble.com/template/NamlServle
>>t.jtp?macro=unsubscribe_by_code&node=45680&code=dGVvdGlncmFwaGl4bGxjQGdtY
>>WlsLmNvbXw0NTY4MHwxMjE5OTE3NzQ2>
>> .
>> NAML
>> 
>><http://apache-flex-development.2333347.n4.nabble.com/template/NamlServle
>>t.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabbl
>>e.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace
>>-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21
>>nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_ema
>>il%21nabble%3Aemail.naml>
>>
>
>
>
>
>--
>View this message in context:
>http://apache-flex-development.2333347.n4.nabble.com/FlexJS-compiler-tp456
>80p45720.html
>Sent from the Apache Flex Development mailing list archive at Nabble.com.


Re: FlexJS compiler

Posted by TeotiGraphix <te...@gmail.com>.
Thanks Alex, you pretty much just reiterated what I thought in my head.

As far as Randori, that was a kcikass IntelliJ plugin that I started and
Frederic Thomas put a huge amount of time it. We had the cross compiler
hooked up, I created "bundles" and "library bundles" that were integrated
into the IDE..... Ah open source, the pain and agony of retrospect.

I also don't need a lesson in what community driven means, just that I
think you know me and I am really just trying to figure out "what" I would
do with it if I put the time in.

I am good at seeing down the road, I know if IntelliJ supported FlexJS,
that would be a huge road to at least getting a dev environment going where
you could actually feel like you were using a professional IDE to take it
beyond a alpha experiment.

The way I see it is, I need to find a pet project, something I have been
interested in is Web Audio. I might do some research into it(I haven't been
doing that javascript stuff) and it could be a jump starter focus thing for
me.

Seems like for me to do this right I just need to do a lot of research with
what is written so far with the compiler emitters and your component
framework.

Mike




On Mon, Mar 23, 2015 at 1:28 AM, Alex Harui [via Apache Flex Development] <
ml-node+s2333347n45715h42@n4.nabble.com> wrote:

>
>
> On 3/22/15, 4:49 AM, "TeotiGraphix" <[hidden email]
> <http:///user/SendEmail.jtp?type=node&node=45715&i=0>> wrote:
>
> >Well I voted for it.
> >
> >To be honest, I am still in the complete dark with FlexJS, what/how it
> >does
> >what it does and the new component model. I just thought i would drop
> this
> >line to see what the happenings are currently.
>
> There’s information on the wiki:
> https://cwiki.apache.org/confluence/display/FLEX/FlexJS
>
> But in short, FlexJS uses a combination of cross-compilation and class
> substitution.  As you may know, the Falcon compiler has the notion of
> compilation units.  There are compilation units from SWCs and compilation
> units from MXML and AS.  Falcon converts MXML and AS to ABC and combines
> it with the ABC from the SWCs and outputs a SWF.
>
> FalconJX converts MXML and AS to JS, but for SWC compilation units, it
> tries to find a JS file of the same name.  IOW,
> org.apache.flex.core.UIBase.as is expected to have an
> org.apache.flex.core.UIBase.js.  Some of those JS files are created by
> cross-compiling AS to JS in library projects.
>
> >
> >I helped write the Randori IntelliJ plugin with doublefx back in 2013.
> >That
> >plugin used the FalconJX cross compiler and it worked awesome, just
> nobody
> >wanted to use Randori. That was like 600+ hours of my time down the drain
> >with the plugin and actually writing FalconJX.
> >
> >So in a way, I am trying to weigh the pluses and minuses about developing
> >something that might not get used.
>
> Maybe some of that can be repurposed for FlexJS.  The gotcha of
> volunteer-driven technology is that if nobody works on it, it will never
> get used, but the cool thing about Apache projects is that “everyone” can
> contribute and those who contribute can help make it something they want.
>
> >How would FlexJS integrate with WebGL? I am naive about this.
>
> Well, I don’t know anything about WebGL, but essentially, any common
> pattern of code in any language should be encapsulated.  For JS, if you
> can stick a class-like API surface on that encapsulation, then you can
> emulate or mock that thing in AS.
>
> So if you always write the same sequence of JS code to draw a 3D sphere of
> a color, radius, and light source, you might write in JS:
>
> Sphere = function()
> {
> }
>
> Sphere.prototype.drawSphere = function (color, radius, lightSource)
> {
>   // whatever WebGL and other code you need
> }
>
> And in AS you would write:
>
> Class Sphere
> {
>    function drawSphere(color:int, radius:Number,
> lightSource:Coordinate):void
>    {
>        // code that does the equivalent for Flash.
>    }
> }
>
> The reason I said “mock” is because, if you don’t actually care about the
> SWF version, you can just write a mock that saves enough space on the
> screen or does a cheap emulation of the JS version just so the person
> using the library can exercise the rest of their logic.  This is the key
> thing for FlexJS:  we are trying to make it more efficient to write the
> code you use to glue other people’s code together.  The AS VM’s verifier
> helps you by finding API surface incompatibilities sooner than you might
> otherwise.
>
> -Alex
>
> >
> >Mike
> >
> >On Sun, Mar 22, 2015 at 6:57 AM, piotrz [via Apache Flex Development] <
> >[hidden email] <http:///user/SendEmail.jtp?type=node&node=45715&i=1>>
> wrote:
> >
> >> Hi Mike,
> >>
> >> I am glad that another person is intrested to helping out with FlexJS!
> >>:)
> >> We are growing! :)
> >> Voting on this ticket would be for sure help to get closer support for
> >> FlexJS in Intellij.
> >> https://youtrack.jetbrains.com/issue/IDEA-116986
> >>
> >> They need to know how much we wanted to this feature. :)
> >>
> >> Thank you and Good Luck with setup! :)
> >> Piotr
> >> Apache Flex PMC
> >> [hidden email] <http:///user/SendEmail.jtp?type=node&node=45715&i=2>
> >>
> >>
> >> ------------------------------
> >>  If you reply to this email, your message will be added to the
> >>discussion
> >> below:
> >>
> >>
> >>
> http://apache-flex-development.2333347.n4.nabble.com/FlexJS-compiler-tp45
> >>680p45700.html
> >>  To unsubscribe from FlexJS compiler, click here
> >>
> >><
> >>WlsLmNvbXw0NTY4MHwxMjE5OTE3NzQ2>
> >> .
> >> NAML
> >>
> >><
> <http://apache-flex-development.2333347.n4.nabble.com/template/NamlServle>
> http://apache-flex-development.2333347.n4.nabble.com/template/NamlServle
> >>t.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabbl
>
> >>e.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace
>
> >>-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21
>
> >>nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_ema
>
> >>il%21nabble%3Aemail.naml>
> >>
> >
> >
> >
> >
> >--
> >View this message in context:
> >
> http://apache-flex-development.2333347.n4.nabble.com/FlexJS-compiler-tp456
> >80p45701.html
> >Sent from the Apache Flex Development mailing list archive at Nabble.com.
>
>
>
> ------------------------------
>  If you reply to this email, your message will be added to the discussion
> below:
>
> http://apache-flex-development.2333347.n4.nabble.com/FlexJS-compiler-tp45680p45715.html
>  To unsubscribe from FlexJS compiler, click here
> <http://apache-flex-development.2333347.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=45680&code=dGVvdGlncmFwaGl4bGxjQGdtYWlsLmNvbXw0NTY4MHwxMjE5OTE3NzQ2>
> .
> NAML
> <http://apache-flex-development.2333347.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>




--
View this message in context: http://apache-flex-development.2333347.n4.nabble.com/FlexJS-compiler-tp45680p45720.html
Sent from the Apache Flex Development mailing list archive at Nabble.com.

Re: FlexJS compiler

Posted by Alex Harui <ah...@adobe.com>.

On 3/22/15, 4:49 AM, "TeotiGraphix" <te...@gmail.com> wrote:

>Well I voted for it.
>
>To be honest, I am still in the complete dark with FlexJS, what/how it
>does
>what it does and the new component model. I just thought i would drop this
>line to see what the happenings are currently.

There’s information on the wiki:
https://cwiki.apache.org/confluence/display/FLEX/FlexJS

But in short, FlexJS uses a combination of cross-compilation and class
substitution.  As you may know, the Falcon compiler has the notion of
compilation units.  There are compilation units from SWCs and compilation
units from MXML and AS.  Falcon converts MXML and AS to ABC and combines
it with the ABC from the SWCs and outputs a SWF.

FalconJX converts MXML and AS to JS, but for SWC compilation units, it
tries to find a JS file of the same name.  IOW,
org.apache.flex.core.UIBase.as is expected to have an
org.apache.flex.core.UIBase.js.  Some of those JS files are created by
cross-compiling AS to JS in library projects.

>
>I helped write the Randori IntelliJ plugin with doublefx back in 2013.
>That
>plugin used the FalconJX cross compiler and it worked awesome, just nobody
>wanted to use Randori. That was like 600+ hours of my time down the drain
>with the plugin and actually writing FalconJX.
>
>So in a way, I am trying to weigh the pluses and minuses about developing
>something that might not get used.

Maybe some of that can be repurposed for FlexJS.  The gotcha of
volunteer-driven technology is that if nobody works on it, it will never
get used, but the cool thing about Apache projects is that “everyone” can
contribute and those who contribute can help make it something they want.

>How would FlexJS integrate with WebGL? I am naive about this.

Well, I don’t know anything about WebGL, but essentially, any common
pattern of code in any language should be encapsulated.  For JS, if you
can stick a class-like API surface on that encapsulation, then you can
emulate or mock that thing in AS.

So if you always write the same sequence of JS code to draw a 3D sphere of
a color, radius, and light source, you might write in JS:

Sphere = function()
{
}

Sphere.prototype.drawSphere = function (color, radius, lightSource)
{
  // whatever WebGL and other code you need
}

And in AS you would write:

Class Sphere
{
   function drawSphere(color:int, radius:Number,
lightSource:Coordinate):void
   {
       // code that does the equivalent for Flash.
   }
}

The reason I said “mock” is because, if you don’t actually care about the
SWF version, you can just write a mock that saves enough space on the
screen or does a cheap emulation of the JS version just so the person
using the library can exercise the rest of their logic.  This is the key
thing for FlexJS:  we are trying to make it more efficient to write the
code you use to glue other people’s code together.  The AS VM’s verifier
helps you by finding API surface incompatibilities sooner than you might
otherwise.

-Alex

>
>Mike
>
>On Sun, Mar 22, 2015 at 6:57 AM, piotrz [via Apache Flex Development] <
>ml-node+s2333347n45700h77@n4.nabble.com> wrote:
>
>> Hi Mike,
>>
>> I am glad that another person is intrested to helping out with FlexJS!
>>:)
>> We are growing! :)
>> Voting on this ticket would be for sure help to get closer support for
>> FlexJS in Intellij.
>> https://youtrack.jetbrains.com/issue/IDEA-116986
>>
>> They need to know how much we wanted to this feature. :)
>>
>> Thank you and Good Luck with setup! :)
>> Piotr
>> Apache Flex PMC
>> piotrzarzycki21@gmail.com
>>
>>
>> ------------------------------
>>  If you reply to this email, your message will be added to the
>>discussion
>> below:
>>
>> 
>>http://apache-flex-development.2333347.n4.nabble.com/FlexJS-compiler-tp45
>>680p45700.html
>>  To unsubscribe from FlexJS compiler, click here
>> 
>><http://apache-flex-development.2333347.n4.nabble.com/template/NamlServle
>>t.jtp?macro=unsubscribe_by_code&node=45680&code=dGVvdGlncmFwaGl4bGxjQGdtY
>>WlsLmNvbXw0NTY4MHwxMjE5OTE3NzQ2>
>> .
>> NAML
>> 
>><http://apache-flex-development.2333347.n4.nabble.com/template/NamlServle
>>t.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabbl
>>e.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace
>>-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21
>>nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_ema
>>il%21nabble%3Aemail.naml>
>>
>
>
>
>
>--
>View this message in context:
>http://apache-flex-development.2333347.n4.nabble.com/FlexJS-compiler-tp456
>80p45701.html
>Sent from the Apache Flex Development mailing list archive at Nabble.com.


Re: FlexJS compiler

Posted by TeotiGraphix <te...@gmail.com>.
Well I voted for it.

To be honest, I am still in the complete dark with FlexJS, what/how it does
what it does and the new component model. I just thought i would drop this
line to see what the happenings are currently.

I helped write the Randori IntelliJ plugin with doublefx back in 2013. That
plugin used the FalconJX cross compiler and it worked awesome, just nobody
wanted to use Randori. That was like 600+ hours of my time down the drain
with the plugin and actually writing FalconJX.

So in a way, I am trying to weigh the pluses and minuses about developing
something that might not get used.

I am only saying this stuff so there is no misunderstanding about anything.
I still love the idea of using ActionScript to develop JavaScript, as Alex
said, the tool chain is really no different then the others out there right
now.

Anyway, ramble aside I guess I just need to set aside some time to see what
this actually is right now.

How would FlexJS integrate with WebGL? I am naive about this.

Mike

On Sun, Mar 22, 2015 at 6:57 AM, piotrz [via Apache Flex Development] <
ml-node+s2333347n45700h77@n4.nabble.com> wrote:

> Hi Mike,
>
> I am glad that another person is intrested to helping out with FlexJS! :)
> We are growing! :)
> Voting on this ticket would be for sure help to get closer support for
> FlexJS in Intellij.
> https://youtrack.jetbrains.com/issue/IDEA-116986
>
> They need to know how much we wanted to this feature. :)
>
> Thank you and Good Luck with setup! :)
> Piotr
> Apache Flex PMC
> piotrzarzycki21@gmail.com
>
>
> ------------------------------
>  If you reply to this email, your message will be added to the discussion
> below:
>
> http://apache-flex-development.2333347.n4.nabble.com/FlexJS-compiler-tp45680p45700.html
>  To unsubscribe from FlexJS compiler, click here
> <http://apache-flex-development.2333347.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=45680&code=dGVvdGlncmFwaGl4bGxjQGdtYWlsLmNvbXw0NTY4MHwxMjE5OTE3NzQ2>
> .
> NAML
> <http://apache-flex-development.2333347.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>




--
View this message in context: http://apache-flex-development.2333347.n4.nabble.com/FlexJS-compiler-tp45680p45701.html
Sent from the Apache Flex Development mailing list archive at Nabble.com.

Re: FlexJS compiler

Posted by piotrz <pi...@gmail.com>.
Hi Mike,

I am glad that another person is intrested to helping out with FlexJS! :) We
are growing! :)
Voting on this ticket would be for sure help to get closer support for
FlexJS in Intellij. 
https://youtrack.jetbrains.com/issue/IDEA-116986

They need to know how much we wanted to this feature. :)

Thank you and Good Luck with setup! :)
Piotr



-----
Apache Flex PMC
piotrzarzycki21@gmail.com
--
View this message in context: http://apache-flex-development.2333347.n4.nabble.com/FlexJS-compiler-tp45680p45700.html
Sent from the Apache Flex Development mailing list archive at Nabble.com.

Re: FlexJS compiler

Posted by TeotiGraphix <te...@gmail.com>.
What's funny is I love antiques, really its more about recycling things and
creating new uses for existing stuff.

I think the thing that for some odd reason has driven me back to AS3 is the
compiler and MXML. Although I use Feathers right now and not using MXML it
really did make sense for some things, and it's truly one of a kind in some
respects.

I have to admit, I am no javascript/html cowboy so it seems I would need to
really take some time to figure out what is happening and look at your
examples (FlexJS).

As far as Falcon, I am not good enough with the as3 byetcode to help too
much with that. Such a shame really, all those hours into a really fast
compiler just rusting. I do understand the whole parser/compiler framework
but just not enough understanding in the bytecode.

In your eyes what needs to be done to Falcon to get it into RC?

Alex, its great to still see you here in 2015, you have done a lot!

If IntelliJ could get MXML support for FlexJS, now that would be something.
:)

Well, I can't promise anything, but suffice to say, if I can have some
success with these AS3 mobile project I am working on, it's pretty much a
done deal that I will get back in and help with the compiler and FlexJS.

For now, i will just see if I can get things setup and check out what the
group has done so far.

Mike





On Sat, Mar 21, 2015 at 7:26 PM, Alex Harui [via Apache Flex Development] <
ml-node+s2333347n45690h67@n4.nabble.com> wrote:

>
>
> On 3/21/15, 10:45 AM, "TeotiGraphix" <[hidden email]
> <http:///user/SendEmail.jtp?type=node&node=45690&i=0>> wrote:
>
> >Hi Erik and Alex,
> >
> >Yeah, life is funny sometimes. I have spent the last couple years doing
> >music dev I guess you could say.
>
> Yeah, I remember you saying you were going to do something like that.
> Anyway, glad to have to back, even it is just for a short visit.
>
> >
> >Basically, I am somewhat confused as to the tool chain for FlexJS, coming
> >back to this after 2 years, I know my code and such but everything else
> is
> >pretty much alien.
> >
> >Do you think you could explain a bit of the "AS -> JS -> GoogJS -> FlexJS
> >-> VF2JS" you stated?
>
> We have several Emitters.  I think you wrote the AS one.  Erik wrote one
> that uses a lot of Google Closure Library. The one we use for FLexJS
> subclasses that and does some custom stuff.  It is the FlexJS emitter that
> I am currently doing major surgery on to get it to do
> Object.defineProperty.
>
> >
> >I am kind of scared getting the dev env back up, I remember the
> nightmares
> >I had in the beginning with building everything.
>
> It should all have Ant scripts to build everything.  We have a CI job for
> flex-falcon and flex-asjs repos.
>
> >
> >If I was to get back into this for some time, it's not like I have any
> >thing to build with it, just that since people seem to be still working
> on
> >it, maybe I can help jump start the low level again.
>
> Every little bit helps.
>
> >
> >Question: What is Apache Flex's mantra for FlexJS? I mean there are a
> >bunch
> >of javascript frameworks these days, is it that you can code in AS3 with
> a
> >compiler, or are there other benefits you see with it over what exists
> >now?
>
> My mantra is this:  FlexJS is a actually a tool chain for assembling any
> app with any procedural JS framework.  We are writing our own framework
> because I want to see how lightweight it can be if you don’t have to
> support <IE9 and because it makes it easier to debug than debugging other
> frameworks code mixed in with our code.  But we have examples using Jquery
> UI widgets instead of our UI widgets.
>
> The principle is that better OO languages like TS, Dart, etc help you
> assemble components into an app with fewer mistakes.  AS is another
> offering in that space.  But we also have a declarative language, MXML,
> that provides a better schematic of the components in the application.  If
> successful, FlexJS will have libraries that thinly wrap Jquery, and other
> popular frameworks.
>
> >
> >Question: I may be daft but is the Falcon compiler being used yet for the
> >flex compiler?
>
> Nope.  Nobody has taken the time to make that happen.
>
> >>unsure about, is the handling of AS in MXML tags... I'm pretty sure
> >> that is only working for single line statements
>
> It works for all script blocks I’ve thrown at it so far.
>
> -Alex
>
>
>
> ------------------------------
>  If you reply to this email, your message will be added to the discussion
> below:
>
> http://apache-flex-development.2333347.n4.nabble.com/FlexJS-compiler-tp45680p45690.html
>  To unsubscribe from FlexJS compiler, click here
> <http://apache-flex-development.2333347.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=45680&code=dGVvdGlncmFwaGl4bGxjQGdtYWlsLmNvbXw0NTY4MHwxMjE5OTE3NzQ2>
> .
> NAML
> <http://apache-flex-development.2333347.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>




--
View this message in context: http://apache-flex-development.2333347.n4.nabble.com/FlexJS-compiler-tp45680p45699.html
Sent from the Apache Flex Development mailing list archive at Nabble.com.

Re: FlexJS compiler

Posted by Alex Harui <ah...@adobe.com>.

On 3/21/15, 10:45 AM, "TeotiGraphix" <te...@gmail.com> wrote:

>Hi Erik and Alex,
>
>Yeah, life is funny sometimes. I have spent the last couple years doing
>music dev I guess you could say.

Yeah, I remember you saying you were going to do something like that.
Anyway, glad to have to back, even it is just for a short visit.

>
>Basically, I am somewhat confused as to the tool chain for FlexJS, coming
>back to this after 2 years, I know my code and such but everything else is
>pretty much alien.
>
>Do you think you could explain a bit of the "AS -> JS -> GoogJS -> FlexJS
>-> VF2JS" you stated?

We have several Emitters.  I think you wrote the AS one.  Erik wrote one
that uses a lot of Google Closure Library. The one we use for FLexJS
subclasses that and does some custom stuff.  It is the FlexJS emitter that
I am currently doing major surgery on to get it to do
Object.defineProperty.

>
>I am kind of scared getting the dev env back up, I remember the nightmares
>I had in the beginning with building everything.

It should all have Ant scripts to build everything.  We have a CI job for
flex-falcon and flex-asjs repos.

>
>If I was to get back into this for some time, it's not like I have any
>thing to build with it, just that since people seem to be still working on
>it, maybe I can help jump start the low level again.

Every little bit helps.

>
>Question: What is Apache Flex's mantra for FlexJS? I mean there are a
>bunch
>of javascript frameworks these days, is it that you can code in AS3 with a
>compiler, or are there other benefits you see with it over what exists
>now?

My mantra is this:  FlexJS is a actually a tool chain for assembling any
app with any procedural JS framework.  We are writing our own framework
because I want to see how lightweight it can be if you don’t have to
support <IE9 and because it makes it easier to debug than debugging other
frameworks code mixed in with our code.  But we have examples using Jquery
UI widgets instead of our UI widgets.

The principle is that better OO languages like TS, Dart, etc help you
assemble components into an app with fewer mistakes.  AS is another
offering in that space.  But we also have a declarative language, MXML,
that provides a better schematic of the components in the application.  If
successful, FlexJS will have libraries that thinly wrap Jquery, and other
popular frameworks.

>
>Question: I may be daft but is the Falcon compiler being used yet for the
>flex compiler?

Nope.  Nobody has taken the time to make that happen.

>>unsure about, is the handling of AS in MXML tags... I'm pretty sure
>> that is only working for single line statements

It works for all script blocks I’ve thrown at it so far.

-Alex


Re: FlexJS compiler

Posted by TeotiGraphix <te...@gmail.com>.
Hi Erik and Alex,

Yeah, life is funny sometimes. I have spent the last couple years doing
music dev I guess you could say.

I guess I am in a tinker mood since I have some real things I am working on
now for release and was drawn back to AS3 and AIR mobile for it's
simplicity, fast iterations and Stage3D performance compared to Java
verboseness.

On that note, when i was investigating getting back into AS3, it seems like
a ghost town at times. :) But, this stuff still works and I am using Josh's
Feathers which is a really nice UI framework, I mean he has done an awesome
job on it.

Basically, I am somewhat confused as to the tool chain for FlexJS, coming
back to this after 2 years, I know my code and such but everything else is
pretty much alien.

Do you think you could explain a bit of the "AS -> JS -> GoogJS -> FlexJS
-> VF2JS" you stated?

I am kind of scared getting the dev env back up, I remember the nightmares
I had in the beginning with building everything.

If I was to get back into this for some time, it's not like I have any
thing to build with it, just that since people seem to be still working on
it, maybe I can help jump start the low level again.

Question: What is Apache Flex's mantra for FlexJS? I mean there are a bunch
of javascript frameworks these days, is it that you can code in AS3 with a
compiler, or are there other benefits you see with it over what exists now?

Question: I may be daft but is the Falcon compiler being used yet for the
flex compiler?

Mike


On Sat, Mar 21, 2015 at 1:31 PM, Erik de Bruin [via Apache Flex
Development] <ml...@n4.nabble.com> wrote:

> Hey Mike!
>
> For my part, I followed your original paradigms as close as I knew
> how. I had to do pretty extensive hacking to get MXML to actually
> work, but so far, so good. What I'm less sure about, or rather pretty
> unsure about, is the handling of AS in MXML tags... I'm pretty sure
> that is only working for single line statements :-( It's been some
> time since I spent any serious time in FalconJX, but I'd love to
> follow your lead again, maybe clean up a bit (hacking on stuff only
> get's us so far...) and see if we can generalize some code and maybe
> fold some other stuff back in on itself: for example we're now
> sometimes as deep as AS -> JS -> GoogJS -> FlexJS -> VF2JS, which
> seems a bit out of control ;-)
>
> Good to see you're considering spending some time with us again, I
> must say I missed you at times :-) But then again, I did learn a lot
> having to figure out this stuff on my own!
>
> EdB
>
>
>
> On Sat, Mar 21, 2015 at 4:04 PM, TeotiGraphix <[hidden email]
> <http:///user/SendEmail.jtp?type=node&node=45685&i=0>> wrote:
>
> > Hi,
> >
> > It's been a couple years and I am currently back into as3 for some
> projects
> > now, mainly mobile stuff(feathers/starling).
> >
> > That said, I have been reading some emails and was checking over the
> wiki,
> > but could anybody give me a line item list as to "where" FlexJS is and
> the
> > compiler status?
> >
> > If this already exists somewhere, just point me there and I can read. :)
> >
> > I am debating using some of my extra hobby time to help out with the
> > project.
> >
> > Thanks,
> > Michael Schmalle
> >
> >
> >
> > --
> > View this message in context:
> http://apache-flex-development.2333347.n4.nabble.com/FlexJS-compiler-tp45680.html
> > Sent from the Apache Flex Development mailing list archive at
> Nabble.com.
>
>
>
> --
> Ix Multimedia Software
>
> Jan Luykenstraat 27
> 3521 VB Utrecht
>
> T. 06-51952295
> I. www.ixsoftware.nl
>
>
> ------------------------------
>  If you reply to this email, your message will be added to the discussion
> below:
>
> http://apache-flex-development.2333347.n4.nabble.com/FlexJS-compiler-tp45680p45685.html
>  To unsubscribe from FlexJS compiler, click here
> <http://apache-flex-development.2333347.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=45680&code=dGVvdGlncmFwaGl4bGxjQGdtYWlsLmNvbXw0NTY4MHwxMjE5OTE3NzQ2>
> .
> NAML
> <http://apache-flex-development.2333347.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>




--
View this message in context: http://apache-flex-development.2333347.n4.nabble.com/FlexJS-compiler-tp45680p45686.html
Sent from the Apache Flex Development mailing list archive at Nabble.com.

Re: FlexJS compiler

Posted by Erik de Bruin <er...@ixsoftware.nl>.
Hey Mike!

For my part, I followed your original paradigms as close as I knew
how. I had to do pretty extensive hacking to get MXML to actually
work, but so far, so good. What I'm less sure about, or rather pretty
unsure about, is the handling of AS in MXML tags... I'm pretty sure
that is only working for single line statements :-( It's been some
time since I spent any serious time in FalconJX, but I'd love to
follow your lead again, maybe clean up a bit (hacking on stuff only
get's us so far...) and see if we can generalize some code and maybe
fold some other stuff back in on itself: for example we're now
sometimes as deep as AS -> JS -> GoogJS -> FlexJS -> VF2JS, which
seems a bit out of control ;-)

Good to see you're considering spending some time with us again, I
must say I missed you at times :-) But then again, I did learn a lot
having to figure out this stuff on my own!

EdB



On Sat, Mar 21, 2015 at 4:04 PM, TeotiGraphix <te...@gmail.com> wrote:
> Hi,
>
> It's been a couple years and I am currently back into as3 for some projects
> now, mainly mobile stuff(feathers/starling).
>
> That said, I have been reading some emails and was checking over the wiki,
> but could anybody give me a line item list as to "where" FlexJS is and the
> compiler status?
>
> If this already exists somewhere, just point me there and I can read. :)
>
> I am debating using some of my extra hobby time to help out with the
> project.
>
> Thanks,
> Michael Schmalle
>
>
>
> --
> View this message in context: http://apache-flex-development.2333347.n4.nabble.com/FlexJS-compiler-tp45680.html
> Sent from the Apache Flex Development mailing list archive at Nabble.com.



-- 
Ix Multimedia Software

Jan Luykenstraat 27
3521 VB Utrecht

T. 06-51952295
I. www.ixsoftware.nl