Re: [FalconJX] AS for Native HTML JS (was Re: [FalconJX FlexJS] JIRA issues and helping with the compiler)
Yeah, the ES5 output. While I think the output looks good from TypeScript, I figured it wouldn't hurt to point out an alternative. I'm sure it's pretty similar, but when it comes to the little details, you might see something there that you like better. - Josh On May 27, 2015 4:01 PM, Michael Schmalle teotigraphix...@gmail.com wrote: So basically your saying the output of ES5 from Babel? Mike On Wed, May 27, 2015 at 6:47 PM, Josh Tynjala joshtynj...@gmail.com wrote: You might also consider looking at the output of Babel. Babel transpiles ECMAScript 6 back to older versions of the language that are more widely supported today. TypeScript is trying to be a superset of ES6, so it should be pretty similar. http://babeljs.io - Josh On Wed, May 27, 2015 at 2:23 PM, Michael Schmalle teotigraphix...@gmail.com wrote: Ok Update. I have been researching TypeScript and it's output, this is what I am doing. For some reason this just makes sense to me and the are 100's of examples I can use to test the code generation against. Josh, I would say if you want to start experimenting with your framework, use what you just showed me as a base and I can meet you in the middle, then we can figure our the quirks together. I will/am start/ing working on this ASAP. Mike On Wed, May 27, 2015 at 4:54 PM, Michael Schmalle teotigraphix...@gmail.com wrote: Ok, I am a doer... :) Since this is all POC right now and I am up to learn some JS, I will use this as a format. I have done this JSEmitter 2 times now so the 3rd isn't going to be that hard, maybe the charm for me to. Note, most of the expressions and statements are already done. As noted, inheritance, scope and set/get always are the pains but if I have a target output protocol like TypeScript's output, why not emulate it. Alex, I know what you are thinking... Don't. :) My gut feeling is, if I start from the ground up and have NO dependencies on anything, I will do this twice as fast. I am very good at refactoring so once I have tests working on the generated .js, we can see what could be abstracted to and from this emitter and FlexJS. I really think for my own sanity, I need to start in isolation and not get in FlexJS's way either, that is another pro for me, no commit conflicts, nothing of that nature. Thoughts Josh, Alex? Mike On Wed, May 27, 2015 at 4:40 PM, Josh Tynjala joshtynj...@gmail.com wrote: When I played with TypeScript, I loved that I could subclass CreateJS prototypes very easily. As long as something like that is possible from ActionScript (assuming I could provide a SWC or something for CreateJS or whichever library I want to use), I don't have too strong of an opinion on how the final JavaScript looks. I'll just say that I like the clean code that the TypeScript compiler outputs. To me, it looked pretty much like what I might write manually, if I were using vanilla JavaScript. Looking at the TypeScript playground, the Inheritance example and the Modules example both look very nice. http://www.typescriptlang.org/Playground - Josh On Wed, May 27, 2015 at 12:02 PM, Michael Schmalle teotigraphix...@gmail.com wrote: On Wed, May 27, 2015 at 2:50 PM, Alex Harui aha...@adobe.com wrote: New thread: On 5/27/15, 9:52 AM, Michael Schmalle teotigraphix...@gmail.com wrote: Well, when I said teach I just meant getting into the code. Really, I know the base part of the compiler and the walker/visitor framework well ;-), so getting FalconJX to use an HTML.swc would be exactly what I am looking for to do. This is where you can keep doing what you are good at and I can work on what I am good at(code rendering). Can I ask you to start another thread and outline what you see needs to be done to accomplish what is in your mind dealing with FalconJX and the HTML.swc? If you can just brainstorm, then I can ask you questions to fill in the gaps that I am not seeing. As I see it, FalconJX should just be able to grab some SWCs and cross-compile some AS based on definitions in the SWCs. Right now we feed it playerglobal/airglobal and FlexJS swcs with UIBase widgets, but in theory, as Josh suggests we should be able to replace those SWCs with just: jsglobal.swc: Object Number String what else? HTML.swc: Window Event UIEvent MouseEvent HTMLElement etc. See for HTML lib, Roland used WebIDL parser to create it;
Re: [FalconJX] AS for Native HTML JS (was Re: [FalconJX FlexJS] JIRA issues and helping with the compiler)
Well, the original plan of matching TypeScript's output is fine with me. I didn't mean to confuse you by throwing something extra in there. I haven't looked as closely at Babel, but I heard good things. I figured knowledge of Babel would be good to have around to sanity check things in case TypeScript's output had unexpected issues. - Josh On May 28, 2015 7:47 AM, Michael Schmalle teotigraphix...@gmail.com wrote: Well see Josh, I am good at writing cross compilers but have spent hardly any time understanding all the nuances of javascript. Each time I have written this thing, I have had a spec given to me by others that I made work. So I am kind of looking for that spec here so I have something concrete to generate. I don't have enough experience to know what it should be for the needs of a proper javascript impl and actionscript cross compile. Mike On Thu, May 28, 2015 at 10:34 AM, Josh Tynjala joshtynj...@gmail.com wrote: Yeah, the ES5 output. While I think the output looks good from TypeScript, I figured it wouldn't hurt to point out an alternative. I'm sure it's pretty similar, but when it comes to the little details, you might see something there that you like better. - Josh On May 27, 2015 4:01 PM, Michael Schmalle teotigraphix...@gmail.com wrote: So basically your saying the output of ES5 from Babel? Mike On Wed, May 27, 2015 at 6:47 PM, Josh Tynjala joshtynj...@gmail.com wrote: You might also consider looking at the output of Babel. Babel transpiles ECMAScript 6 back to older versions of the language that are more widely supported today. TypeScript is trying to be a superset of ES6, so it should be pretty similar. http://babeljs.io - Josh On Wed, May 27, 2015 at 2:23 PM, Michael Schmalle teotigraphix...@gmail.com wrote: Ok Update. I have been researching TypeScript and it's output, this is what I am doing. For some reason this just makes sense to me and the are 100's of examples I can use to test the code generation against. Josh, I would say if you want to start experimenting with your framework, use what you just showed me as a base and I can meet you in the middle, then we can figure our the quirks together. I will/am start/ing working on this ASAP. Mike On Wed, May 27, 2015 at 4:54 PM, Michael Schmalle teotigraphix...@gmail.com wrote: Ok, I am a doer... :) Since this is all POC right now and I am up to learn some JS, I will use this as a format. I have done this JSEmitter 2 times now so the 3rd isn't going to be that hard, maybe the charm for me to. Note, most of the expressions and statements are already done. As noted, inheritance, scope and set/get always are the pains but if I have a target output protocol like TypeScript's output, why not emulate it. Alex, I know what you are thinking... Don't. :) My gut feeling is, if I start from the ground up and have NO dependencies on anything, I will do this twice as fast. I am very good at refactoring so once I have tests working on the generated .js, we can see what could be abstracted to and from this emitter and FlexJS. I really think for my own sanity, I need to start in isolation and not get in FlexJS's way either, that is another pro for me, no commit conflicts, nothing of that nature. Thoughts Josh, Alex? Mike On Wed, May 27, 2015 at 4:40 PM, Josh Tynjala joshtynj...@gmail.com wrote: When I played with TypeScript, I loved that I could subclass CreateJS prototypes very easily. As long as something like that is possible from ActionScript (assuming I could provide a SWC or something for CreateJS or whichever library I want to use), I don't have too strong of an opinion on how the final JavaScript looks. I'll just say that I like the clean code that the TypeScript compiler outputs. To me, it looked pretty much like what I might write manually, if I were using vanilla JavaScript. Looking at the TypeScript playground, the Inheritance example and the Modules example both look very nice. http://www.typescriptlang.org/Playground - Josh On Wed, May 27, 2015 at 12:02 PM, Michael Schmalle teotigraphix...@gmail.com wrote: On Wed, May 27, 2015 at 2:50 PM, Alex Harui aha...@adobe.com wrote: New thread: On 5/27/15, 9:52 AM, Michael Schmalle teotigraphix...@gmail.com wrote: Well, when I said teach I just meant getting into the code. Really, I
Re: [FalconJX] AS for Native HTML JS (was Re: [FalconJX FlexJS] JIRA issues and helping with the compiler)
Well see Josh, I am good at writing cross compilers but have spent hardly any time understanding all the nuances of javascript. Each time I have written this thing, I have had a spec given to me by others that I made work. So I am kind of looking for that spec here so I have something concrete to generate. I don't have enough experience to know what it should be for the needs of a proper javascript impl and actionscript cross compile. Mike On Thu, May 28, 2015 at 10:34 AM, Josh Tynjala joshtynj...@gmail.com wrote: Yeah, the ES5 output. While I think the output looks good from TypeScript, I figured it wouldn't hurt to point out an alternative. I'm sure it's pretty similar, but when it comes to the little details, you might see something there that you like better. - Josh On May 27, 2015 4:01 PM, Michael Schmalle teotigraphix...@gmail.com wrote: So basically your saying the output of ES5 from Babel? Mike On Wed, May 27, 2015 at 6:47 PM, Josh Tynjala joshtynj...@gmail.com wrote: You might also consider looking at the output of Babel. Babel transpiles ECMAScript 6 back to older versions of the language that are more widely supported today. TypeScript is trying to be a superset of ES6, so it should be pretty similar. http://babeljs.io - Josh On Wed, May 27, 2015 at 2:23 PM, Michael Schmalle teotigraphix...@gmail.com wrote: Ok Update. I have been researching TypeScript and it's output, this is what I am doing. For some reason this just makes sense to me and the are 100's of examples I can use to test the code generation against. Josh, I would say if you want to start experimenting with your framework, use what you just showed me as a base and I can meet you in the middle, then we can figure our the quirks together. I will/am start/ing working on this ASAP. Mike On Wed, May 27, 2015 at 4:54 PM, Michael Schmalle teotigraphix...@gmail.com wrote: Ok, I am a doer... :) Since this is all POC right now and I am up to learn some JS, I will use this as a format. I have done this JSEmitter 2 times now so the 3rd isn't going to be that hard, maybe the charm for me to. Note, most of the expressions and statements are already done. As noted, inheritance, scope and set/get always are the pains but if I have a target output protocol like TypeScript's output, why not emulate it. Alex, I know what you are thinking... Don't. :) My gut feeling is, if I start from the ground up and have NO dependencies on anything, I will do this twice as fast. I am very good at refactoring so once I have tests working on the generated .js, we can see what could be abstracted to and from this emitter and FlexJS. I really think for my own sanity, I need to start in isolation and not get in FlexJS's way either, that is another pro for me, no commit conflicts, nothing of that nature. Thoughts Josh, Alex? Mike On Wed, May 27, 2015 at 4:40 PM, Josh Tynjala joshtynj...@gmail.com wrote: When I played with TypeScript, I loved that I could subclass CreateJS prototypes very easily. As long as something like that is possible from ActionScript (assuming I could provide a SWC or something for CreateJS or whichever library I want to use), I don't have too strong of an opinion on how the final JavaScript looks. I'll just say that I like the clean code that the TypeScript compiler outputs. To me, it looked pretty much like what I might write manually, if I were using vanilla JavaScript. Looking at the TypeScript playground, the Inheritance example and the Modules example both look very nice. http://www.typescriptlang.org/Playground - Josh On Wed, May 27, 2015 at 12:02 PM, Michael Schmalle teotigraphix...@gmail.com wrote: On Wed, May 27, 2015 at 2:50 PM, Alex Harui aha...@adobe.com wrote: New thread: On 5/27/15, 9:52 AM, Michael Schmalle teotigraphix...@gmail.com wrote: Well, when I said teach I just meant getting into the code. Really, I know the base part of the compiler and the walker/visitor framework well ;-), so getting FalconJX to use an HTML.swc would be exactly what I am looking for to do. This is where you can keep doing what you are good at and I can work on what I am good at(code rendering). Can I ask you to start another thread and outline what you see needs to be done to accomplish what is in your mind dealing with FalconJX and the HTML.swc? If you can just brainstorm, then I can ask you
Re: [FalconJX] AS for Native HTML JS (was Re: [FalconJX FlexJS] JIRA issues and helping with the compiler)
On Thu, May 28, 2015 at 11:00 AM, Josh Tynjala joshtynj...@gmail.com wrote: Well, the original plan of matching TypeScript's output is fine with me. I didn't mean to confuse you by throwing something extra in there. I haven't looked as closely at Babel, but I heard good things. I figured knowledge of Babel would be good to have around to sanity check things in case TypeScript's output had unexpected issues. Yeah one of them that I wouldn't have caught early on would be accessors support. Well for now, I will match TypeScripts output and we can use Bable's way of calling super on accessors. I will just make sure to leave it swappable, or try to, sometimes with AST walking things get spider webed quick, which I am going to try and avoid by using more composition. If this intrigues you enough to start writing a framework, :) we can nail the details later. Did you see ALex's question to you about goog dependencies and if you had a problem with that? Mike - Josh On May 28, 2015 7:47 AM, Michael Schmalle teotigraphix...@gmail.com wrote: Well see Josh, I am good at writing cross compilers but have spent hardly any time understanding all the nuances of javascript. Each time I have written this thing, I have had a spec given to me by others that I made work. So I am kind of looking for that spec here so I have something concrete to generate. I don't have enough experience to know what it should be for the needs of a proper javascript impl and actionscript cross compile. Mike On Thu, May 28, 2015 at 10:34 AM, Josh Tynjala joshtynj...@gmail.com wrote: Yeah, the ES5 output. While I think the output looks good from TypeScript, I figured it wouldn't hurt to point out an alternative. I'm sure it's pretty similar, but when it comes to the little details, you might see something there that you like better. - Josh On May 27, 2015 4:01 PM, Michael Schmalle teotigraphix...@gmail.com wrote: So basically your saying the output of ES5 from Babel? Mike On Wed, May 27, 2015 at 6:47 PM, Josh Tynjala joshtynj...@gmail.com wrote: You might also consider looking at the output of Babel. Babel transpiles ECMAScript 6 back to older versions of the language that are more widely supported today. TypeScript is trying to be a superset of ES6, so it should be pretty similar. http://babeljs.io - Josh On Wed, May 27, 2015 at 2:23 PM, Michael Schmalle teotigraphix...@gmail.com wrote: Ok Update. I have been researching TypeScript and it's output, this is what I am doing. For some reason this just makes sense to me and the are 100's of examples I can use to test the code generation against. Josh, I would say if you want to start experimenting with your framework, use what you just showed me as a base and I can meet you in the middle, then we can figure our the quirks together. I will/am start/ing working on this ASAP. Mike On Wed, May 27, 2015 at 4:54 PM, Michael Schmalle teotigraphix...@gmail.com wrote: Ok, I am a doer... :) Since this is all POC right now and I am up to learn some JS, I will use this as a format. I have done this JSEmitter 2 times now so the 3rd isn't going to be that hard, maybe the charm for me to. Note, most of the expressions and statements are already done. As noted, inheritance, scope and set/get always are the pains but if I have a target output protocol like TypeScript's output, why not emulate it. Alex, I know what you are thinking... Don't. :) My gut feeling is, if I start from the ground up and have NO dependencies on anything, I will do this twice as fast. I am very good at refactoring so once I have tests working on the generated .js, we can see what could be abstracted to and from this emitter and FlexJS. I really think for my own sanity, I need to start in isolation and not get in FlexJS's way either, that is another pro for me, no commit conflicts, nothing of that nature. Thoughts Josh, Alex? Mike On Wed, May 27, 2015 at 4:40 PM, Josh Tynjala joshtynj...@gmail.com wrote: When I played with TypeScript, I loved that I could subclass CreateJS prototypes very easily. As long as something like that is possible from ActionScript (assuming I could provide a SWC or something for CreateJS or whichever library I want to use), I don't have too strong of an opinion on how the final JavaScript looks. I'll just say that I like
Re: [FalconJX FlexJS] JIRA issues and helping with the compiler
On Wed, May 27, 2015 at 10:46 AM, Michael Schmalle teotigraphix...@gmail.com wrote: Alex, Thinking about this more. I have 1 or 2 apps that are more administrative such as a library manager, MIDI importer, metadata manager for the Caustic files that are on the device. Seeing that HTML is more text/editor centric, I could see myself trying to get the native extension working sooner than later and using the framework/components to build these simpler apps. This might actually be a good thing since those apps are more secondary to the main ones. The other apps are quite graphic intensive and I don't know exactly how easy they will be to create in straight HTML. I am thinking more webgl/feathers like implementation will be needed for the graphics. Albeit, I am still ignorant to what kind of graphics I could do on Android with either the embedded web view Cordova provides or some other option. As you can see I am REALLY trying to find a reason to set aside a good amount of time to get this project moving on the low level. @Om this is why I was interested in what you were thinking about FXG/SVG and having components use them. It would be easier to use that then Bitmaps, maybe, I guess I use straight Bitmaps with Feathers so I don't know. :) Do you have an example of what kind of stuff you want to draw for your apps? If you can give me some direction, we could collaboratively start hacking on it. Thanks, Om Mike On Wed, May 27, 2015 at 12:52 PM, Michael Schmalle teotigraphix...@gmail.com wrote: On Wed, May 27, 2015 at 12:37 PM, Alex Harui aha...@adobe.com wrote: On 5/27/15, 9:02 AM, Michael Schmalle teotigraphix...@gmail.com wrote: In the FlexJS and FalconJX categories there is not much and just assuming since your are basically the main committer on the compiler right now, that you just fix stuff and don't enter issues. Yep. Although if more folks are going to work on stuff I’ll be more motivated to file tickets. That said, is there anything that you know about with the compiler FalconJX/FlexJS that I could work on to get my feet wet? Or are your TODOs more based on the fact you know exactly what is going on there and I can't do much until I fully understand the tool chain of FlexJS and GCC? I don’t think I have a list in my head that will help you learn the tool chain. I want to suppress the GCC warnings, but I don’t think that will teach you much. I want to explore Josh’s idea of FalconJX with a native HTML swc so we can write all of our JS code in AS. If you want to work on that, that would be awesome, but it may not teach you how the FlexJS workflow is supposed to go. Ok, that answered my question. Well, when I said teach I just meant getting into the code. Really, I know the base part of the compiler and the walker/visitor framework well ;-), so getting FalconJX to use an HTML.swc would be exactly what I am looking for to do. This is where you can keep doing what you are good at and I can work on what I am good at(code rendering). Can I ask you to start another thread and outline what you see needs to be done to accomplish what is in your mind dealing with FalconJX and the HTML.swc? If you can just brainstorm, then I can ask you questions to fill in the gaps that I am not seeing. Peter and I are working on our own apps that use FlexJS. It rarely works like we’d like it to, then we fix the compiler or FlexJS code until it does. It might be best for you to simply start on a test app that uses your NativeExtension and try to get it working in Cordova. Or, if that feels like too big a bite, I’ll push the app I’m working on and you can work on it as well if you find it interesting. This would be beneficial for me as well and probably others. I could see myself learning from something you are actively working on and looking at your commits. Right now I have a September target for about 4-5 Feathers mobile Android apps I am working on to release based on Caustic audio engine, that is my income. :) So the Crodova experiment I see coming in the Fall/Winter when I am more sound in what's going on and the component framework is a bit more mature. As always, I’m glad you have your and Fred’s and everyone else’s help. Yeah, well if my apps take off, which they should since I am working with the dev of Caustic, I will have a 100% excuse to keep working on this project for the foreseeable future. As you can see, with apps selling using native extensions and AIR, my motivation to get them to work in HTML/Cordova increases 10 fold because they are already successful on one platform. This is a good thing. Mike -Alex
Re: [FalconJX FlexJS] JIRA issues and helping with the compiler
@Om Checkout page 1 and 2 of this thread. I am using OSC and AIR/Feathers to control Bitwig(Audio DAW). http://www.kvraudio.com/forum/viewtopic.php?f=259t=435857 The above is the same type of stuff I am drawing in my Caustic apps. Let me know if that makes sense to you. Mike On Wed, May 27, 2015 at 1:52 PM, OmPrakash Muppirala bigosma...@gmail.com wrote: On Wed, May 27, 2015 at 10:46 AM, Michael Schmalle teotigraphix...@gmail.com wrote: Alex, Thinking about this more. I have 1 or 2 apps that are more administrative such as a library manager, MIDI importer, metadata manager for the Caustic files that are on the device. Seeing that HTML is more text/editor centric, I could see myself trying to get the native extension working sooner than later and using the framework/components to build these simpler apps. This might actually be a good thing since those apps are more secondary to the main ones. The other apps are quite graphic intensive and I don't know exactly how easy they will be to create in straight HTML. I am thinking more webgl/feathers like implementation will be needed for the graphics. Albeit, I am still ignorant to what kind of graphics I could do on Android with either the embedded web view Cordova provides or some other option. As you can see I am REALLY trying to find a reason to set aside a good amount of time to get this project moving on the low level. @Om this is why I was interested in what you were thinking about FXG/SVG and having components use them. It would be easier to use that then Bitmaps, maybe, I guess I use straight Bitmaps with Feathers so I don't know. :) Do you have an example of what kind of stuff you want to draw for your apps? If you can give me some direction, we could collaboratively start hacking on it. Thanks, Om Mike On Wed, May 27, 2015 at 12:52 PM, Michael Schmalle teotigraphix...@gmail.com wrote: On Wed, May 27, 2015 at 12:37 PM, Alex Harui aha...@adobe.com wrote: On 5/27/15, 9:02 AM, Michael Schmalle teotigraphix...@gmail.com wrote: In the FlexJS and FalconJX categories there is not much and just assuming since your are basically the main committer on the compiler right now, that you just fix stuff and don't enter issues. Yep. Although if more folks are going to work on stuff I’ll be more motivated to file tickets. That said, is there anything that you know about with the compiler FalconJX/FlexJS that I could work on to get my feet wet? Or are your TODOs more based on the fact you know exactly what is going on there and I can't do much until I fully understand the tool chain of FlexJS and GCC? I don’t think I have a list in my head that will help you learn the tool chain. I want to suppress the GCC warnings, but I don’t think that will teach you much. I want to explore Josh’s idea of FalconJX with a native HTML swc so we can write all of our JS code in AS. If you want to work on that, that would be awesome, but it may not teach you how the FlexJS workflow is supposed to go. Ok, that answered my question. Well, when I said teach I just meant getting into the code. Really, I know the base part of the compiler and the walker/visitor framework well ;-), so getting FalconJX to use an HTML.swc would be exactly what I am looking for to do. This is where you can keep doing what you are good at and I can work on what I am good at(code rendering). Can I ask you to start another thread and outline what you see needs to be done to accomplish what is in your mind dealing with FalconJX and the HTML.swc? If you can just brainstorm, then I can ask you questions to fill in the gaps that I am not seeing. Peter and I are working on our own apps that use FlexJS. It rarely works like we’d like it to, then we fix the compiler or FlexJS code until it does. It might be best for you to simply start on a test app that uses your NativeExtension and try to get it working in Cordova. Or, if that feels like too big a bite, I’ll push the app I’m working on and you can work on it as well if you find it interesting. This would be beneficial for me as well and probably others. I could see myself learning from something you are actively working on and looking at your commits. Right now I have a September target for about 4-5 Feathers mobile Android apps I am working on to release based on Caustic audio engine, that is my income. :) So the Crodova experiment I see coming in the Fall/Winter when I am more sound in what's going on and the component framework is a bit more mature. As always, I’m glad you have your and Fred’s and everyone else’s help. Yeah, well if my apps take off, which they should since I am working with the
Re: [FalconJX FlexJS] JIRA issues and helping with the compiler
On Wed, May 27, 2015 at 10:58 AM, Michael Schmalle teotigraphix...@gmail.com wrote: @Om Checkout page 1 and 2 of this thread. I am using OSC and AIR/Feathers to control Bitwig(Audio DAW). http://www.kvraudio.com/forum/viewtopic.php?f=259t=435857 The above is the same type of stuff I am drawing in my Caustic apps. Let me know if that makes sense to you. I am unable to see any images displayed on that page. It says: You do not have the required permissions to view the files attached to this post. Thanks, Om Mike On Wed, May 27, 2015 at 1:52 PM, OmPrakash Muppirala bigosma...@gmail.com wrote: On Wed, May 27, 2015 at 10:46 AM, Michael Schmalle teotigraphix...@gmail.com wrote: Alex, Thinking about this more. I have 1 or 2 apps that are more administrative such as a library manager, MIDI importer, metadata manager for the Caustic files that are on the device. Seeing that HTML is more text/editor centric, I could see myself trying to get the native extension working sooner than later and using the framework/components to build these simpler apps. This might actually be a good thing since those apps are more secondary to the main ones. The other apps are quite graphic intensive and I don't know exactly how easy they will be to create in straight HTML. I am thinking more webgl/feathers like implementation will be needed for the graphics. Albeit, I am still ignorant to what kind of graphics I could do on Android with either the embedded web view Cordova provides or some other option. As you can see I am REALLY trying to find a reason to set aside a good amount of time to get this project moving on the low level. @Om this is why I was interested in what you were thinking about FXG/SVG and having components use them. It would be easier to use that then Bitmaps, maybe, I guess I use straight Bitmaps with Feathers so I don't know. :) Do you have an example of what kind of stuff you want to draw for your apps? If you can give me some direction, we could collaboratively start hacking on it. Thanks, Om Mike On Wed, May 27, 2015 at 12:52 PM, Michael Schmalle teotigraphix...@gmail.com wrote: On Wed, May 27, 2015 at 12:37 PM, Alex Harui aha...@adobe.com wrote: On 5/27/15, 9:02 AM, Michael Schmalle teotigraphix...@gmail.com wrote: In the FlexJS and FalconJX categories there is not much and just assuming since your are basically the main committer on the compiler right now, that you just fix stuff and don't enter issues. Yep. Although if more folks are going to work on stuff I’ll be more motivated to file tickets. That said, is there anything that you know about with the compiler FalconJX/FlexJS that I could work on to get my feet wet? Or are your TODOs more based on the fact you know exactly what is going on there and I can't do much until I fully understand the tool chain of FlexJS and GCC? I don’t think I have a list in my head that will help you learn the tool chain. I want to suppress the GCC warnings, but I don’t think that will teach you much. I want to explore Josh’s idea of FalconJX with a native HTML swc so we can write all of our JS code in AS. If you want to work on that, that would be awesome, but it may not teach you how the FlexJS workflow is supposed to go. Ok, that answered my question. Well, when I said teach I just meant getting into the code. Really, I know the base part of the compiler and the walker/visitor framework well ;-), so getting FalconJX to use an HTML.swc would be exactly what I am looking for to do. This is where you can keep doing what you are good at and I can work on what I am good at(code rendering). Can I ask you to start another thread and outline what you see needs to be done to accomplish what is in your mind dealing with FalconJX and the HTML.swc? If you can just brainstorm, then I can ask you questions to fill in the gaps that I am not seeing. Peter and I are working on our own apps that use FlexJS. It rarely works like we’d like it to, then we fix the compiler or FlexJS code until it does. It might be best for you to simply start on a test app that uses your NativeExtension and try to get it working in Cordova. Or, if that feels like too big a bite, I’ll push the app I’m working on and you can work on it as well if you find it interesting. This would be beneficial for me as well and probably others. I could see myself learning from something you are actively working on and looking at your commits. Right now I have a September target for about 4-5 Feathers mobile Android apps I am working on to
Re: [FalconJX FlexJS] JIRA issues and helping with the compiler
Ok, I will have these screenshots then. Must I didn't know non logged in people couldn't view images on KVR. http://snag.gy/ajFEZ.jpg http://snag.gy/vCJen.jpg http://snag.gy/785HX.jpg Mike On Wed, May 27, 2015 at 2:01 PM, OmPrakash Muppirala bigosma...@gmail.com wrote: On Wed, May 27, 2015 at 10:58 AM, Michael Schmalle teotigraphix...@gmail.com wrote: @Om Checkout page 1 and 2 of this thread. I am using OSC and AIR/Feathers to control Bitwig(Audio DAW). http://www.kvraudio.com/forum/viewtopic.php?f=259t=435857 The above is the same type of stuff I am drawing in my Caustic apps. Let me know if that makes sense to you. I am unable to see any images displayed on that page. It says: You do not have the required permissions to view the files attached to this post. Thanks, Om Mike On Wed, May 27, 2015 at 1:52 PM, OmPrakash Muppirala bigosma...@gmail.com wrote: On Wed, May 27, 2015 at 10:46 AM, Michael Schmalle teotigraphix...@gmail.com wrote: Alex, Thinking about this more. I have 1 or 2 apps that are more administrative such as a library manager, MIDI importer, metadata manager for the Caustic files that are on the device. Seeing that HTML is more text/editor centric, I could see myself trying to get the native extension working sooner than later and using the framework/components to build these simpler apps. This might actually be a good thing since those apps are more secondary to the main ones. The other apps are quite graphic intensive and I don't know exactly how easy they will be to create in straight HTML. I am thinking more webgl/feathers like implementation will be needed for the graphics. Albeit, I am still ignorant to what kind of graphics I could do on Android with either the embedded web view Cordova provides or some other option. As you can see I am REALLY trying to find a reason to set aside a good amount of time to get this project moving on the low level. @Om this is why I was interested in what you were thinking about FXG/SVG and having components use them. It would be easier to use that then Bitmaps, maybe, I guess I use straight Bitmaps with Feathers so I don't know. :) Do you have an example of what kind of stuff you want to draw for your apps? If you can give me some direction, we could collaboratively start hacking on it. Thanks, Om Mike On Wed, May 27, 2015 at 12:52 PM, Michael Schmalle teotigraphix...@gmail.com wrote: On Wed, May 27, 2015 at 12:37 PM, Alex Harui aha...@adobe.com wrote: On 5/27/15, 9:02 AM, Michael Schmalle teotigraphix...@gmail.com wrote: In the FlexJS and FalconJX categories there is not much and just assuming since your are basically the main committer on the compiler right now, that you just fix stuff and don't enter issues. Yep. Although if more folks are going to work on stuff I’ll be more motivated to file tickets. That said, is there anything that you know about with the compiler FalconJX/FlexJS that I could work on to get my feet wet? Or are your TODOs more based on the fact you know exactly what is going on there and I can't do much until I fully understand the tool chain of FlexJS and GCC? I don’t think I have a list in my head that will help you learn the tool chain. I want to suppress the GCC warnings, but I don’t think that will teach you much. I want to explore Josh’s idea of FalconJX with a native HTML swc so we can write all of our JS code in AS. If you want to work on that, that would be awesome, but it may not teach you how the FlexJS workflow is supposed to go. Ok, that answered my question. Well, when I said teach I just meant getting into the code. Really, I know the base part of the compiler and the walker/visitor framework well ;-), so getting FalconJX to use an HTML.swc would be exactly what I am looking for to do. This is where you can keep doing what you are good at and I can work on what I am good at(code rendering). Can I ask you to start another thread and outline what you see needs to be done to accomplish what is in your mind dealing with FalconJX and the HTML.swc? If you can just brainstorm, then I can ask you questions to fill in the gaps that I am not seeing. Peter and I are working on our own apps that use FlexJS. It rarely works like we’d like it to, then we fix the compiler or FlexJS code until it does. It might be best for you to simply start on a test app that uses your NativeExtension and try to get it working in
Re: [FalconJX FlexJS] JIRA issues and helping with the compiler
Kewl, I figured as much but I don't have the experience with HTML/SVG I would be learning through this. Well you will have to treat me like a kid but I am willing to help you out on this graphics stuff. Mike On Wed, May 27, 2015 at 2:17 PM, OmPrakash Muppirala bigosma...@gmail.com wrote: On Wed, May 27, 2015 at 11:06 AM, Michael Schmalle teotigraphix...@gmail.com wrote: Ok, I will have these screenshots then. Must I didn't know non logged in people couldn't view images on KVR. http://snag.gy/ajFEZ.jpg http://snag.gy/vCJen.jpg http://snag.gy/785HX.jpg This helps, thanks! From these screenshots, FlexJS can handle most things - from a rendering point of view. It just looks like a combination of primitives (rect, ellipse, line, linear gradients, etc.) Which means that you just write MXML/AS3 code and most of the Javascript (+SVG) code can be generated. The things missing are RadialGradients and some filters like DropShadow and Glow. I don't think it would be too hard to add this. There might be more issues, but I guess they will become more obvious as we start building this out. But, this looks like a very good usecase for skinnable components. Thanks, Om Mike On Wed, May 27, 2015 at 2:01 PM, OmPrakash Muppirala bigosma...@gmail.com wrote: On Wed, May 27, 2015 at 10:58 AM, Michael Schmalle teotigraphix...@gmail.com wrote: @Om Checkout page 1 and 2 of this thread. I am using OSC and AIR/Feathers to control Bitwig(Audio DAW). http://www.kvraudio.com/forum/viewtopic.php?f=259t=435857 The above is the same type of stuff I am drawing in my Caustic apps. Let me know if that makes sense to you. I am unable to see any images displayed on that page. It says: You do not have the required permissions to view the files attached to this post. Thanks, Om Mike On Wed, May 27, 2015 at 1:52 PM, OmPrakash Muppirala bigosma...@gmail.com wrote: On Wed, May 27, 2015 at 10:46 AM, Michael Schmalle teotigraphix...@gmail.com wrote: Alex, Thinking about this more. I have 1 or 2 apps that are more administrative such as a library manager, MIDI importer, metadata manager for the Caustic files that are on the device. Seeing that HTML is more text/editor centric, I could see myself trying to get the native extension working sooner than later and using the framework/components to build these simpler apps. This might actually be a good thing since those apps are more secondary to the main ones. The other apps are quite graphic intensive and I don't know exactly how easy they will be to create in straight HTML. I am thinking more webgl/feathers like implementation will be needed for the graphics. Albeit, I am still ignorant to what kind of graphics I could do on Android with either the embedded web view Cordova provides or some other option. As you can see I am REALLY trying to find a reason to set aside a good amount of time to get this project moving on the low level. @Om this is why I was interested in what you were thinking about FXG/SVG and having components use them. It would be easier to use that then Bitmaps, maybe, I guess I use straight Bitmaps with Feathers so I don't know. :) Do you have an example of what kind of stuff you want to draw for your apps? If you can give me some direction, we could collaboratively start hacking on it. Thanks, Om Mike On Wed, May 27, 2015 at 12:52 PM, Michael Schmalle teotigraphix...@gmail.com wrote: On Wed, May 27, 2015 at 12:37 PM, Alex Harui aha...@adobe.com wrote: On 5/27/15, 9:02 AM, Michael Schmalle teotigraphix...@gmail.com wrote: In the FlexJS and FalconJX categories there is not much and just assuming since your are basically the main committer on the compiler right now, that you just fix stuff and don't enter issues. Yep. Although if more folks are going to work on stuff I’ll be more motivated to file tickets. That said, is there anything that you know about with the compiler FalconJX/FlexJS that I could work on to get my feet wet? Or are your TODOs more based on the fact you know exactly what is going on there and I can't do much until I fully understand the tool chain of FlexJS and GCC? I don’t think I have a list in my head that will help you learn the tool chain. I want to suppress the GCC warnings, but I don’t think that
[FalconJX] AS for Native HTML JS (was Re: [FalconJX FlexJS] JIRA issues and helping with the compiler)
New thread: On 5/27/15, 9:52 AM, Michael Schmalle teotigraphix...@gmail.com wrote: Well, when I said teach I just meant getting into the code. Really, I know the base part of the compiler and the walker/visitor framework well ;-), so getting FalconJX to use an HTML.swc would be exactly what I am looking for to do. This is where you can keep doing what you are good at and I can work on what I am good at(code rendering). Can I ask you to start another thread and outline what you see needs to be done to accomplish what is in your mind dealing with FalconJX and the HTML.swc? If you can just brainstorm, then I can ask you questions to fill in the gaps that I am not seeing. As I see it, FalconJX should just be able to grab some SWCs and cross-compile some AS based on definitions in the SWCs. Right now we feed it playerglobal/airglobal and FlexJS swcs with UIBase widgets, but in theory, as Josh suggests we should be able to replace those SWCs with just: jsglobal.swc: Object Number String what else? HTML.swc: Window Event UIEvent MouseEvent HTMLElement etc. Then folks should be able to test drive FalconJX by running some AS through it to get any JS they normally use in their web apps, and we should be able to stop writing any JS at all. All files in flex-asjs that are currently .JS files should be able to be written in AS and cross-compiled with only those two SWCs. I can tell you that it would probably have saved us much time if we had this already. It is painful doing .JS code simply in the writing of ‘this.’ and ‘prototype’. Anyway, that’s as far as I’ve thought on this subject. As you said in another thread this is where we’d have to prove there are no hard-coded dependencies in Falcon/FalconJX on playerglobal/airglobal. OK, one more thought: there may be reverse-engineering issues about replacing playerglobal/airglobal, but I was hoping we might find some Tamarin code laying around that has what we’d start with for jsglobal.swc. -Alex
Re: [FalconJX] AS for Native HTML JS (was Re: [FalconJX FlexJS] JIRA issues and helping with the compiler)
On Wed, May 27, 2015 at 2:50 PM, Alex Harui aha...@adobe.com wrote: New thread: On 5/27/15, 9:52 AM, Michael Schmalle teotigraphix...@gmail.com wrote: Well, when I said teach I just meant getting into the code. Really, I know the base part of the compiler and the walker/visitor framework well ;-), so getting FalconJX to use an HTML.swc would be exactly what I am looking for to do. This is where you can keep doing what you are good at and I can work on what I am good at(code rendering). Can I ask you to start another thread and outline what you see needs to be done to accomplish what is in your mind dealing with FalconJX and the HTML.swc? If you can just brainstorm, then I can ask you questions to fill in the gaps that I am not seeing. As I see it, FalconJX should just be able to grab some SWCs and cross-compile some AS based on definitions in the SWCs. Right now we feed it playerglobal/airglobal and FlexJS swcs with UIBase widgets, but in theory, as Josh suggests we should be able to replace those SWCs with just: jsglobal.swc: Object Number String what else? HTML.swc: Window Event UIEvent MouseEvent HTMLElement etc. See for HTML lib, Roland used WebIDL parser to create it; https://github.com/RandoriAS/randori-libraries/tree/master/HTMLCoreLib The builtin.swc we made; https://github.com/RandoriAS/randori-tools/tree/develop/RandoriBuiltin Read the README, does this violate anything? Then folks should be able to test drive FalconJX by running some AS through it to get any JS they normally use in their web apps, and we should be able to stop writing any JS at all. All files in flex-asjs that are currently .JS files should be able to be written in AS and cross-compiled with only those two SWCs. I can tell you that it would probably have saved us much time if we had this already. It is painful doing .JS code simply in the writing of ‘this.’ and ‘prototype’. Yeah, not to mention compile time checking. :) Anyway, that’s as far as I’ve thought on this subject. As you said in another thread this is where we’d have to prove there are no hard-coded dependencies in Falcon/FalconJX on playerglobal/airglobal. See the above links and give feedback on what you think. OK, one more thought: there may be reverse-engineering issues about replacing playerglobal/airglobal, but I was hoping we might find some Tamarin code laying around that has what we’d start with for jsglobal.swc. I think this is what Roland actually did, I know he found it some where(how to build the builtin.swc Randori used). Question; So the code style, you said we might use the FlexJS emitter but I don't see how that is possible since it's not a vanilla emitter. It seems to me I need to know the exact code style that a vanilla transpiler will create and I can make that emitter as another backend, what do you think? @Josj you have any thoughts? I am ready to start writing it. :) Mike -Alex
Re: [FalconJX] AS for Native HTML JS (was Re: [FalconJX FlexJS] JIRA issues and helping with the compiler)
OK, one more thought: there may be reverse-engineering issues about replacing playerglobal/airglobal, but I was hoping we might find some Tamarin code laying around that has what we’d start with for jsglobal.swc. Hmmm, yeah I re-read the Builtin, I really thought Roland did use code from an opensource flash player impl. Actually if my memory serves me, if that is not what is going on here, than that was the problem with Object and Roland then found a workaround. Mike On Wed, May 27, 2015 at 3:02 PM, Michael Schmalle teotigraphix...@gmail.com wrote: On Wed, May 27, 2015 at 2:50 PM, Alex Harui aha...@adobe.com wrote: New thread: On 5/27/15, 9:52 AM, Michael Schmalle teotigraphix...@gmail.com wrote: Well, when I said teach I just meant getting into the code. Really, I know the base part of the compiler and the walker/visitor framework well ;-), so getting FalconJX to use an HTML.swc would be exactly what I am looking for to do. This is where you can keep doing what you are good at and I can work on what I am good at(code rendering). Can I ask you to start another thread and outline what you see needs to be done to accomplish what is in your mind dealing with FalconJX and the HTML.swc? If you can just brainstorm, then I can ask you questions to fill in the gaps that I am not seeing. As I see it, FalconJX should just be able to grab some SWCs and cross-compile some AS based on definitions in the SWCs. Right now we feed it playerglobal/airglobal and FlexJS swcs with UIBase widgets, but in theory, as Josh suggests we should be able to replace those SWCs with just: jsglobal.swc: Object Number String what else? HTML.swc: Window Event UIEvent MouseEvent HTMLElement etc. See for HTML lib, Roland used WebIDL parser to create it; https://github.com/RandoriAS/randori-libraries/tree/master/HTMLCoreLib The builtin.swc we made; https://github.com/RandoriAS/randori-tools/tree/develop/RandoriBuiltin Read the README, does this violate anything? Then folks should be able to test drive FalconJX by running some AS through it to get any JS they normally use in their web apps, and we should be able to stop writing any JS at all. All files in flex-asjs that are currently .JS files should be able to be written in AS and cross-compiled with only those two SWCs. I can tell you that it would probably have saved us much time if we had this already. It is painful doing .JS code simply in the writing of ‘this.’ and ‘prototype’. Yeah, not to mention compile time checking. :) Anyway, that’s as far as I’ve thought on this subject. As you said in another thread this is where we’d have to prove there are no hard-coded dependencies in Falcon/FalconJX on playerglobal/airglobal. See the above links and give feedback on what you think. OK, one more thought: there may be reverse-engineering issues about replacing playerglobal/airglobal, but I was hoping we might find some Tamarin code laying around that has what we’d start with for jsglobal.swc. I think this is what Roland actually did, I know he found it some where(how to build the builtin.swc Randori used). Question; So the code style, you said we might use the FlexJS emitter but I don't see how that is possible since it's not a vanilla emitter. It seems to me I need to know the exact code style that a vanilla transpiler will create and I can make that emitter as another backend, what do you think? @Josj you have any thoughts? I am ready to start writing it. :) Mike -Alex
Re: [FalconJX FlexJS] JIRA issues and helping with the compiler
On Wed, May 27, 2015 at 12:37 PM, Alex Harui aha...@adobe.com wrote: On 5/27/15, 9:02 AM, Michael Schmalle teotigraphix...@gmail.com wrote: In the FlexJS and FalconJX categories there is not much and just assuming since your are basically the main committer on the compiler right now, that you just fix stuff and don't enter issues. Yep. Although if more folks are going to work on stuff I’ll be more motivated to file tickets. That said, is there anything that you know about with the compiler FalconJX/FlexJS that I could work on to get my feet wet? Or are your TODOs more based on the fact you know exactly what is going on there and I can't do much until I fully understand the tool chain of FlexJS and GCC? I don’t think I have a list in my head that will help you learn the tool chain. I want to suppress the GCC warnings, but I don’t think that will teach you much. I want to explore Josh’s idea of FalconJX with a native HTML swc so we can write all of our JS code in AS. If you want to work on that, that would be awesome, but it may not teach you how the FlexJS workflow is supposed to go. Ok, that answered my question. Well, when I said teach I just meant getting into the code. Really, I know the base part of the compiler and the walker/visitor framework well ;-), so getting FalconJX to use an HTML.swc would be exactly what I am looking for to do. This is where you can keep doing what you are good at and I can work on what I am good at(code rendering). Can I ask you to start another thread and outline what you see needs to be done to accomplish what is in your mind dealing with FalconJX and the HTML.swc? If you can just brainstorm, then I can ask you questions to fill in the gaps that I am not seeing. Peter and I are working on our own apps that use FlexJS. It rarely works like we’d like it to, then we fix the compiler or FlexJS code until it does. It might be best for you to simply start on a test app that uses your NativeExtension and try to get it working in Cordova. Or, if that feels like too big a bite, I’ll push the app I’m working on and you can work on it as well if you find it interesting. This would be beneficial for me as well and probably others. I could see myself learning from something you are actively working on and looking at your commits. Right now I have a September target for about 4-5 Feathers mobile Android apps I am working on to release based on Caustic audio engine, that is my income. :) So the Crodova experiment I see coming in the Fall/Winter when I am more sound in what's going on and the component framework is a bit more mature. As always, I’m glad you have your and Fred’s and everyone else’s help. Yeah, well if my apps take off, which they should since I am working with the dev of Caustic, I will have a 100% excuse to keep working on this project for the foreseeable future. As you can see, with apps selling using native extensions and AIR, my motivation to get them to work in HTML/Cordova increases 10 fold because they are already successful on one platform. This is a good thing. Mike -Alex
Re: [FalconJX FlexJS] JIRA issues and helping with the compiler
On 5/27/15, 9:02 AM, Michael Schmalle teotigraphix...@gmail.com wrote: Alex, mainly aimed at you. I was skimming the JIRA in FlexJS and have a couple questions. What is the difference between; Apache ASJS 1.0 https://issues.apache.org/jira/browse/FLEX/fixforversion/12324434 Apache FlexJS 1.0 https://issues.apache.org/jira/browse/FLEX/fixforversion/12324435 Is the ASJS the first thing you called it then FlexJS? If so, should we remove that category? I was confused for a day or two while looking around. I don’t remember making Apache ASJS, but there are no JIRA tickets associated with it so I just went and deleted it. Thanks for noticing. In the FlexJS and FalconJX categories there is not much and just assuming since your are basically the main committer on the compiler right now, that you just fix stuff and don't enter issues. Yep. Although if more folks are going to work on stuff I’ll be more motivated to file tickets. That said, is there anything that you know about with the compiler FalconJX/FlexJS that I could work on to get my feet wet? Or are your TODOs more based on the fact you know exactly what is going on there and I can't do much until I fully understand the tool chain of FlexJS and GCC? I don’t think I have a list in my head that will help you learn the tool chain. I want to suppress the GCC warnings, but I don’t think that will teach you much. I want to explore Josh’s idea of FalconJX with a native HTML swc so we can write all of our JS code in AS. If you want to work on that, that would be awesome, but it may not teach you how the FlexJS workflow is supposed to go. Peter and I are working on our own apps that use FlexJS. It rarely works like we’d like it to, then we fix the compiler or FlexJS code until it does. It might be best for you to simply start on a test app that uses your NativeExtension and try to get it working in Cordova. Or, if that feels like too big a bite, I’ll push the app I’m working on and you can work on it as well if you find it interesting. As always, I’m glad you have your and Fred’s and everyone else’s help. -Alex
Re: [FalconJX FlexJS] JIRA issues and helping with the compiler
Alex, Thinking about this more. I have 1 or 2 apps that are more administrative such as a library manager, MIDI importer, metadata manager for the Caustic files that are on the device. Seeing that HTML is more text/editor centric, I could see myself trying to get the native extension working sooner than later and using the framework/components to build these simpler apps. This might actually be a good thing since those apps are more secondary to the main ones. The other apps are quite graphic intensive and I don't know exactly how easy they will be to create in straight HTML. I am thinking more webgl/feathers like implementation will be needed for the graphics. Albeit, I am still ignorant to what kind of graphics I could do on Android with either the embedded web view Cordova provides or some other option. As you can see I am REALLY trying to find a reason to set aside a good amount of time to get this project moving on the low level. @Om this is why I was interested in what you were thinking about FXG/SVG and having components use them. It would be easier to use that then Bitmaps, maybe, I guess I use straight Bitmaps with Feathers so I don't know. :) Mike On Wed, May 27, 2015 at 12:52 PM, Michael Schmalle teotigraphix...@gmail.com wrote: On Wed, May 27, 2015 at 12:37 PM, Alex Harui aha...@adobe.com wrote: On 5/27/15, 9:02 AM, Michael Schmalle teotigraphix...@gmail.com wrote: In the FlexJS and FalconJX categories there is not much and just assuming since your are basically the main committer on the compiler right now, that you just fix stuff and don't enter issues. Yep. Although if more folks are going to work on stuff I’ll be more motivated to file tickets. That said, is there anything that you know about with the compiler FalconJX/FlexJS that I could work on to get my feet wet? Or are your TODOs more based on the fact you know exactly what is going on there and I can't do much until I fully understand the tool chain of FlexJS and GCC? I don’t think I have a list in my head that will help you learn the tool chain. I want to suppress the GCC warnings, but I don’t think that will teach you much. I want to explore Josh’s idea of FalconJX with a native HTML swc so we can write all of our JS code in AS. If you want to work on that, that would be awesome, but it may not teach you how the FlexJS workflow is supposed to go. Ok, that answered my question. Well, when I said teach I just meant getting into the code. Really, I know the base part of the compiler and the walker/visitor framework well ;-), so getting FalconJX to use an HTML.swc would be exactly what I am looking for to do. This is where you can keep doing what you are good at and I can work on what I am good at(code rendering). Can I ask you to start another thread and outline what you see needs to be done to accomplish what is in your mind dealing with FalconJX and the HTML.swc? If you can just brainstorm, then I can ask you questions to fill in the gaps that I am not seeing. Peter and I are working on our own apps that use FlexJS. It rarely works like we’d like it to, then we fix the compiler or FlexJS code until it does. It might be best for you to simply start on a test app that uses your NativeExtension and try to get it working in Cordova. Or, if that feels like too big a bite, I’ll push the app I’m working on and you can work on it as well if you find it interesting. This would be beneficial for me as well and probably others. I could see myself learning from something you are actively working on and looking at your commits. Right now I have a September target for about 4-5 Feathers mobile Android apps I am working on to release based on Caustic audio engine, that is my income. :) So the Crodova experiment I see coming in the Fall/Winter when I am more sound in what's going on and the component framework is a bit more mature. As always, I’m glad you have your and Fred’s and everyone else’s help. Yeah, well if my apps take off, which they should since I am working with the dev of Caustic, I will have a 100% excuse to keep working on this project for the foreseeable future. As you can see, with apps selling using native extensions and AIR, my motivation to get them to work in HTML/Cordova increases 10 fold because they are already successful on one platform. This is a good thing. Mike -Alex
Re: [FalconJX] AS for Native HTML JS (was Re: [FalconJX FlexJS] JIRA issues and helping with the compiler)
On Wed, May 27, 2015 at 4:02 PM, Alex Harui aha...@adobe.com wrote: This is where, for Apache projects, it gets tricky/messy. Tamarin code is MPL (or xGPL) and Apache doesn’t like have source code dependencies on those licenses. You can have a dependency on compiled MPL code so if there was a swc in a stable place that contained those compiled Tamarin .as files then we’d be good to go. Otherwise, we may need to get an exception or get Adobe to re-license. Not sure how hard that will be. And just linking to Randori may be seen as a valid way to get around it either since the Randori folks are also Flex committers. Ok, well I emailed Roland and asked if he could enlighten me it's been so long, I feel dumb when talking about Randori. We did not have playerglobal.swc and used FalconJX so it has to work and if the wheel has already been created, I see no reason in reinventing it, we would just use built, could I for instance as a separate entity fork that repo to mine and then I maintain the code and compile it if wee need to, then get the swc from my repo? HTML.swc: Window Event UIEvent MouseEvent HTMLElement etc. See for HTML lib, Roland used WebIDL parser to create it; https://github.com/RandoriAS/randori-libraries/tree/master/HTMLCoreLib I couldn’t quickly find the rules around IDL and WebIDL Parser to figure out if we can do the same. Can you point us to links and licenses? I need Roland's advice here, I had nothing to do with this part of the project. Question; So the code style, you said we might use the FlexJS emitter but I don't see how that is possible since it's not a vanilla emitter. It seems to me I need to know the exact code style that a vanilla transpiler will create and I can make that emitter as another backend, what do you think? @Josj you have any thoughts? I am ready to start writing it. :) I’m not clear what isn’t vanilla about the current emitter if you are writing code against these two SWCs. I don’t know how much Google Closure Library code will actually get sucked in. But it seems reasonable to at least start with the FlexJS emitter then figure out what needs to change. Hmm, ok maybe it's me being numb, I guess I am confusing the MXMLEmitter with the JSEmitter. and what it's doing. I swear I looked at the JSEmitter and it had a bunch of GCC stuff in it and all the comments and such. If I was to maintain a straight transpiler I would want it to be as clean and extensible as possible. On that note; In the Randori emitter I used about 8 class compositions in the JS emitter whcih decoupled a huge amount of code. I think we could do that with the current GFLexJS emitter and share 1/2 to 2/3 of the code base that exists right now. What do you think? Mike -Alex
Re: [FalconJX] AS for Native HTML JS (was Re: [FalconJX FlexJS] JIRA issues and helping with the compiler)
On 5/27/15, 12:05 PM, Michael Schmalle teotigraphix...@gmail.com wrote: OK, one more thought: there may be reverse-engineering issues about replacing playerglobal/airglobal, but I was hoping we might find some Tamarin code laying around that has what we’d start with for jsglobal.swc. Hmmm, yeah I re-read the Builtin, I really thought Roland did use code from an opensource flash player impl. Actually if my memory serves me, if that is not what is going on here, than that was the problem with Object and Roland then found a workaround. This is where, for Apache projects, it gets tricky/messy. Tamarin code is MPL (or xGPL) and Apache doesn’t like have source code dependencies on those licenses. You can have a dependency on compiled MPL code so if there was a swc in a stable place that contained those compiled Tamarin .as files then we’d be good to go. Otherwise, we may need to get an exception or get Adobe to re-license. Not sure how hard that will be. And just linking to Randori may be seen as a valid way to get around it either since the Randori folks are also Flex committers. HTML.swc: Window Event UIEvent MouseEvent HTMLElement etc. See for HTML lib, Roland used WebIDL parser to create it; https://github.com/RandoriAS/randori-libraries/tree/master/HTMLCoreLib I couldn’t quickly find the rules around IDL and WebIDL Parser to figure out if we can do the same. Can you point us to links and licenses? Question; So the code style, you said we might use the FlexJS emitter but I don't see how that is possible since it's not a vanilla emitter. It seems to me I need to know the exact code style that a vanilla transpiler will create and I can make that emitter as another backend, what do you think? @Josj you have any thoughts? I am ready to start writing it. :) I’m not clear what isn’t vanilla about the current emitter if you are writing code against these two SWCs. I don’t know how much Google Closure Library code will actually get sucked in. But it seems reasonable to at least start with the FlexJS emitter then figure out what needs to change. -Alex
Re: [FalconJX] AS for Native HTML JS (was Re: [FalconJX FlexJS] JIRA issues and helping with the compiler)
Ok, I am a doer... :) Since this is all POC right now and I am up to learn some JS, I will use this as a format. I have done this JSEmitter 2 times now so the 3rd isn't going to be that hard, maybe the charm for me to. Note, most of the expressions and statements are already done. As noted, inheritance, scope and set/get always are the pains but if I have a target output protocol like TypeScript's output, why not emulate it. Alex, I know what you are thinking... Don't. :) My gut feeling is, if I start from the ground up and have NO dependencies on anything, I will do this twice as fast. I am very good at refactoring so once I have tests working on the generated .js, we can see what could be abstracted to and from this emitter and FlexJS. I really think for my own sanity, I need to start in isolation and not get in FlexJS's way either, that is another pro for me, no commit conflicts, nothing of that nature. Thoughts Josh, Alex? Mike On Wed, May 27, 2015 at 4:40 PM, Josh Tynjala joshtynj...@gmail.com wrote: When I played with TypeScript, I loved that I could subclass CreateJS prototypes very easily. As long as something like that is possible from ActionScript (assuming I could provide a SWC or something for CreateJS or whichever library I want to use), I don't have too strong of an opinion on how the final JavaScript looks. I'll just say that I like the clean code that the TypeScript compiler outputs. To me, it looked pretty much like what I might write manually, if I were using vanilla JavaScript. Looking at the TypeScript playground, the Inheritance example and the Modules example both look very nice. http://www.typescriptlang.org/Playground - Josh On Wed, May 27, 2015 at 12:02 PM, Michael Schmalle teotigraphix...@gmail.com wrote: On Wed, May 27, 2015 at 2:50 PM, Alex Harui aha...@adobe.com wrote: New thread: On 5/27/15, 9:52 AM, Michael Schmalle teotigraphix...@gmail.com wrote: Well, when I said teach I just meant getting into the code. Really, I know the base part of the compiler and the walker/visitor framework well ;-), so getting FalconJX to use an HTML.swc would be exactly what I am looking for to do. This is where you can keep doing what you are good at and I can work on what I am good at(code rendering). Can I ask you to start another thread and outline what you see needs to be done to accomplish what is in your mind dealing with FalconJX and the HTML.swc? If you can just brainstorm, then I can ask you questions to fill in the gaps that I am not seeing. As I see it, FalconJX should just be able to grab some SWCs and cross-compile some AS based on definitions in the SWCs. Right now we feed it playerglobal/airglobal and FlexJS swcs with UIBase widgets, but in theory, as Josh suggests we should be able to replace those SWCs with just: jsglobal.swc: Object Number String what else? HTML.swc: Window Event UIEvent MouseEvent HTMLElement etc. See for HTML lib, Roland used WebIDL parser to create it; https://github.com/RandoriAS/randori-libraries/tree/master/HTMLCoreLib The builtin.swc we made; https://github.com/RandoriAS/randori-tools/tree/develop/RandoriBuiltin Read the README, does this violate anything? Then folks should be able to test drive FalconJX by running some AS through it to get any JS they normally use in their web apps, and we should be able to stop writing any JS at all. All files in flex-asjs that are currently .JS files should be able to be written in AS and cross-compiled with only those two SWCs. I can tell you that it would probably have saved us much time if we had this already. It is painful doing .JS code simply in the writing of ‘this.’ and ‘prototype’. Yeah, not to mention compile time checking. :) Anyway, that’s as far as I’ve thought on this subject. As you said in another thread this is where we’d have to prove there are no hard-coded dependencies in Falcon/FalconJX on playerglobal/airglobal. See the above links and give feedback on what you think. OK, one more thought: there may be reverse-engineering issues about replacing playerglobal/airglobal, but I was hoping we might find some Tamarin code laying around that has what we’d start with for jsglobal.swc. I think this is what Roland actually did, I know he found it some where(how to build the builtin.swc Randori used). Question; So the code style, you said we might use the FlexJS emitter but I don't see how that is possible since it's not a vanilla emitter. It seems to me I need to know the exact code style that a vanilla transpiler will create and I can make that emitter as another backend, what do you think? @Josj you have any thoughts? I am ready to start writing it. :) Mike -Alex
Re: [FalconJX] AS for Native HTML JS (was Re: [FalconJX FlexJS] JIRA issues and helping with the compiler)
When I played with TypeScript, I loved that I could subclass CreateJS prototypes very easily. As long as something like that is possible from ActionScript (assuming I could provide a SWC or something for CreateJS or whichever library I want to use), I don't have too strong of an opinion on how the final JavaScript looks. I'll just say that I like the clean code that the TypeScript compiler outputs. To me, it looked pretty much like what I might write manually, if I were using vanilla JavaScript. Looking at the TypeScript playground, the Inheritance example and the Modules example both look very nice. http://www.typescriptlang.org/Playground - Josh On Wed, May 27, 2015 at 12:02 PM, Michael Schmalle teotigraphix...@gmail.com wrote: On Wed, May 27, 2015 at 2:50 PM, Alex Harui aha...@adobe.com wrote: New thread: On 5/27/15, 9:52 AM, Michael Schmalle teotigraphix...@gmail.com wrote: Well, when I said teach I just meant getting into the code. Really, I know the base part of the compiler and the walker/visitor framework well ;-), so getting FalconJX to use an HTML.swc would be exactly what I am looking for to do. This is where you can keep doing what you are good at and I can work on what I am good at(code rendering). Can I ask you to start another thread and outline what you see needs to be done to accomplish what is in your mind dealing with FalconJX and the HTML.swc? If you can just brainstorm, then I can ask you questions to fill in the gaps that I am not seeing. As I see it, FalconJX should just be able to grab some SWCs and cross-compile some AS based on definitions in the SWCs. Right now we feed it playerglobal/airglobal and FlexJS swcs with UIBase widgets, but in theory, as Josh suggests we should be able to replace those SWCs with just: jsglobal.swc: Object Number String what else? HTML.swc: Window Event UIEvent MouseEvent HTMLElement etc. See for HTML lib, Roland used WebIDL parser to create it; https://github.com/RandoriAS/randori-libraries/tree/master/HTMLCoreLib The builtin.swc we made; https://github.com/RandoriAS/randori-tools/tree/develop/RandoriBuiltin Read the README, does this violate anything? Then folks should be able to test drive FalconJX by running some AS through it to get any JS they normally use in their web apps, and we should be able to stop writing any JS at all. All files in flex-asjs that are currently .JS files should be able to be written in AS and cross-compiled with only those two SWCs. I can tell you that it would probably have saved us much time if we had this already. It is painful doing .JS code simply in the writing of ‘this.’ and ‘prototype’. Yeah, not to mention compile time checking. :) Anyway, that’s as far as I’ve thought on this subject. As you said in another thread this is where we’d have to prove there are no hard-coded dependencies in Falcon/FalconJX on playerglobal/airglobal. See the above links and give feedback on what you think. OK, one more thought: there may be reverse-engineering issues about replacing playerglobal/airglobal, but I was hoping we might find some Tamarin code laying around that has what we’d start with for jsglobal.swc. I think this is what Roland actually did, I know he found it some where(how to build the builtin.swc Randori used). Question; So the code style, you said we might use the FlexJS emitter but I don't see how that is possible since it's not a vanilla emitter. It seems to me I need to know the exact code style that a vanilla transpiler will create and I can make that emitter as another backend, what do you think? @Josj you have any thoughts? I am ready to start writing it. :) Mike -Alex
Re: [FalconJX] AS for Native HTML JS (was Re: [FalconJX FlexJS] JIRA issues and helping with the compiler)
Ok Update. I have been researching TypeScript and it's output, this is what I am doing. For some reason this just makes sense to me and the are 100's of examples I can use to test the code generation against. Josh, I would say if you want to start experimenting with your framework, use what you just showed me as a base and I can meet you in the middle, then we can figure our the quirks together. I will/am start/ing working on this ASAP. Mike On Wed, May 27, 2015 at 4:54 PM, Michael Schmalle teotigraphix...@gmail.com wrote: Ok, I am a doer... :) Since this is all POC right now and I am up to learn some JS, I will use this as a format. I have done this JSEmitter 2 times now so the 3rd isn't going to be that hard, maybe the charm for me to. Note, most of the expressions and statements are already done. As noted, inheritance, scope and set/get always are the pains but if I have a target output protocol like TypeScript's output, why not emulate it. Alex, I know what you are thinking... Don't. :) My gut feeling is, if I start from the ground up and have NO dependencies on anything, I will do this twice as fast. I am very good at refactoring so once I have tests working on the generated .js, we can see what could be abstracted to and from this emitter and FlexJS. I really think for my own sanity, I need to start in isolation and not get in FlexJS's way either, that is another pro for me, no commit conflicts, nothing of that nature. Thoughts Josh, Alex? Mike On Wed, May 27, 2015 at 4:40 PM, Josh Tynjala joshtynj...@gmail.com wrote: When I played with TypeScript, I loved that I could subclass CreateJS prototypes very easily. As long as something like that is possible from ActionScript (assuming I could provide a SWC or something for CreateJS or whichever library I want to use), I don't have too strong of an opinion on how the final JavaScript looks. I'll just say that I like the clean code that the TypeScript compiler outputs. To me, it looked pretty much like what I might write manually, if I were using vanilla JavaScript. Looking at the TypeScript playground, the Inheritance example and the Modules example both look very nice. http://www.typescriptlang.org/Playground - Josh On Wed, May 27, 2015 at 12:02 PM, Michael Schmalle teotigraphix...@gmail.com wrote: On Wed, May 27, 2015 at 2:50 PM, Alex Harui aha...@adobe.com wrote: New thread: On 5/27/15, 9:52 AM, Michael Schmalle teotigraphix...@gmail.com wrote: Well, when I said teach I just meant getting into the code. Really, I know the base part of the compiler and the walker/visitor framework well ;-), so getting FalconJX to use an HTML.swc would be exactly what I am looking for to do. This is where you can keep doing what you are good at and I can work on what I am good at(code rendering). Can I ask you to start another thread and outline what you see needs to be done to accomplish what is in your mind dealing with FalconJX and the HTML.swc? If you can just brainstorm, then I can ask you questions to fill in the gaps that I am not seeing. As I see it, FalconJX should just be able to grab some SWCs and cross-compile some AS based on definitions in the SWCs. Right now we feed it playerglobal/airglobal and FlexJS swcs with UIBase widgets, but in theory, as Josh suggests we should be able to replace those SWCs with just: jsglobal.swc: Object Number String what else? HTML.swc: Window Event UIEvent MouseEvent HTMLElement etc. See for HTML lib, Roland used WebIDL parser to create it; https://github.com/RandoriAS/randori-libraries/tree/master/HTMLCoreLib The builtin.swc we made; https://github.com/RandoriAS/randori-tools/tree/develop/RandoriBuiltin Read the README, does this violate anything? Then folks should be able to test drive FalconJX by running some AS through it to get any JS they normally use in their web apps, and we should be able to stop writing any JS at all. All files in flex-asjs that are currently .JS files should be able to be written in AS and cross-compiled with only those two SWCs. I can tell you that it would probably have saved us much time if we had this already. It is painful doing .JS code simply in the writing of ‘this.’ and ‘prototype’. Yeah, not to mention compile time checking. :) Anyway, that’s as far as I’ve thought on this subject. As you said in another thread this is where we’d have to prove there are no hard-coded dependencies in Falcon/FalconJX on playerglobal/airglobal. See the above links and give feedback on what you think. OK, one more thought: there may be reverse-engineering issues about replacing playerglobal/airglobal, but I was hoping we might find some Tamarin code laying around that has what we’d start with for jsglobal.swc.
Re: [FalconJX] AS for Native HTML JS (was Re: [FalconJX FlexJS] JIRA issues and helping with the compiler)
Yes from babel or from traceur but babel output is way cleaner. On May 28, 2015 00:01, Michael Schmalle teotigraphix...@gmail.com wrote: So basically your saying the output of ES5 from Babel? Mike On Wed, May 27, 2015 at 6:47 PM, Josh Tynjala joshtynj...@gmail.com wrote: You might also consider looking at the output of Babel. Babel transpiles ECMAScript 6 back to older versions of the language that are more widely supported today. TypeScript is trying to be a superset of ES6, so it should be pretty similar. http://babeljs.io - Josh On Wed, May 27, 2015 at 2:23 PM, Michael Schmalle teotigraphix...@gmail.com wrote: Ok Update. I have been researching TypeScript and it's output, this is what I am doing. For some reason this just makes sense to me and the are 100's of examples I can use to test the code generation against. Josh, I would say if you want to start experimenting with your framework, use what you just showed me as a base and I can meet you in the middle, then we can figure our the quirks together. I will/am start/ing working on this ASAP. Mike On Wed, May 27, 2015 at 4:54 PM, Michael Schmalle teotigraphix...@gmail.com wrote: Ok, I am a doer... :) Since this is all POC right now and I am up to learn some JS, I will use this as a format. I have done this JSEmitter 2 times now so the 3rd isn't going to be that hard, maybe the charm for me to. Note, most of the expressions and statements are already done. As noted, inheritance, scope and set/get always are the pains but if I have a target output protocol like TypeScript's output, why not emulate it. Alex, I know what you are thinking... Don't. :) My gut feeling is, if I start from the ground up and have NO dependencies on anything, I will do this twice as fast. I am very good at refactoring so once I have tests working on the generated .js, we can see what could be abstracted to and from this emitter and FlexJS. I really think for my own sanity, I need to start in isolation and not get in FlexJS's way either, that is another pro for me, no commit conflicts, nothing of that nature. Thoughts Josh, Alex? Mike On Wed, May 27, 2015 at 4:40 PM, Josh Tynjala joshtynj...@gmail.com wrote: When I played with TypeScript, I loved that I could subclass CreateJS prototypes very easily. As long as something like that is possible from ActionScript (assuming I could provide a SWC or something for CreateJS or whichever library I want to use), I don't have too strong of an opinion on how the final JavaScript looks. I'll just say that I like the clean code that the TypeScript compiler outputs. To me, it looked pretty much like what I might write manually, if I were using vanilla JavaScript. Looking at the TypeScript playground, the Inheritance example and the Modules example both look very nice. http://www.typescriptlang.org/Playground - Josh On Wed, May 27, 2015 at 12:02 PM, Michael Schmalle teotigraphix...@gmail.com wrote: On Wed, May 27, 2015 at 2:50 PM, Alex Harui aha...@adobe.com wrote: New thread: On 5/27/15, 9:52 AM, Michael Schmalle teotigraphix...@gmail.com wrote: Well, when I said teach I just meant getting into the code. Really, I know the base part of the compiler and the walker/visitor framework well ;-), so getting FalconJX to use an HTML.swc would be exactly what I am looking for to do. This is where you can keep doing what you are good at and I can work on what I am good at(code rendering). Can I ask you to start another thread and outline what you see needs to be done to accomplish what is in your mind dealing with FalconJX and the HTML.swc? If you can just brainstorm, then I can ask you questions to fill in the gaps that I am not seeing. As I see it, FalconJX should just be able to grab some SWCs and cross-compile some AS based on definitions in the SWCs. Right now we feed it playerglobal/airglobal and FlexJS swcs with UIBase widgets, but in theory, as Josh suggests we should be able to replace those SWCs with just: jsglobal.swc: Object Number String what else? HTML.swc: Window Event UIEvent MouseEvent HTMLElement etc. See for HTML lib, Roland used WebIDL parser to create it; https://github.com/RandoriAS/randori-libraries/tree/master/HTMLCoreLib The builtin.swc we made; https://github.com/RandoriAS/randori-tools/tree/develop/RandoriBuiltin
Re: [FalconJX] AS for Native HTML JS (was Re: [FalconJX FlexJS] JIRA issues and helping with the compiler)
On 5/27/15, 3:37 PM, Michael Schmalle teotigraphix...@gmail.com wrote: Well, that is semantics that challenge me, the get_, set_ was kludge and I hate kludge. :) I’m not sure of your definition of “kludge” but while Object.defineProperties is quite cool for translating: function get foo():int { } function set foo(value:int):void { } The way Object.defineProperties works make it ugly to handle: override function get foo():int { return super.foo; } override function set foo(value:int):void { super.foo = value; } At least, it seems pretty awful to me but I haven’t looked at what TS produces. Maybe they have a better way. Plus there is more trickery if the subclass only overrides the getter and not the setter and vice versa. There is another scenario where the class C extends B and class B extends A and A has a getter or setter, B does not override it, but C does. Good luck, -Alex
Re: [FalconJX] AS for Native HTML JS (was Re: [FalconJX FlexJS] JIRA issues and helping with the compiler)
On 5/27/15, 3:42 PM, Michael Schmalle teotigraphix...@gmail.com wrote: On Wed, May 27, 2015 at 6:35 PM, Alex Harui aha...@adobe.com wrote: On 5/27/15, 3:32 PM, Michael Schmalle teotigraphix...@gmail.com wrote: BTW, the ONE HELL I had with Randori was this get_ set_ crap, this will make is SO much easier. :) True, but IMO, there is still hell in calling the superclass’s getter and/or setter. You solved this obviously? So I can look at how you did it. Saves time. :) Yes, but I realized that it knows that we’re using goog.inherit. Basically we make an call to a utility function in org.apache.flex.utils.Language.js -Alex
Re: [FalconJX] AS for Native HTML JS (was Re: [FalconJX FlexJS] JIRA issues and helping with the compiler)
You might also consider looking at the output of Babel. Babel transpiles ECMAScript 6 back to older versions of the language that are more widely supported today. TypeScript is trying to be a superset of ES6, so it should be pretty similar. http://babeljs.io - Josh On Wed, May 27, 2015 at 2:23 PM, Michael Schmalle teotigraphix...@gmail.com wrote: Ok Update. I have been researching TypeScript and it's output, this is what I am doing. For some reason this just makes sense to me and the are 100's of examples I can use to test the code generation against. Josh, I would say if you want to start experimenting with your framework, use what you just showed me as a base and I can meet you in the middle, then we can figure our the quirks together. I will/am start/ing working on this ASAP. Mike On Wed, May 27, 2015 at 4:54 PM, Michael Schmalle teotigraphix...@gmail.com wrote: Ok, I am a doer... :) Since this is all POC right now and I am up to learn some JS, I will use this as a format. I have done this JSEmitter 2 times now so the 3rd isn't going to be that hard, maybe the charm for me to. Note, most of the expressions and statements are already done. As noted, inheritance, scope and set/get always are the pains but if I have a target output protocol like TypeScript's output, why not emulate it. Alex, I know what you are thinking... Don't. :) My gut feeling is, if I start from the ground up and have NO dependencies on anything, I will do this twice as fast. I am very good at refactoring so once I have tests working on the generated .js, we can see what could be abstracted to and from this emitter and FlexJS. I really think for my own sanity, I need to start in isolation and not get in FlexJS's way either, that is another pro for me, no commit conflicts, nothing of that nature. Thoughts Josh, Alex? Mike On Wed, May 27, 2015 at 4:40 PM, Josh Tynjala joshtynj...@gmail.com wrote: When I played with TypeScript, I loved that I could subclass CreateJS prototypes very easily. As long as something like that is possible from ActionScript (assuming I could provide a SWC or something for CreateJS or whichever library I want to use), I don't have too strong of an opinion on how the final JavaScript looks. I'll just say that I like the clean code that the TypeScript compiler outputs. To me, it looked pretty much like what I might write manually, if I were using vanilla JavaScript. Looking at the TypeScript playground, the Inheritance example and the Modules example both look very nice. http://www.typescriptlang.org/Playground - Josh On Wed, May 27, 2015 at 12:02 PM, Michael Schmalle teotigraphix...@gmail.com wrote: On Wed, May 27, 2015 at 2:50 PM, Alex Harui aha...@adobe.com wrote: New thread: On 5/27/15, 9:52 AM, Michael Schmalle teotigraphix...@gmail.com wrote: Well, when I said teach I just meant getting into the code. Really, I know the base part of the compiler and the walker/visitor framework well ;-), so getting FalconJX to use an HTML.swc would be exactly what I am looking for to do. This is where you can keep doing what you are good at and I can work on what I am good at(code rendering). Can I ask you to start another thread and outline what you see needs to be done to accomplish what is in your mind dealing with FalconJX and the HTML.swc? If you can just brainstorm, then I can ask you questions to fill in the gaps that I am not seeing. As I see it, FalconJX should just be able to grab some SWCs and cross-compile some AS based on definitions in the SWCs. Right now we feed it playerglobal/airglobal and FlexJS swcs with UIBase widgets, but in theory, as Josh suggests we should be able to replace those SWCs with just: jsglobal.swc: Object Number String what else? HTML.swc: Window Event UIEvent MouseEvent HTMLElement etc. See for HTML lib, Roland used WebIDL parser to create it; https://github.com/RandoriAS/randori-libraries/tree/master/HTMLCoreLib The builtin.swc we made; https://github.com/RandoriAS/randori-tools/tree/develop/RandoriBuiltin Read the README, does this violate anything? Then folks should be able to test drive FalconJX by running some AS through it to get any JS they normally use in their web apps, and we should be able to stop writing any JS at all. All files in flex-asjs that are currently .JS files should be able to be written in AS and cross-compiled with only those two SWCs. I can tell you that it would probably have saved us much time if we had this already. It is painful doing .JS code simply in the writing of ‘this.’ and ‘prototype’. Yeah, not to mention compile time checking. :)
Re: [FalconJX] AS for Native HTML JS (was Re: [FalconJX FlexJS] JIRA issues and helping with the compiler)
kludge to me is an ugly half solution for something that shouldn't have to have a solution. :) I am trying to figure out all the stuff I will run into if I go this way and this sounds like a road block. I seriously don't think TS has implemented a super property call yet. It's in the github issue since 2014; https://github.com/Microsoft/TypeScript/issues/338 Mike On Wed, May 27, 2015 at 6:46 PM, Alex Harui aha...@adobe.com wrote: On 5/27/15, 3:42 PM, Michael Schmalle teotigraphix...@gmail.com wrote: On Wed, May 27, 2015 at 6:35 PM, Alex Harui aha...@adobe.com wrote: On 5/27/15, 3:32 PM, Michael Schmalle teotigraphix...@gmail.com wrote: BTW, the ONE HELL I had with Randori was this get_ set_ crap, this will make is SO much easier. :) True, but IMO, there is still hell in calling the superclass’s getter and/or setter. You solved this obviously? So I can look at how you did it. Saves time. :) Yes, but I realized that it knows that we’re using goog.inherit. Basically we make an call to a utility function in org.apache.flex.utils.Language.js -Alex
Re: [FalconJX] AS for Native HTML JS (was Re: [FalconJX FlexJS] JIRA issues and helping with the compiler)
So basically your saying the output of ES5 from Babel? Mike On Wed, May 27, 2015 at 6:47 PM, Josh Tynjala joshtynj...@gmail.com wrote: You might also consider looking at the output of Babel. Babel transpiles ECMAScript 6 back to older versions of the language that are more widely supported today. TypeScript is trying to be a superset of ES6, so it should be pretty similar. http://babeljs.io - Josh On Wed, May 27, 2015 at 2:23 PM, Michael Schmalle teotigraphix...@gmail.com wrote: Ok Update. I have been researching TypeScript and it's output, this is what I am doing. For some reason this just makes sense to me and the are 100's of examples I can use to test the code generation against. Josh, I would say if you want to start experimenting with your framework, use what you just showed me as a base and I can meet you in the middle, then we can figure our the quirks together. I will/am start/ing working on this ASAP. Mike On Wed, May 27, 2015 at 4:54 PM, Michael Schmalle teotigraphix...@gmail.com wrote: Ok, I am a doer... :) Since this is all POC right now and I am up to learn some JS, I will use this as a format. I have done this JSEmitter 2 times now so the 3rd isn't going to be that hard, maybe the charm for me to. Note, most of the expressions and statements are already done. As noted, inheritance, scope and set/get always are the pains but if I have a target output protocol like TypeScript's output, why not emulate it. Alex, I know what you are thinking... Don't. :) My gut feeling is, if I start from the ground up and have NO dependencies on anything, I will do this twice as fast. I am very good at refactoring so once I have tests working on the generated .js, we can see what could be abstracted to and from this emitter and FlexJS. I really think for my own sanity, I need to start in isolation and not get in FlexJS's way either, that is another pro for me, no commit conflicts, nothing of that nature. Thoughts Josh, Alex? Mike On Wed, May 27, 2015 at 4:40 PM, Josh Tynjala joshtynj...@gmail.com wrote: When I played with TypeScript, I loved that I could subclass CreateJS prototypes very easily. As long as something like that is possible from ActionScript (assuming I could provide a SWC or something for CreateJS or whichever library I want to use), I don't have too strong of an opinion on how the final JavaScript looks. I'll just say that I like the clean code that the TypeScript compiler outputs. To me, it looked pretty much like what I might write manually, if I were using vanilla JavaScript. Looking at the TypeScript playground, the Inheritance example and the Modules example both look very nice. http://www.typescriptlang.org/Playground - Josh On Wed, May 27, 2015 at 12:02 PM, Michael Schmalle teotigraphix...@gmail.com wrote: On Wed, May 27, 2015 at 2:50 PM, Alex Harui aha...@adobe.com wrote: New thread: On 5/27/15, 9:52 AM, Michael Schmalle teotigraphix...@gmail.com wrote: Well, when I said teach I just meant getting into the code. Really, I know the base part of the compiler and the walker/visitor framework well ;-), so getting FalconJX to use an HTML.swc would be exactly what I am looking for to do. This is where you can keep doing what you are good at and I can work on what I am good at(code rendering). Can I ask you to start another thread and outline what you see needs to be done to accomplish what is in your mind dealing with FalconJX and the HTML.swc? If you can just brainstorm, then I can ask you questions to fill in the gaps that I am not seeing. As I see it, FalconJX should just be able to grab some SWCs and cross-compile some AS based on definitions in the SWCs. Right now we feed it playerglobal/airglobal and FlexJS swcs with UIBase widgets, but in theory, as Josh suggests we should be able to replace those SWCs with just: jsglobal.swc: Object Number String what else? HTML.swc: Window Event UIEvent MouseEvent HTMLElement etc. See for HTML lib, Roland used WebIDL parser to create it; https://github.com/RandoriAS/randori-libraries/tree/master/HTMLCoreLib The builtin.swc we made; https://github.com/RandoriAS/randori-tools/tree/develop/RandoriBuiltin Read the README, does this violate anything? Then folks should be able to test drive FalconJX by running some AS through it to get any JS they normally use in their web apps, and we should be able to stop writing any JS at all. All files in flex-asjs that are currently .JS files should be
Re: [FalconJX] AS for Native HTML JS (was Re: [FalconJX FlexJS] JIRA issues and helping with the compiler)
On 5/27/15, 1:13 PM, Michael Schmalle teotigraphix...@gmail.com wrote: On Wed, May 27, 2015 at 4:02 PM, Alex Harui aha...@adobe.com wrote: This is where, for Apache projects, it gets tricky/messy. Tamarin code is MPL (or xGPL) and Apache doesn’t like have source code dependencies on those licenses. You can have a dependency on compiled MPL code so if there was a swc in a stable place that contained those compiled Tamarin .as files then we’d be good to go. Otherwise, we may need to get an exception or get Adobe to re-license. Not sure how hard that will be. And just linking to Randori may be seen as a valid way to get around it either since the Randori folks are also Flex committers. Ok, well I emailed Roland and asked if he could enlighten me it's been so long, I feel dumb when talking about Randori. Hey, can you email Roland about AS3Commons’ ZIP library? We use that in the Installer and I think it needs to be moved someplace more stable like GitHub because the old links to it stopped working. We did not have playerglobal.swc and used FalconJX so it has to work and if the wheel has already been created, I see no reason in reinventing it, we would just use built, could I for instance as a separate entity fork that repo to mine and then I maintain the code and compile it if wee need to, then get the swc from my repo? I would want to get a ruling on that from higher up in Apache. First there is the risk that your site goes away some day. Then there is the question as to whether PMC folks can set up external entities to get around some of these Apache rules. Now if there was already a swc we could use on the mozilla site then that would be usable. Hmm, ok maybe it's me being numb, I guess I am confusing the MXMLEmitter with the JSEmitter. and what it's doing. I swear I looked at the JSEmitter and it had a bunch of GCC stuff in it and all the comments and such. If I was to maintain a straight transpiler I would want it to be as clean and extensible as possible. You are right. I think if you look in the code for JSFlexJSEmitter you will find a bunch of GCL stuff and we use GCC to minify the results. But from memory (so I could be completely wrong) the GCL stuff is used for goog.requires to load other dependencies, goog.inherits and goog.base (sort of) to deal with inheritance. But if you have a class that extends from Object that is just creating HTMLElements and listening for mouse clicks, I’m not sure how much “goog” will be in the output. On that note; In the Randori emitter I used about 8 class compositions in the JS emitter whcih decoupled a huge amount of code. I think we could do that with the current GFLexJS emitter and share 1/2 to 2/3 of the code base that exists right now. What do you think? Not sure I understood that, but I trust you. Sharing code is almost always good. -Alex
Re: [FalconJX] AS for Native HTML JS (was Re: [FalconJX FlexJS] JIRA issues and helping with the compiler)
On Wed, May 27, 2015 at 5:46 PM, Alex Harui aha...@adobe.com wrote: Hey, can you email Roland about AS3Commons’ ZIP library? We use that in the Installer and I think it needs to be moved someplace more stable like GitHub because the old links to it stopped working. Yeah if I get a hold of him tomorrow I will ask. I would want to get a ruling on that from higher up in Apache. First there is the risk that your site goes away some day. Then there is the question as to whether PMC folks can set up external entities to get around some of these Apache rules. Now if there was already a swc we could use on the mozilla site then that would be usable. I mean github but yeah, I have no idea what I am talking about so this one is on your shoulders. :) Hmm, ok maybe it's me being numb, I guess I am confusing the MXMLEmitter with the JSEmitter. and what it's doing. I swear I looked at the JSEmitter and it had a bunch of GCC stuff in it and all the comments and such. If I was to maintain a straight transpiler I would want it to be as clean and extensible as possible. You are right. I think if you look in the code for JSFlexJSEmitter you will find a bunch of GCL stuff and we use GCC to minify the results. But from memory (so I could be completely wrong) the GCL stuff is used for goog.requires to load other dependencies, goog.inherits and goog.base (sort of) to deal with inheritance. But if you have a class that extends from Object that is just creating HTMLElements and listening for mouse clicks, I’m not sure how much “goog” will be in the output. Read my last 2 responses, I am going to aim at the type script output. Either way this is just getting my mind back into the compiler, even if it's a month's excerise into nothingness it will still be beneficial for me. The thing is, I look at what they are doing in TypeScript and I KNOW that can be done in about 2 months with the new JXEmitter. ;-) What I mean is, we get a builtin and htmllib, all the basic examples on their front page I know I could get compiling in an ActionScript project and working in the browser, I am 95% percent confident in this. So I'm saying I can see the beginning and end with that cross compile. :) What could be built from that code, hopefully a lot. It gives this project two definite paths for developers, I really think this is a good idea from Josh and now I am really seeing it's potential. On that note; In the Randori emitter I used about 8 class compositions in the JS emitter whcih decoupled a huge amount of code. I think we could do that with the current GFLexJS emitter and share 1/2 to 2/3 of the code base that exists right now. What do you think? Not sure I understood that, but I trust you. Sharing code is almost always good. Sorry I had typos. All I meant was I abstracted, statements, expressions etc into composite classes and shared data in a model. It made the code really clean. I don't want to mess up anything you are working on right now with FlexJS, reference my previous 2 posts about this. :) Mike -Alex
Re: [FalconJX] AS for Native HTML JS (was Re: [FalconJX FlexJS] JIRA issues and helping with the compiler)
Get/Set For this TypeScript; class foo { private _bar:Boolean = false; get bar():Boolean { return this._bar; } set bar(theBar:Boolean) { this._bar = theBar; } } It produces; var foo = (function () { function foo() { this._bar = false; } Object.defineProperty(foo.prototype, bar, { get: function () { return this._bar; }, set: function (theBar) { this._bar = theBar; }, enumerable: true, configurable: true }); return foo; })(); Is that how you are doing it, I havn't looked close yet. Mike On Wed, May 27, 2015 at 6:17 PM, Alex Harui aha...@adobe.com wrote: On 5/27/15, 1:54 PM, Michael Schmalle teotigraphix...@gmail.com wrote: Ok, I am a doer... :) Since this is all POC right now and I am up to learn some JS, I will use this as a format. I have done this JSEmitter 2 times now so the 3rd isn't going to be that hard, maybe the charm for me to. Note, most of the expressions and statements are already done. As noted, inheritance, scope and set/get always are the pains but if I have a target output protocol like TypeScript's output, why not emulate it. Alex, I know what you are thinking... Don't. :) My gut feeling is, if I start from the ground up and have NO dependencies on anything, I will do this twice as fast. I am very good at refactoring so once I have tests working on the generated .js, we can see what could be abstracted to and from this emitter and FlexJS. I really think for my own sanity, I need to start in isolation and not get in FlexJS's way either, that is another pro for me, no commit conflicts, nothing of that nature. Thoughts Josh, Alex? OK, have fun. There isn’t too much emitter development going on right now so you could work in a branch if you want. BTW, I didn’t see how TS handles properties, but FlexJS is no longer using get_/set_ and now using Object.defineProperties. -Alex
Re: [FalconJX] AS for Native HTML JS (was Re: [FalconJX FlexJS] JIRA issues and helping with the compiler)
BTW, the ONE HELL I had with Randori was this get_ set_ crap, this will make is SO much easier. :) Mike On Wed, May 27, 2015 at 6:29 PM, Michael Schmalle teotigraphix...@gmail.com wrote: Get/Set For this TypeScript; class foo { private _bar:Boolean = false; get bar():Boolean { return this._bar; } set bar(theBar:Boolean) { this._bar = theBar; } } It produces; var foo = (function () { function foo() { this._bar = false; } Object.defineProperty(foo.prototype, bar, { get: function () { return this._bar; }, set: function (theBar) { this._bar = theBar; }, enumerable: true, configurable: true }); return foo; })(); Is that how you are doing it, I havn't looked close yet. Mike On Wed, May 27, 2015 at 6:17 PM, Alex Harui aha...@adobe.com wrote: On 5/27/15, 1:54 PM, Michael Schmalle teotigraphix...@gmail.com wrote: Ok, I am a doer... :) Since this is all POC right now and I am up to learn some JS, I will use this as a format. I have done this JSEmitter 2 times now so the 3rd isn't going to be that hard, maybe the charm for me to. Note, most of the expressions and statements are already done. As noted, inheritance, scope and set/get always are the pains but if I have a target output protocol like TypeScript's output, why not emulate it. Alex, I know what you are thinking... Don't. :) My gut feeling is, if I start from the ground up and have NO dependencies on anything, I will do this twice as fast. I am very good at refactoring so once I have tests working on the generated .js, we can see what could be abstracted to and from this emitter and FlexJS. I really think for my own sanity, I need to start in isolation and not get in FlexJS's way either, that is another pro for me, no commit conflicts, nothing of that nature. Thoughts Josh, Alex? OK, have fun. There isn’t too much emitter development going on right now so you could work in a branch if you want. BTW, I didn’t see how TS handles properties, but FlexJS is no longer using get_/set_ and now using Object.defineProperties. -Alex
Re: [FalconJX] AS for Native HTML JS (was Re: [FalconJX FlexJS] JIRA issues and helping with the compiler)
Yes, so good that will be in alignment. On 5/27/15, 3:29 PM, Michael Schmalle teotigraphix...@gmail.com wrote: Get/Set For this TypeScript; class foo { private _bar:Boolean = false; get bar():Boolean { return this._bar; } set bar(theBar:Boolean) { this._bar = theBar; } } It produces; var foo = (function () { function foo() { this._bar = false; } Object.defineProperty(foo.prototype, bar, { get: function () { return this._bar; }, set: function (theBar) { this._bar = theBar; }, enumerable: true, configurable: true }); return foo; })(); Is that how you are doing it, I havn't looked close yet. Mike On Wed, May 27, 2015 at 6:17 PM, Alex Harui aha...@adobe.com wrote: On 5/27/15, 1:54 PM, Michael Schmalle teotigraphix...@gmail.com wrote: Ok, I am a doer... :) Since this is all POC right now and I am up to learn some JS, I will use this as a format. I have done this JSEmitter 2 times now so the 3rd isn't going to be that hard, maybe the charm for me to. Note, most of the expressions and statements are already done. As noted, inheritance, scope and set/get always are the pains but if I have a target output protocol like TypeScript's output, why not emulate it. Alex, I know what you are thinking... Don't. :) My gut feeling is, if I start from the ground up and have NO dependencies on anything, I will do this twice as fast. I am very good at refactoring so once I have tests working on the generated .js, we can see what could be abstracted to and from this emitter and FlexJS. I really think for my own sanity, I need to start in isolation and not get in FlexJS's way either, that is another pro for me, no commit conflicts, nothing of that nature. Thoughts Josh, Alex? OK, have fun. There isn’t too much emitter development going on right now so you could work in a branch if you want. BTW, I didn’t see how TS handles properties, but FlexJS is no longer using get_/set_ and now using Object.defineProperties. -Alex
Re: [FalconJX] AS for Native HTML JS (was Re: [FalconJX FlexJS] JIRA issues and helping with the compiler)
On 5/27/15, 3:32 PM, Michael Schmalle teotigraphix...@gmail.com wrote: BTW, the ONE HELL I had with Randori was this get_ set_ crap, this will make is SO much easier. :) True, but IMO, there is still hell in calling the superclass’s getter and/or setter. -Alex
Re: [FalconJX] AS for Native HTML JS (was Re: [FalconJX FlexJS] JIRA issues and helping with the compiler)
Well, that is semantics that challenge me, the get_, set_ was kludge and I hate kludge. :) I will make a jxemitter branch when I start. Mike On Wed, May 27, 2015 at 6:35 PM, Alex Harui aha...@adobe.com wrote: On 5/27/15, 3:32 PM, Michael Schmalle teotigraphix...@gmail.com wrote: BTW, the ONE HELL I had with Randori was this get_ set_ crap, this will make is SO much easier. :) True, but IMO, there is still hell in calling the superclass’s getter and/or setter. -Alex
Re: [FalconJX] AS for Native HTML JS (was Re: [FalconJX FlexJS] JIRA issues and helping with the compiler)
On 5/27/15, 1:54 PM, Michael Schmalle teotigraphix...@gmail.com wrote: Ok, I am a doer... :) Since this is all POC right now and I am up to learn some JS, I will use this as a format. I have done this JSEmitter 2 times now so the 3rd isn't going to be that hard, maybe the charm for me to. Note, most of the expressions and statements are already done. As noted, inheritance, scope and set/get always are the pains but if I have a target output protocol like TypeScript's output, why not emulate it. Alex, I know what you are thinking... Don't. :) My gut feeling is, if I start from the ground up and have NO dependencies on anything, I will do this twice as fast. I am very good at refactoring so once I have tests working on the generated .js, we can see what could be abstracted to and from this emitter and FlexJS. I really think for my own sanity, I need to start in isolation and not get in FlexJS's way either, that is another pro for me, no commit conflicts, nothing of that nature. Thoughts Josh, Alex? OK, have fun. There isn’t too much emitter development going on right now so you could work in a branch if you want. BTW, I didn’t see how TS handles properties, but FlexJS is no longer using get_/set_ and now using Object.defineProperties. -Alex