Awesome!
On 12/6/12 2:50 PM, "Michael Schmalle" <apa...@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 <e...@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 <e...@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 >>> <apa...@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