incubator-flex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Harui <aha...@adobe.com>
Subject Re: FalconJS "Demo" checked in
Date Wed, 28 Nov 2012 18:30:31 GMT



On 11/28/12 10:00 AM, "Erik de Bruin" <erik@ixsoftware.nl> wrote:

> Thank you Alex.
> 
> FYI, I was able to hack in an Image component by copying and modifying
> the Label component in framework.js and 'faking' the generated code
> that implements it. So that's promising for future work ;-)
> 
> Note: I thought I'd add another Label in the mix. This showed up and
> initiated well, but having the second Label on screen, the on click
> event of the button stopped working. That is to say, it did still
> update the value of the property, but it failed to update the
> displayed text.
In theory, you did this by modifying MyInitialView.as and you should be able
to build a SWF from the available .as files and see if it runs in Flash.  If
it does, then I was using FireBug in FireFox to walk through the JS
implementation.
> 
> Are we ready to put the framework.js in the FalconJS develop branch so
> we can all work on it?
IMO, framework.js shouldn't be in the FalconJS branch.  It is as independent
of FalconJS as any of the AS code is independent of Falcon.

I would refactor framework.js into separate js files so we don't step on
each others toes and put it somewhere else in SVN and start adding to it and
the .AS files.  We could start by having folks just work in my whiteboard or
we can create a new whiteboard folder not under my name if that makes folks
more comfortable.  I was going to branch what I have checked in for further
modifications so what I checked in stays running.

> I'd like to take it apart and try to implement
> some ideas I have, as well as start to put some unit tests in place
> for the various components and start building other AS/MXML test
> cases.
IMO, big changes should go in their own branches, small ones can just go in
some active branch we decide to share.

Are you planning to use FlexUnit to test the AS side?  What will you use for
the JS side?

> 
> Question: I expect that we'll need to figure out a way to put the
> framework components through the Closure Compiler upon "publish",
> correct?
Yes, there is a missing step where we generate an index.html and collect all
of the required JS files and minify them.  I'm hand-assembling stuff right
now.
> 
> Another question: for your prototype you modified/bypassed parts of
> the SDK, it looks like. Does this mean that you envision 2 versions of
> the SDK, one for Flash Player deployment and one for web native
> deployment?
I'm not sure what you mean here.  For this new effort, I am not using Apache
Flex 4.8 at all and have no plans to.  This is a next-generation and a full
rewrite with different goals.  What it has in common with Flex is MXML and
AS3 and many but not all APIs.  The idea is that for every component you
write in AS, you have to create its equivalent in JS.  You might be able to
get FalconJS to help you create parts of the JS equivalent, but the parts
that touch the visuals pretty much have to be written differently.
> 
> I'll stop here and catch my breath ;-) I like what I'm seeing so far
> and certainly see the possibilities going forward. I do not share your
> caution about creating components that are more than basic
> implementations of available HTML controls. But we'll cross that
> bridge once we have a "working" version of the JS framework hooked up
> to the FalconJS compiler :-) First things first, right?
Definitely.  My only "caution" about creating more than basic controls is
how long it will take to create them. My goal is to get the basic
unskinnable 7 (Button, CheckBox, RadioButton, TextInput, TextArea, List,
Label) running ASAP so folks can actually play with it.  If you have the
time/energy to do fancier stuff you are more than welcome to get going on
it.

> 
> EdB
> 
> 
> 
> On Wed, Nov 28, 2012 at 6:18 PM, Alex Harui <aharui@adobe.com> wrote:
>> 
>> 
>> 
>> On 11/28/12 12:37 AM, "Joan Llenas Masó" <joan@garnetworks.com> wrote:
>> 
>>> I like the approach (I just read the wiki, didn't look at the JS vs AS
>>> implementation parts). It has a lot of sense.
>>> I think that Goals vs Non Goals are a key part, specially this statement:
>>> "we
>>> will encapsulate the best implementation possible under a given API contract
>>> ".
>>> Specially if we want to support the spark skinning model and other Flex
>>> architectural gems throughout all rendering targets.
>> There will be skinning, but I currently don't want to bring in the Spark
>> skinning model verbatim.  I think the SkinPart concept was a compromise
>> required to meet some performance requirements.  Maybe we'll run into the
>> same performance issues and have to make the same compromise, but the
>> prototype currently uses a more distinct model/view/controller pattern.  In
>> Spark, the model is baked into the component and cannot be replaced/extended
>> without extending the component.  Remember how in early Flex 4 it was
>> difficult to add an icon to the Button skin?  Even now, try adding a second
>> icon to the skin.  You can't just change the model and the skin, you have to
>> subclass the component.  Also, it has a key flaw in that it pushes
>> information down to the child/skin up front instead of allowing the skin to
>> get what it needs on-demand.  If the initial state of a skin did not need
>> the icon, too bad, cycles were taken to push it down to the skin.
>> 
>> One other thing:  I think the fundamental piece of skinning in this new
>> model will be bitmaps.  I think it might be a lot of work to get vector art
>> to "skin" a button in HTML/JS.  And, yes, then those buttons won't scale as
>> well, but maybe they will be more compatible with GPU renderers?
>>> 
>>> What's needed to run the sample project you provide?
>> I built the FlexJSUI swc and FlexJSTest.as in FlashBuilder.
>> Then, I
>> -copied the .as files to a folder and ran FalconJS on it.
>> -hand-created the index.html
>> -copied the js directory
>> Opened the index.html in FireFox
>> 
>> After that, I
>> -installed PhoneGap/Cordova.
>> -installed the Android/Eclipse IDE
>> -created a new PhoneGap project.
>> -replaced the index.html and js files it created for me with the index.html
>> and js files from above.
>> -published for Android and saw it run in the emulator.
>> 
>>> What's next? :-)
>> 1) Put more information in the wiki.
>> 2) Get working on Falcon
>> 3) Get working on more components
>> 
>>> 
>>> Cheers!
>>> 
>>> 
>>> --
>>> Joan Llenas Masó
>>> CEO/CTO Garnet Works SL
>>> T. 93 848 57 27
>>> --
>>> @joangarnet (es)
>>> @joanllenas (en)
>>> http://joan.garnet.io
>>> http://www.garnetworks.com
>>> 
>>> 
>>> 
>>> 
>>> On Wed, Nov 28, 2012 at 8:34 AM, Alex Harui <aharui@adobe.com> wrote:
>>> 
>>>> Hi,
>>>> 
>>>> I finally got permission to check in a demo that uses FalconJS into my
>>>> whiteboard at [1].
>>>> 
>>>> I started a writeup on it on the wiki that I will try to complete tomorrow
>>>> at [2].
>>>> 
>>>> [1] http://svn.apache.org/viewvc/incubator/flex/whiteboard/aharui/flexjs
>>>> [2]
>>>> https://cwiki.apache.org/confluence/display/FLEX/Alex's+FlexJS+Prototype
>>>> 
>>>> Thanks,
>>>> --
>>>> Alex Harui
>>>> Flex SDK Team
>>>> Adobe Systems, Inc.
>>>> http://blogs.adobe.com/aharui
>>>> 
>>>> 
>> 
>> --
>> Alex Harui
>> Flex SDK Team
>> Adobe Systems, Inc.
>> http://blogs.adobe.com/aharui
>> 
> 
> 

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


Mime
View raw message