incubator-flex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Harui <aha...@adobe.com>
Subject Re: [ASJS] Some information on "templates"
Date Thu, 06 Dec 2012 22:58:21 GMT
Awesome!


On 12/6/12 2:50 PM, "Michael Schmalle" <apache@teotigraphix.com> wrote:

> 
> Erik,
> 
> I got your project to compile and create the minified .js!
> FlexJSTest_dummy app I used.
> 
> The only thing I had to do was install python. A note to others, if
> you try this on Windows 7, there seems to be an issue with file
> encoding and the closure compiler using python 3.3. I had to uninstall
> 3.3 and install python 2.7 (and put python in the PATH).
> 
> Once I had that, I just ran with the command in the /publisher
> directory; ant -Dapp.name=FlexJSTest_dummy
> 
> It compiled the framework and app classes to the FlexJS.js file and
> loader html file. Loaded in the browser and pushed the button,
> galvanize!
> 
> Mike
> 
> 
> Quoting Erik de Bruin <erik@ixsoftware.nl>:
> 
>> No framework classes are cross compiled. Only project AS files are run
>> through FalconJS before they are combined with the JS framework through the
>> Closure Builder.
>> 
>> The AS framework is there to allow for project development in Flash
>> Builder. Our job as developers is to provide both sides of the fence (AS
>> and JS framework) with matching functionality so the compiled project JS
>> files will behave the same in a browser as their AS  equivalent does in the
>> Flash Player.
>> 
>> EdB
>> 
>> 
>> 
>> On Thursday, December 6, 2012, Michael @er5ik68Schmalle wrote:
>> 
>>> Erik,
>>> 
>>> I'm trying to get clear on something.
>>> 
>>> What exact classes or interfaces get translated from .as to .js from the
>>> framework directories?
>>> 
>>> What files are going to be maintained by hand and tests? I'm still a bit
>>> confused to the flow.
>>> 
>>> You have FlexObject.js, FlexGlobals.js which obviously has no correlation
>>> in .as. What about that?
>>> 
>>> 
>>> Mike
>>> 
>>> 
>>> 
>>> 
>>> Quoting Erik de Bruin <erik@ixsoftware.nl>:
>>> 
>>>  That looks very promising! Some tweaking is needed, and some of the
>>> output (the bottom part mostly, I guess that is for some kind of
>>> introspection that is in my template provided by other methods) isn't
>>> needed, at least not from what I understand.
>>> 
>>> I'll look into the details of the new output tomorrow and indicate if
>>> and what changes would be nice ;-)
>>> 
>>> EdB
>>> 
>>> 
>>> On Thu, Dec 6, 2012 at 7:01 PM, Michael Schmalle
>>> <apache@teotigraphix.com> wrote:
>>> 
>>> Hi,
>>> 
>>> Right now after about 5 hours of researching and messing around I can get
>>> the following using the closure compiler flag;
>>> 
>>> //============================**==============================**=======
>>> AS CODE
>>> 
>>> 
>>> package com.example.components
>>> {
>>> 
>>> import flash.display.Sprite;
>>> 
>>> public class MyTextButton extends Sprite
>>> {
>>>     public function MyTextButton()
>>> 
>>>     {
>>>         super();
>>>      }
>>> 
>>>     private var _privateVar:String = "do ";
>>> 
>>>     public var publicProperty:Number = 100;
>>> 
>>>     public function myFunction(value: String): String
>>>     {
>>>         return "Don't " + _privateVar + value;
>>>     }
>>> }
>>> }
>>> 
>>> 
>>> //============================**==============================**=======
>>> JS CODE
>>> 
>>> /** @preserve CROSS-COMPILED BY MXMLJSC (329449.1) ON 2012-12-06 12:55:52
>>>  */
>>> /**
>>>  * CROSS-COMPILED BY MXMLJSC (329449.1) ON 2012-12-06 12:52:19
>>>  *
>>>  * Class: com.example.components.**MyTextButton
>>>  * @constructor
>>>  * @extends flash.display.Sprite
>>>  */
>>> 
>>> // Constructor
>>> 
>>> 
>>> /**
>>>  * Constructor: com.example.components.**MyTextButton()
>>>  * @constructor
>>>  * @this {com.example.components}
>>>  */
>>> com.example.components.**MyTextButton = function()
>>> {
>>>         var self = this;
>>>                 self.publicProperty /* : Number */ = 100;
>>>                 goog.base(this);
>>>                 return self;
>>> }
>>> 
>>> 
>>> goog.inherits(com.example.**components.MyTextButton,
>>> flash.display.Sprite);
>>> 
>>> /**
>>>  * Member: com.example.components.**MyTextButton.prototype._CLASS
>>>  * @const
>>>  * @type {com.example.components.**MyTextButton}
>>>  */
>>> com.example.components.**MyTextButton.prototype._CLASS =
>>> com.example.components.**MyTextButton;
>>> ;
>>> 
>>> /**
>>>  * Member: com.example.components.**MyTextButton._privateVar
>>> 
>>>  * @private
>>>  * @type {string}
>>>  */
>>> com.example.components.**MyTextButton.prototype._**privateVar /* : String
>>> */ =
>>> "do ";
>>> ;
>>> 
>>> /**
>>>  * Member: com.example.components.**MyTextButton.publicProperty
>>>  * @type {number}
>>>  */
>>> com.example.components.**MyTextButton.prototype.**publicProperty /* :
>>> Number */
>>> = 100;
>>> ;
>>> 
>>> 
>>> /**
>>>  * Method: com.example.components.**MyTextButton.myFunction()
>>>  * @this {com.example.components.**MyTextButton}
>>>  * @param {string} value
>>>  * @return {string}
>>>  */
>>> com.example.components.**MyTextButton.prototype.**myFunction =
>>> function(value /*
>>> : String */) /* : String */
>>> {
>>>                 /** @type {com.example.components.**MyTextButton} */
>>>                 var self = this;
>>>                 return (("Don't " + self._privateVar) + value);
>>> }
>>> 
>>> /**
>>>  * Member: com.example.components.**MyTextButton._PACKAGE
>>>  * @const
>>>  * @type {com.example.components}
>>>  */
>>> com.example.components.**MyTextButton._PACKAGE = com.example.components;
>>> 
>>> 
>>> /**
>>>  * Member: com.example.components.**MyTextButton._NAME
>>>  * @const
>>>  * @type {string}
>>>  */
>>> com.example.components.**MyTextButton._NAME = "MyTextButton";
>>> 
>>> /**
>>>  * Member: com.example.components.**MyTextButton._FULLNAME
>>>  * @const
>>>  * @type {string}
>>>  */
>>> com.example.components.**MyTextButton._FULLNAME =
>>> "com.example.components.**MyTextButton";
>>> 
>>> /**
>>>  * Member: com.example.components.**MyTextButton._SUPER
>>>  * @const
>>>  * @type {flash.display.Sprite}
>>>  */
>>> com.example.components.**MyTextButton._SUPER = flash.display.Sprite;
>>> 
>>> /**
>>>  * Member: com.example.components.**MyTextButton._NAMESPACES
>>>  * @const
>>>  * @type {Object}
>>>  */
>>> com.example.components.**MyTextButton._NAMESPACES = {
>>>         "_privateVar::7:com.example.**components.MyTextButton" : tr
>>> 
>>> 
>> 
>> --
>> Ix Multimedia Software
>> 
>> Jan Luykenstraat 27
>> 3521 VB Utrecht
>> 
>> T. 06-51952295
>> I. www.ixsoftware.nl
>> 

-- 
Alex Harui
Flex SDK Team
Adobe Systems, Inc.
http://blogs.adobe.com/aharui


Mime
View raw message