Re: FlexJS identity crisis. was: [Discuss]Accept donation of drawing APIs

2016-04-19 Thread Alex Harui
Good thoughts in this thread.

My current thinking is this:

FalconJX is a code name for the cross-compiler, but because there is an
Apache Falcon project, we need a better product name, and consider that
Falcon may someday compile SWFs for the Flex SDK.  Adobe already used
ASC2.0, plus our version of Falcon handles MXML.  We could use MXMLC2.0,
but I'm not a huge fan of that.

IMO, FlexJS has become a tool chain.  It takes in MXML and AS and outputs
SWFs or HTML/JS/CSS.  We want to draw in every JS framework community to
MXML-enable their components.  Peter is hoping to finish a demo soon of
how much easier it is to learn and use CreateJS with MXML than with the
current CreateJS tutorials in JS.  Maybe that will get the ball rolling
downhill.

We will still build out a Basic component set for lowest-level
smallest-footprint apps.  And we hope to build out MX and Spark-like
component sets to ease migration pain for existing Flex code bases.

Yes, we have CreateJS, Jquery and GoogleMaps SWCs now, mostly as
proofs-of-concept.  I hope to see the respective communities take over
development of these SWCs and expect them to do it outside of our repos,
and have independent release schedules.

So that's why I'm not sure a component set that targets Stage3D and
Starling has to be part of this community.  It can certainly be a customer
of the FlexJS tool chain, and we want it to be a customer, but we want all
JS component set communities to be customers of FlexJS whether they build
for SWF-first workflows or direct-to-JS workflows.

Further down the road, once FlexJS grows to support distributed
development, we will be able to more clearly show the benefit of SWF-first
workflows for those who need it.  But that's for another thread someday.

My 2 cents,
-Alex

On 4/19/16, 4:52 PM, "Josh Tynjala"  wrote:

>I agree that FalconJX without the FlexJS framework is an important use
>case. That's basically why I'm here contributing to the project. I want to
>champion the ActionScript language, and show how FalconJX will let you use
>ActionScript anywhere that JavaScript is supported. That means (now or
>eventually) working with HTML, Node.js, Electron, and extensibility APIs
>the like CEP panels that Harbs mentioned.
>
>For this use case, I think it's all about focusing on building a solid
>compiler.
>
>- Josh
>
>On Tue, Apr 19, 2016 at 4:04 PM, OmPrakash Muppirala
>
>wrote:
>
>> We have an equally important component that is FalconJX.  I envision
>>lot of
>> demand to work on non-FlexJS, pure FalconJX work.
>>
>> I think the Starling port falls under the category of pure FalconJX work
>> and not FlexJS.  We already have a game company working on making a game
>> using the FalconJX compiler.
>>
>> Any thoughts on how we want to handle this use case?
>>
>> Thanks,
>> Om
>>
>> On Tue, Apr 19, 2016 at 3:44 PM, Harbs  wrote:
>>
>> > I missed a fifth item in my list of things we need:
>> > 5. We need tooling to pull in external swcs (externs and
>>cross-copiling
>> > ones) when compiling to Javascript.
>> >
>> > (I think we also need a naming convention for the two types of swcs.
>> > "definition swcs" and "code swcs”?)
>> >
>> > On Apr 20, 2016, at 1:37 AM, Harbs  wrote:
>> >
>> > > Alex and Josh bring up good points.
>> > >
>> > > I’m thinking that I should step back and figure out what I was
>>trying
>> to
>> > accomplish by suggesting that we accept these APIs.
>> > >
>> > > In fact, I think it’s time we figure out exactly what FlexJS
>>actually
>> is.
>> > >
>> > > The motivation to accept the code into FlexJS was really to empower
>> > users to have access to great APIs and capabilities. However to say
>>that
>> > any cool functionality should become part of the core product probably
>> does
>> > not make sense. Case in point: I’m currently working on FlexJS support
>> for
>> > CEP panels in Adobe extensions. I think it’s great functionality, but
>>I
>> > don’t believe it belongs in the Flex repo.
>> > >
>> > > To address the question of exactly what belongs in the FlexJS repo,
>>I
>> > think we need to address exactly what is the identity of FlexJS
>>actually
>> > is. Different folks would probably have different definitions, but
>>here’s
>> > what I think:
>> > >
>> > > 1. It’s the compiler which turns MXML and ActionScript into
>>Javascript.
>> > > 2. It’s the paradigm of composing apps using MXML.
>> > > 3. It’s a set (or sets) of components which is built with this
>>paradigm
>> > in mind. (similar to mx and spark components in the classic Flex
>> framework.)
>> > > 4. It’s the infrastructure which enables tools to take advantage of
>> this.
>> > >
>> > > I think that’s pretty much it.
>> > >
>> > > Based on this definition, drawing APIs are probably not “Flex
>>core”. In
>> > fact, some of the other packages which already exist are probably also
>> not
>> > Flex core (such as GoogleMaps).
>> > >
>> > > These are all useful things, but trying to include all useful things
>> > will cause a lot of bloat and actually pr

Re: [Discuss]Accept donation of drawing APIs

2016-04-19 Thread Alex Harui


On 4/19/16, 5:08 PM, "Josh Tynjala"  wrote:

>I think there's some disagreement about the abstraction level where the
>FlexJS framework lives. I've always understood that it lived at the
>component level. Buttons, lists, sliders, data grids, etc. Emulating Flash
>drawing APIs seems like a lower level to me. I feel like we should use the
>Flash drawing APIs with Flash, but whatever is best for other targets.
>
>There are downsides of forcing everything to emulate the Flash APIs. For
>instance, it may hurt performance in some environments.

My current vision for FlexJS is to remove any Flash-like APIs from the API
surface because they are hard/expensive/impossible to implement in the JS
runtime.  In doing so, we try to abstract away whether there is a timeline
or not, we don't use weak references or Dictionary, we don't promise
deferred rendering (changing the display list in JS is immediate in most
cases).  Otherwise, the cost to implement and run is just too high.  At
least, I haven't figured out any way to implement weak references or
deferred rendering without a ton of work that will eat battery life.  IMO,
for the basic set of FlexJS components, the goal is to make the JS version
smaller and faster than the SWF version when forced to make a choice.  So
the basic component set leverages HTMLElement when it can.

Now, the Spark/MX-like component sets, assuming we can get them to work,
probably will support a flash.display.Graphics object sort of thing.  It
doesn't care so much about size and performance.  Its main goal is to
minimize the API surface changes from the current Flex SDK, but it will
probably leak memory: folks will have to make API calls since we don't
have weak references.

IMO, emulating Flash on JS is for a different community.  We have enough
work just trying to get the code we have to 1.0.  There are probably some
great things in Lizhi's code that will be useful to us, but I think our
target market is more about enterprise customers sitting on large Flex
code bases than on Starling.

I'll say more on the bigger picture in the Identity Crisis thread.

-Alex

>
>- Josh
>
>On Tue, Apr 19, 2016 at 3:09 PM, jude  wrote:
>
>> But Flex is based on the Flash runtime and underlying API. Without the
>> drawing commands, the interactive layer, point classes, event
>>management,
>> byte array, birthday data, mouse events, etc Flex and other frameworks
>> wouldn't be possible.
>>
>> The Flash layer and related classes are what Flex is built on.
>>
>> The point of Flex JS is to run on both Flash and the browser so it's not
>> entirely new. Flash is the foundation for one of those targets. we know
>> what to expect from it. With Flex js the goal is to build the exact same
>> house visually and functionally on two aspirate foundations. one is
>>tried
>> and true and the new one we're still building from the ground up. But
>>for
>> this to work those two foundations need to be identical IMHO.
>>
>> I wouldn't be opposed to having Apache Flex projects using external
>> libraries from Github. But in some capacity we would need the same
>>quality
>> control, testing and licensing. I don't know if you can do that with an
>> external library.
>>
>> I wouldn't worry about expectations and that shouldn't be an excuse. We
>> deal with them all the time anyway.
>>
>> Apache was kind enough to give us a canned response, "If you have an
>>itch
>> scratch it yourself. If it's broke fix it yourself." since we aren't a
>> corporate identity we can easily add a disclaimer, "this project is run
>>by
>> volunteers. The full Flash api is not supported. The project is open
>> source. feel free to jump in and add missing pieces"
>>
>> on another note, this project could benefit from corporate sponsors and
>> endorsements. feature and bug fixing bounties could help bring in the
>> freelancer crowd. filling in the missing api would be quickly solved.
>>...
>> if anyone knows how to do this or know someone that does then we need to
>> get them on board. ...side tracked again, but I bring this up bc I know
>> developers who would help this project along given endorsements,
>> sponsorship, branding, etc. in the same way angular is popular even
>>though
>> it has so many issues. The main reason it is is because Google endorses
>>it.
>> On Apr 19, 2016 10:40 AM, "Josh Tynjala"  wrote:
>>
>> > I've always thought that someone implementing the Flash classes is a
>>good
>> > idea, but that it makes the most sense as an external project. In
>>other
>> > words, not included with Apache FlexJS. There's nothing wrong with
>> external
>> > projects. In fact, they're a sign of a healthy community! We should be
>> > encouraging them and promoting them.
>> >
>> > I agree with Alex's points that including the Flash classes in FlexJS
>> will
>> > set expectations of compatibility that may not be desirable from our
>> side.
>> > It also keeps FlexJS bound to the legacy of Flash, instead of showing
>> that
>> > the project is evolving into som

Re: [FlexJS] DataItemRenderer and HorizontalLayout - question

2016-04-19 Thread Alex Harui


On 4/19/16, 12:30 PM, "piotrz"  wrote:

>Hi,
>
>I was experimenting with DataItemRenderer in TodoListSampleApp. I see that
>TodoItemRenderer have adjustSize method with logic which positioning
>controls. - They have displayed horizontally. - Nicly in flash and js.
>
>I've tried create new item renderer [1] with HorizontalLayout bead. - The
>result looks like that [2].
>
>My question is - Do I always have to adjust position "manually"? Is it the
>way how it should be done in item renderers ?

Well, I didn't look into why it didn't work, but a DataItemRenderer is not
a container so that could be why dropping in a HorizontalLayout didn't
work.  IMO, renderers shouldn't have to be heavy as containers for
performance reasons.  Because FlexJS is trying not to have a
one-thing-for-all-scenarios philosophy, it is certainly possible to either
fix HorizontalLayout, create a different HorizontalLayout that doesn't
require Container, or even create things like TwoChildHorizontalLayout.
You should already see layouts like OneFlexibleChildHorizontalLayout in
the doc.

HTH,
-Alex



Re: [Discuss]Accept donation of drawing APIs

2016-04-19 Thread lizhi
flash api,it is just a api,design good.it will not hurt performance.
the api always not hurt performance



--
View this message in context: 
http://apache-flex-development.247.n4.nabble.com/Discuss-Accept-donation-of-drawing-APIs-tp52429p52503.html
Sent from the Apache Flex Development mailing list archive at Nabble.com.


Re: [Discuss]Accept donation of drawing APIs

2016-04-19 Thread Josh Tynjala
I think there's some disagreement about the abstraction level where the
FlexJS framework lives. I've always understood that it lived at the
component level. Buttons, lists, sliders, data grids, etc. Emulating Flash
drawing APIs seems like a lower level to me. I feel like we should use the
Flash drawing APIs with Flash, but whatever is best for other targets.

There are downsides of forcing everything to emulate the Flash APIs. For
instance, it may hurt performance in some environments.

- Josh

On Tue, Apr 19, 2016 at 3:09 PM, jude  wrote:

> But Flex is based on the Flash runtime and underlying API. Without the
> drawing commands, the interactive layer, point classes, event management,
> byte array, birthday data, mouse events, etc Flex and other frameworks
> wouldn't be possible.
>
> The Flash layer and related classes are what Flex is built on.
>
> The point of Flex JS is to run on both Flash and the browser so it's not
> entirely new. Flash is the foundation for one of those targets. we know
> what to expect from it. With Flex js the goal is to build the exact same
> house visually and functionally on two aspirate foundations. one is tried
> and true and the new one we're still building from the ground up. But for
> this to work those two foundations need to be identical IMHO.
>
> I wouldn't be opposed to having Apache Flex projects using external
> libraries from Github. But in some capacity we would need the same quality
> control, testing and licensing. I don't know if you can do that with an
> external library.
>
> I wouldn't worry about expectations and that shouldn't be an excuse. We
> deal with them all the time anyway.
>
> Apache was kind enough to give us a canned response, "If you have an itch
> scratch it yourself. If it's broke fix it yourself." since we aren't a
> corporate identity we can easily add a disclaimer, "this project is run by
> volunteers. The full Flash api is not supported. The project is open
> source. feel free to jump in and add missing pieces"
>
> on another note, this project could benefit from corporate sponsors and
> endorsements. feature and bug fixing bounties could help bring in the
> freelancer crowd. filling in the missing api would be quickly solved. ...
> if anyone knows how to do this or know someone that does then we need to
> get them on board. ...side tracked again, but I bring this up bc I know
> developers who would help this project along given endorsements,
> sponsorship, branding, etc. in the same way angular is popular even though
> it has so many issues. The main reason it is is because Google endorses it.
> On Apr 19, 2016 10:40 AM, "Josh Tynjala"  wrote:
>
> > I've always thought that someone implementing the Flash classes is a good
> > idea, but that it makes the most sense as an external project. In other
> > words, not included with Apache FlexJS. There's nothing wrong with
> external
> > projects. In fact, they're a sign of a healthy community! We should be
> > encouraging them and promoting them.
> >
> > I agree with Alex's points that including the Flash classes in FlexJS
> will
> > set expectations of compatibility that may not be desirable from our
> side.
> > It also keeps FlexJS bound to the legacy of Flash, instead of showing
> that
> > the project is evolving into something new and interesting.
> >
> > - Josh
> >
> > On Tue, Apr 19, 2016 at 8:05 AM, Alex Harui  wrote:
> >
> > >
> > >
> > > On 4/19/16, 12:01 AM, "Harbs"  wrote:
> > >
> > > >webgl is not a very good name, because a lot of the code is actually
> > > >canvas rather than webgl.
> > >
> > > OK.  I realized that Lizhi has been calling it SpriteFlexJS.  So that
> > > could be in the package name.
> > >
> > > Actually this might be a good time to discuss names in terms of
> business
> > > models.  Lizhi, I want to make sure you are aware that whatever name we
> > > put on your code base will belong to Apache and you won't be able to
> sell
> > > software using that name.  This is a public mailing list, so feel free
> to
> > > not answer or write me directly, but an important point is this: I'm
> not
> > > sure how you plan to keep contributing to the SpriteFlexJS code, but if
> > it
> > > involves selling the software what most people do is come up with two
> > > names, one for the for-profit software and one for the open source code
> > > base.  For example, the Apache Subversion project doesn't let other
> > > for-profit products be called Subversion, but they can use SVN.  Adobe
> > > PhoneGap is a for-profit product based on Apache Cordova.
> > >
> > > >
> > > >What might make more sense would be to keep all the flash packages as
> > > >experimental, and if we can identify robust piece of the package, we
> can
> > > >repurpose some of the code to be in separate packages.
> > >
> > > Another option is that we don't bring in all of this code right away.
> > > Didn't this thread start based on interest in Lizhi's ByteArray?  Lizhi
> > > could donate that one file and we could us

Re: FlexJS identity crisis. was: [Discuss]Accept donation of drawing APIs

2016-04-19 Thread Josh Tynjala
I agree that FalconJX without the FlexJS framework is an important use
case. That's basically why I'm here contributing to the project. I want to
champion the ActionScript language, and show how FalconJX will let you use
ActionScript anywhere that JavaScript is supported. That means (now or
eventually) working with HTML, Node.js, Electron, and extensibility APIs
the like CEP panels that Harbs mentioned.

For this use case, I think it's all about focusing on building a solid
compiler.

- Josh

On Tue, Apr 19, 2016 at 4:04 PM, OmPrakash Muppirala 
wrote:

> We have an equally important component that is FalconJX.  I envision lot of
> demand to work on non-FlexJS, pure FalconJX work.
>
> I think the Starling port falls under the category of pure FalconJX work
> and not FlexJS.  We already have a game company working on making a game
> using the FalconJX compiler.
>
> Any thoughts on how we want to handle this use case?
>
> Thanks,
> Om
>
> On Tue, Apr 19, 2016 at 3:44 PM, Harbs  wrote:
>
> > I missed a fifth item in my list of things we need:
> > 5. We need tooling to pull in external swcs (externs and cross-copiling
> > ones) when compiling to Javascript.
> >
> > (I think we also need a naming convention for the two types of swcs.
> > "definition swcs" and "code swcs”?)
> >
> > On Apr 20, 2016, at 1:37 AM, Harbs  wrote:
> >
> > > Alex and Josh bring up good points.
> > >
> > > I’m thinking that I should step back and figure out what I was trying
> to
> > accomplish by suggesting that we accept these APIs.
> > >
> > > In fact, I think it’s time we figure out exactly what FlexJS actually
> is.
> > >
> > > The motivation to accept the code into FlexJS was really to empower
> > users to have access to great APIs and capabilities. However to say that
> > any cool functionality should become part of the core product probably
> does
> > not make sense. Case in point: I’m currently working on FlexJS support
> for
> > CEP panels in Adobe extensions. I think it’s great functionality, but I
> > don’t believe it belongs in the Flex repo.
> > >
> > > To address the question of exactly what belongs in the FlexJS repo, I
> > think we need to address exactly what is the identity of FlexJS actually
> > is. Different folks would probably have different definitions, but here’s
> > what I think:
> > >
> > > 1. It’s the compiler which turns MXML and ActionScript into Javascript.
> > > 2. It’s the paradigm of composing apps using MXML.
> > > 3. It’s a set (or sets) of components which is built with this paradigm
> > in mind. (similar to mx and spark components in the classic Flex
> framework.)
> > > 4. It’s the infrastructure which enables tools to take advantage of
> this.
> > >
> > > I think that’s pretty much it.
> > >
> > > Based on this definition, drawing APIs are probably not “Flex core”. In
> > fact, some of the other packages which already exist are probably also
> not
> > Flex core (such as GoogleMaps).
> > >
> > > These are all useful things, but trying to include all useful things
> > will cause a lot of bloat and actually probably stunt community growth.
> > Until our focus was how to grow the Apache Flex community. I think we’ve
> > come to a bit of a cross-roads here, and we need to figure out how to
> help
> > grow the community OUTSIDE Apache.
> > >
> > > What would accepting these APIs accomplish? I think primarily three
> > things:
> > > 1. Give the APis visibility.
> > > 2. Help promote others to work on them.
> > > 3. Make it easy for clients to use them.
> > >
> > > These are generalized problems and I think we need to solve them in a
> > generalized way so the next person who comes up with some other awesome
> > classes will have these problems solved as well. If someone builds some
> > cool stuff around FlexJs, we should not need discussion to make them
> useful
> > and usable.
> > >
> > > Here’s some ideas I came up with while thinking about this:
> > >
> > > 1. We need a way to find tools and libraries that support FlexJS.
> > > 2. We need to help external libraries automate builds of swcs. I think
> > it would be really useful to publish some docs with a recommended
> workflow
> > for Github to do this.
> > > 3. We need some kind of central repository of FlexJS swcs outside
> > Apache. There should probably be two classes of swcs. Ones that are
> > strictly externs, and others which actually compile into Javascript code.
> > > 4. I think we need a system to create an automated build of Definitely
> > Typed definitions into FlexJS swcs into a centralized repo. I think
> Github
> > has hooks you can use to trigger things when their repo changes.
> > >
> > > If these four points are addressed, I think it’ll do a lot to build the
> > greater community without adding all kinds of peripherals into the core
> > FlexJS repo. (and much more effectively as well) It’s not necessary for
> > Apache Flex to address all these directly. If the community at large
> > addresses some of them, that’s also fine (or maybe ev

Re: FlexJS identity crisis. was: [Discuss]Accept donation of drawing APIs

2016-04-19 Thread Josh Tynjala
On Tue, Apr 19, 2016 at 3:37 PM, Harbs  wrote:

> 4. I think we need a system to create an automated build of Definitely
> Typed definitions into FlexJS swcs into a centralized repo. I think  Github
> has hooks you can use to trigger things when their repo changes.
>

My dts2as utility can't handle the full repository yet, so if this were to
happen, it would need to be a subset of known compatible libraries in the
repository.

- Josh


Re: FlexJS identity crisis. was: [Discuss]Accept donation of drawing APIs

2016-04-19 Thread Josh Tynjala
On Tue, Apr 19, 2016 at 3:44 PM, Harbs  wrote:

> I missed a fifth item in my list of things we need:
> 5. We need tooling to pull in external swcs (externs and cross-copiling
> ones) when compiling to Javascript.
>

When you say tooling, do you mean some kind of package management system
for downloading SWCs? Or something else?


> (I think we also need a naming convention for the two types of swcs.
> "definition swcs" and "code swcs”?)
>
>
Well, we've all been calling the SWCs that define JavaScript APIs "externs
SWCs". I'm happy to stick with that name.

- Josh


Re: FlexJS identity crisis. was: [Discuss]Accept donation of drawing APIs

2016-04-19 Thread OmPrakash Muppirala
We have an equally important component that is FalconJX.  I envision lot of
demand to work on non-FlexJS, pure FalconJX work.

I think the Starling port falls under the category of pure FalconJX work
and not FlexJS.  We already have a game company working on making a game
using the FalconJX compiler.

Any thoughts on how we want to handle this use case?

Thanks,
Om

On Tue, Apr 19, 2016 at 3:44 PM, Harbs  wrote:

> I missed a fifth item in my list of things we need:
> 5. We need tooling to pull in external swcs (externs and cross-copiling
> ones) when compiling to Javascript.
>
> (I think we also need a naming convention for the two types of swcs.
> "definition swcs" and "code swcs”?)
>
> On Apr 20, 2016, at 1:37 AM, Harbs  wrote:
>
> > Alex and Josh bring up good points.
> >
> > I’m thinking that I should step back and figure out what I was trying to
> accomplish by suggesting that we accept these APIs.
> >
> > In fact, I think it’s time we figure out exactly what FlexJS actually is.
> >
> > The motivation to accept the code into FlexJS was really to empower
> users to have access to great APIs and capabilities. However to say that
> any cool functionality should become part of the core product probably does
> not make sense. Case in point: I’m currently working on FlexJS support for
> CEP panels in Adobe extensions. I think it’s great functionality, but I
> don’t believe it belongs in the Flex repo.
> >
> > To address the question of exactly what belongs in the FlexJS repo, I
> think we need to address exactly what is the identity of FlexJS actually
> is. Different folks would probably have different definitions, but here’s
> what I think:
> >
> > 1. It’s the compiler which turns MXML and ActionScript into Javascript.
> > 2. It’s the paradigm of composing apps using MXML.
> > 3. It’s a set (or sets) of components which is built with this paradigm
> in mind. (similar to mx and spark components in the classic Flex framework.)
> > 4. It’s the infrastructure which enables tools to take advantage of this.
> >
> > I think that’s pretty much it.
> >
> > Based on this definition, drawing APIs are probably not “Flex core”. In
> fact, some of the other packages which already exist are probably also not
> Flex core (such as GoogleMaps).
> >
> > These are all useful things, but trying to include all useful things
> will cause a lot of bloat and actually probably stunt community growth.
> Until our focus was how to grow the Apache Flex community. I think we’ve
> come to a bit of a cross-roads here, and we need to figure out how to help
> grow the community OUTSIDE Apache.
> >
> > What would accepting these APIs accomplish? I think primarily three
> things:
> > 1. Give the APis visibility.
> > 2. Help promote others to work on them.
> > 3. Make it easy for clients to use them.
> >
> > These are generalized problems and I think we need to solve them in a
> generalized way so the next person who comes up with some other awesome
> classes will have these problems solved as well. If someone builds some
> cool stuff around FlexJs, we should not need discussion to make them useful
> and usable.
> >
> > Here’s some ideas I came up with while thinking about this:
> >
> > 1. We need a way to find tools and libraries that support FlexJS.
> > 2. We need to help external libraries automate builds of swcs. I think
> it would be really useful to publish some docs with a recommended workflow
> for Github to do this.
> > 3. We need some kind of central repository of FlexJS swcs outside
> Apache. There should probably be two classes of swcs. Ones that are
> strictly externs, and others which actually compile into Javascript code.
> > 4. I think we need a system to create an automated build of Definitely
> Typed definitions into FlexJS swcs into a centralized repo. I think  Github
> has hooks you can use to trigger things when their repo changes.
> >
> > If these four points are addressed, I think it’ll do a lot to build the
> greater community without adding all kinds of peripherals into the core
> FlexJS repo. (and much more effectively as well) It’s not necessary for
> Apache Flex to address all these directly. If the community at large
> addresses some of them, that’s also fine (or maybe even better).
> >
> > Harbs
> >
> > On Apr 19, 2016, at 6:39 PM, Josh Tynjala  wrote:
> >
> >> I've always thought that someone implementing the Flash classes is a
> good
> >> idea, but that it makes the most sense as an external project. In other
> >> words, not included with Apache FlexJS. There's nothing wrong with
> external
> >> projects. In fact, they're a sign of a healthy community! We should be
> >> encouraging them and promoting them.
> >>
> >> I agree with Alex's points that including the Flash classes in FlexJS
> will
> >> set expectations of compatibility that may not be desirable from our
> side.
> >> It also keeps FlexJS bound to the legacy of Flash, instead of showing
> that
> >> the project is evolving into something new and intere

Re: FlexJS identity crisis. was: [Discuss]Accept donation of drawing APIs

2016-04-19 Thread Harbs
I missed a fifth item in my list of things we need:
5. We need tooling to pull in external swcs (externs and cross-copiling ones) 
when compiling to Javascript.

(I think we also need a naming convention for the two types of swcs. 
"definition swcs" and "code swcs”?)

On Apr 20, 2016, at 1:37 AM, Harbs  wrote:

> Alex and Josh bring up good points.
> 
> I’m thinking that I should step back and figure out what I was trying to 
> accomplish by suggesting that we accept these APIs.
> 
> In fact, I think it’s time we figure out exactly what FlexJS actually is.
> 
> The motivation to accept the code into FlexJS was really to empower users to 
> have access to great APIs and capabilities. However to say that any cool 
> functionality should become part of the core product probably does not make 
> sense. Case in point: I’m currently working on FlexJS support for CEP panels 
> in Adobe extensions. I think it’s great functionality, but I don’t believe it 
> belongs in the Flex repo.
> 
> To address the question of exactly what belongs in the FlexJS repo, I think 
> we need to address exactly what is the identity of FlexJS actually is. 
> Different folks would probably have different definitions, but here’s what I 
> think:
> 
> 1. It’s the compiler which turns MXML and ActionScript into Javascript.
> 2. It’s the paradigm of composing apps using MXML.
> 3. It’s a set (or sets) of components which is built with this paradigm in 
> mind. (similar to mx and spark components in the classic Flex framework.)
> 4. It’s the infrastructure which enables tools to take advantage of this.
> 
> I think that’s pretty much it.
> 
> Based on this definition, drawing APIs are probably not “Flex core”. In fact, 
> some of the other packages which already exist are probably also not Flex 
> core (such as GoogleMaps).
> 
> These are all useful things, but trying to include all useful things will 
> cause a lot of bloat and actually probably stunt community growth. Until our 
> focus was how to grow the Apache Flex community. I think we’ve come to a bit 
> of a cross-roads here, and we need to figure out how to help grow the 
> community OUTSIDE Apache.
> 
> What would accepting these APIs accomplish? I think primarily three things:
> 1. Give the APis visibility.
> 2. Help promote others to work on them.
> 3. Make it easy for clients to use them.
> 
> These are generalized problems and I think we need to solve them in a 
> generalized way so the next person who comes up with some other awesome 
> classes will have these problems solved as well. If someone builds some cool 
> stuff around FlexJs, we should not need discussion to make them useful and 
> usable.
> 
> Here’s some ideas I came up with while thinking about this:
> 
> 1. We need a way to find tools and libraries that support FlexJS.
> 2. We need to help external libraries automate builds of swcs. I think it 
> would be really useful to publish some docs with a recommended workflow for 
> Github to do this.
> 3. We need some kind of central repository of FlexJS swcs outside Apache. 
> There should probably be two classes of swcs. Ones that are strictly externs, 
> and others which actually compile into Javascript code.
> 4. I think we need a system to create an automated build of Definitely Typed 
> definitions into FlexJS swcs into a centralized repo. I think  Github has 
> hooks you can use to trigger things when their repo changes.
> 
> If these four points are addressed, I think it’ll do a lot to build the 
> greater community without adding all kinds of peripherals into the core 
> FlexJS repo. (and much more effectively as well) It’s not necessary for 
> Apache Flex to address all these directly. If the community at large 
> addresses some of them, that’s also fine (or maybe even better).
> 
> Harbs
> 
> On Apr 19, 2016, at 6:39 PM, Josh Tynjala  wrote:
> 
>> I've always thought that someone implementing the Flash classes is a good
>> idea, but that it makes the most sense as an external project. In other
>> words, not included with Apache FlexJS. There's nothing wrong with external
>> projects. In fact, they're a sign of a healthy community! We should be
>> encouraging them and promoting them.
>> 
>> I agree with Alex's points that including the Flash classes in FlexJS will
>> set expectations of compatibility that may not be desirable from our side.
>> It also keeps FlexJS bound to the legacy of Flash, instead of showing that
>> the project is evolving into something new and interesting.
>> 
>> - Josh
>> 
>> On Tue, Apr 19, 2016 at 8:05 AM, Alex Harui  wrote:
>> 
>>> 
>>> 
>>> On 4/19/16, 12:01 AM, "Harbs"  wrote:
>>> 
 webgl is not a very good name, because a lot of the code is actually
 canvas rather than webgl.
>>> 
>>> OK.  I realized that Lizhi has been calling it SpriteFlexJS.  So that
>>> could be in the package name.
>>> 
>>> Actually this might be a good time to discuss names in terms of business
>>> models.  Lizhi, I want to make sure you are aware th

FlexJS identity crisis. was: [Discuss]Accept donation of drawing APIs

2016-04-19 Thread Harbs
Alex and Josh bring up good points.

I’m thinking that I should step back and figure out what I was trying to 
accomplish by suggesting that we accept these APIs.

In fact, I think it’s time we figure out exactly what FlexJS actually is.

The motivation to accept the code into FlexJS was really to empower users to 
have access to great APIs and capabilities. However to say that any cool 
functionality should become part of the core product probably does not make 
sense. Case in point: I’m currently working on FlexJS support for CEP panels in 
Adobe extensions. I think it’s great functionality, but I don’t believe it 
belongs in the Flex repo.

To address the question of exactly what belongs in the FlexJS repo, I think we 
need to address exactly what is the identity of FlexJS actually is. Different 
folks would probably have different definitions, but here’s what I think:

1. It’s the compiler which turns MXML and ActionScript into Javascript.
2. It’s the paradigm of composing apps using MXML.
3. It’s a set (or sets) of components which is built with this paradigm in 
mind. (similar to mx and spark components in the classic Flex framework.)
4. It’s the infrastructure which enables tools to take advantage of this.

I think that’s pretty much it.

Based on this definition, drawing APIs are probably not “Flex core”. In fact, 
some of the other packages which already exist are probably also not Flex core 
(such as GoogleMaps).

These are all useful things, but trying to include all useful things will cause 
a lot of bloat and actually probably stunt community growth. Until our focus 
was how to grow the Apache Flex community. I think we’ve come to a bit of a 
cross-roads here, and we need to figure out how to help grow the community 
OUTSIDE Apache.

What would accepting these APIs accomplish? I think primarily three things:
1. Give the APis visibility.
2. Help promote others to work on them.
3. Make it easy for clients to use them.

These are generalized problems and I think we need to solve them in a 
generalized way so the next person who comes up with some other awesome classes 
will have these problems solved as well. If someone builds some cool stuff 
around FlexJs, we should not need discussion to make them useful and usable.

Here’s some ideas I came up with while thinking about this:

1. We need a way to find tools and libraries that support FlexJS.
2. We need to help external libraries automate builds of swcs. I think it would 
be really useful to publish some docs with a recommended workflow for Github to 
do this.
3. We need some kind of central repository of FlexJS swcs outside Apache. There 
should probably be two classes of swcs. Ones that are strictly externs, and 
others which actually compile into Javascript code.
4. I think we need a system to create an automated build of Definitely Typed 
definitions into FlexJS swcs into a centralized repo. I think  Github has hooks 
you can use to trigger things when their repo changes.

If these four points are addressed, I think it’ll do a lot to build the greater 
community without adding all kinds of peripherals into the core FlexJS repo. 
(and much more effectively as well) It’s not necessary for Apache Flex to 
address all these directly. If the community at large addresses some of them, 
that’s also fine (or maybe even better).

Harbs

On Apr 19, 2016, at 6:39 PM, Josh Tynjala  wrote:

> I've always thought that someone implementing the Flash classes is a good
> idea, but that it makes the most sense as an external project. In other
> words, not included with Apache FlexJS. There's nothing wrong with external
> projects. In fact, they're a sign of a healthy community! We should be
> encouraging them and promoting them.
> 
> I agree with Alex's points that including the Flash classes in FlexJS will
> set expectations of compatibility that may not be desirable from our side.
> It also keeps FlexJS bound to the legacy of Flash, instead of showing that
> the project is evolving into something new and interesting.
> 
> - Josh
> 
> On Tue, Apr 19, 2016 at 8:05 AM, Alex Harui  wrote:
> 
>> 
>> 
>> On 4/19/16, 12:01 AM, "Harbs"  wrote:
>> 
>>> webgl is not a very good name, because a lot of the code is actually
>>> canvas rather than webgl.
>> 
>> OK.  I realized that Lizhi has been calling it SpriteFlexJS.  So that
>> could be in the package name.
>> 
>> Actually this might be a good time to discuss names in terms of business
>> models.  Lizhi, I want to make sure you are aware that whatever name we
>> put on your code base will belong to Apache and you won't be able to sell
>> software using that name.  This is a public mailing list, so feel free to
>> not answer or write me directly, but an important point is this: I'm not
>> sure how you plan to keep contributing to the SpriteFlexJS code, but if it
>> involves selling the software what most people do is come up with two
>> names, one for the for-profit software and one for the open source code
>> base.

Re: [Discuss]Accept donation of drawing APIs

2016-04-19 Thread jude
But Flex is based on the Flash runtime and underlying API. Without the
drawing commands, the interactive layer, point classes, event management,
byte array, birthday data, mouse events, etc Flex and other frameworks
wouldn't be possible.

The Flash layer and related classes are what Flex is built on.

The point of Flex JS is to run on both Flash and the browser so it's not
entirely new. Flash is the foundation for one of those targets. we know
what to expect from it. With Flex js the goal is to build the exact same
house visually and functionally on two aspirate foundations. one is tried
and true and the new one we're still building from the ground up. But for
this to work those two foundations need to be identical IMHO.

I wouldn't be opposed to having Apache Flex projects using external
libraries from Github. But in some capacity we would need the same quality
control, testing and licensing. I don't know if you can do that with an
external library.

I wouldn't worry about expectations and that shouldn't be an excuse. We
deal with them all the time anyway.

Apache was kind enough to give us a canned response, "If you have an itch
scratch it yourself. If it's broke fix it yourself." since we aren't a
corporate identity we can easily add a disclaimer, "this project is run by
volunteers. The full Flash api is not supported. The project is open
source. feel free to jump in and add missing pieces"

on another note, this project could benefit from corporate sponsors and
endorsements. feature and bug fixing bounties could help bring in the
freelancer crowd. filling in the missing api would be quickly solved. ...
if anyone knows how to do this or know someone that does then we need to
get them on board. ...side tracked again, but I bring this up bc I know
developers who would help this project along given endorsements,
sponsorship, branding, etc. in the same way angular is popular even though
it has so many issues. The main reason it is is because Google endorses it.
On Apr 19, 2016 10:40 AM, "Josh Tynjala"  wrote:

> I've always thought that someone implementing the Flash classes is a good
> idea, but that it makes the most sense as an external project. In other
> words, not included with Apache FlexJS. There's nothing wrong with external
> projects. In fact, they're a sign of a healthy community! We should be
> encouraging them and promoting them.
>
> I agree with Alex's points that including the Flash classes in FlexJS will
> set expectations of compatibility that may not be desirable from our side.
> It also keeps FlexJS bound to the legacy of Flash, instead of showing that
> the project is evolving into something new and interesting.
>
> - Josh
>
> On Tue, Apr 19, 2016 at 8:05 AM, Alex Harui  wrote:
>
> >
> >
> > On 4/19/16, 12:01 AM, "Harbs"  wrote:
> >
> > >webgl is not a very good name, because a lot of the code is actually
> > >canvas rather than webgl.
> >
> > OK.  I realized that Lizhi has been calling it SpriteFlexJS.  So that
> > could be in the package name.
> >
> > Actually this might be a good time to discuss names in terms of business
> > models.  Lizhi, I want to make sure you are aware that whatever name we
> > put on your code base will belong to Apache and you won't be able to sell
> > software using that name.  This is a public mailing list, so feel free to
> > not answer or write me directly, but an important point is this: I'm not
> > sure how you plan to keep contributing to the SpriteFlexJS code, but if
> it
> > involves selling the software what most people do is come up with two
> > names, one for the for-profit software and one for the open source code
> > base.  For example, the Apache Subversion project doesn't let other
> > for-profit products be called Subversion, but they can use SVN.  Adobe
> > PhoneGap is a for-profit product based on Apache Cordova.
> >
> > >
> > >What might make more sense would be to keep all the flash packages as
> > >experimental, and if we can identify robust piece of the package, we can
> > >repurpose some of the code to be in separate packages.
> >
> > Another option is that we don't bring in all of this code right away.
> > Didn't this thread start based on interest in Lizhi's ByteArray?  Lizhi
> > could donate that one file and we could use it under a different package
> > name.
> >
> > >
> > >I see value in keeping the flash packages as such, because it will
> likely
> > >help spur more people who want complete “flash-like” APIs to do work on
> > >it. As Lizhi points out, there are incomplete areas in his code.
> > >
> > >As far as demand for Flash and Starling goes: I expect that folks who
> > >want more support will have to help out in improving it. Again, I hope
> > >this will help attract more people to work on it.
> >
> > In short, I'm just wondering if the work on Flash and Starling is Flex.
> > Should it have its own community?  FlexJS will hopefully have many
> > customers and not all of their code should be in our code base.
> >
> > -Alex
> 

[FlexJS] DataItemRenderer and HorizontalLayout - question

2016-04-19 Thread piotrz
Hi,

I was experimenting with DataItemRenderer in TodoListSampleApp. I see that
TodoItemRenderer have adjustSize method with logic which positioning
controls. - They have displayed horizontally. - Nicly in flash and js.

I've tried create new item renderer [1] with HorizontalLayout bead. - The
result looks like that [2]. 

My question is - Do I always have to adjust position "manually"? Is it the
way how it should be done in item renderers ?

[1] https://paste.apache.org/u8PL
[2] http://images.devs-on.net/Image/8rD5081eoKZwXYB5-Region.png

Piotr



-
Apache Flex PMC
piotrzarzyck...@gmail.com
--
View this message in context: 
http://apache-flex-development.247.n4.nabble.com/FlexJS-DataItemRenderer-and-HorizontalLayout-question-tp52494.html
Sent from the Apache Flex Development mailing list archive at Nabble.com.


Re: [Discuss]Accept donation of drawing APIs

2016-04-19 Thread Josh Tynjala
I've always thought that someone implementing the Flash classes is a good
idea, but that it makes the most sense as an external project. In other
words, not included with Apache FlexJS. There's nothing wrong with external
projects. In fact, they're a sign of a healthy community! We should be
encouraging them and promoting them.

I agree with Alex's points that including the Flash classes in FlexJS will
set expectations of compatibility that may not be desirable from our side.
It also keeps FlexJS bound to the legacy of Flash, instead of showing that
the project is evolving into something new and interesting.

- Josh

On Tue, Apr 19, 2016 at 8:05 AM, Alex Harui  wrote:

>
>
> On 4/19/16, 12:01 AM, "Harbs"  wrote:
>
> >webgl is not a very good name, because a lot of the code is actually
> >canvas rather than webgl.
>
> OK.  I realized that Lizhi has been calling it SpriteFlexJS.  So that
> could be in the package name.
>
> Actually this might be a good time to discuss names in terms of business
> models.  Lizhi, I want to make sure you are aware that whatever name we
> put on your code base will belong to Apache and you won't be able to sell
> software using that name.  This is a public mailing list, so feel free to
> not answer or write me directly, but an important point is this: I'm not
> sure how you plan to keep contributing to the SpriteFlexJS code, but if it
> involves selling the software what most people do is come up with two
> names, one for the for-profit software and one for the open source code
> base.  For example, the Apache Subversion project doesn't let other
> for-profit products be called Subversion, but they can use SVN.  Adobe
> PhoneGap is a for-profit product based on Apache Cordova.
>
> >
> >What might make more sense would be to keep all the flash packages as
> >experimental, and if we can identify robust piece of the package, we can
> >repurpose some of the code to be in separate packages.
>
> Another option is that we don't bring in all of this code right away.
> Didn't this thread start based on interest in Lizhi's ByteArray?  Lizhi
> could donate that one file and we could use it under a different package
> name.
>
> >
> >I see value in keeping the flash packages as such, because it will likely
> >help spur more people who want complete “flash-like” APIs to do work on
> >it. As Lizhi points out, there are incomplete areas in his code.
> >
> >As far as demand for Flash and Starling goes: I expect that folks who
> >want more support will have to help out in improving it. Again, I hope
> >this will help attract more people to work on it.
>
> In short, I'm just wondering if the work on Flash and Starling is Flex.
> Should it have its own community?  FlexJS will hopefully have many
> customers and not all of their code should be in our code base.
>
> -Alex
>
>


Re: [Discuss]Accept donation of drawing APIs

2016-04-19 Thread Alex Harui


On 4/19/16, 12:01 AM, "Harbs"  wrote:

>webgl is not a very good name, because a lot of the code is actually
>canvas rather than webgl.

OK.  I realized that Lizhi has been calling it SpriteFlexJS.  So that
could be in the package name.

Actually this might be a good time to discuss names in terms of business
models.  Lizhi, I want to make sure you are aware that whatever name we
put on your code base will belong to Apache and you won't be able to sell
software using that name.  This is a public mailing list, so feel free to
not answer or write me directly, but an important point is this: I'm not
sure how you plan to keep contributing to the SpriteFlexJS code, but if it
involves selling the software what most people do is come up with two
names, one for the for-profit software and one for the open source code
base.  For example, the Apache Subversion project doesn't let other
for-profit products be called Subversion, but they can use SVN.  Adobe
PhoneGap is a for-profit product based on Apache Cordova.

>
>What might make more sense would be to keep all the flash packages as
>experimental, and if we can identify robust piece of the package, we can
>repurpose some of the code to be in separate packages.

Another option is that we don't bring in all of this code right away.
Didn't this thread start based on interest in Lizhi's ByteArray?  Lizhi
could donate that one file and we could use it under a different package
name.

>
>I see value in keeping the flash packages as such, because it will likely
>help spur more people who want complete “flash-like” APIs to do work on
>it. As Lizhi points out, there are incomplete areas in his code.
>
>As far as demand for Flash and Starling goes: I expect that folks who
>want more support will have to help out in improving it. Again, I hope
>this will help attract more people to work on it.

In short, I'm just wondering if the work on Flash and Starling is Flex.
Should it have its own community?  FlexJS will hopefully have many
customers and not all of their code should be in our code base.

-Alex



Re: [Discuss]Accept donation of drawing APIs

2016-04-19 Thread Harbs
webgl is not a very good name, because a lot of the code is actually canvas 
rather than webgl.

I think that expectations can be set using documentation. We can label flash 
packages as “experimental” or something similar, so clients would be aware that 
it will likely be incomplete.

What might make more sense would be to keep all the flash packages as 
experimental, and if we can identify robust piece of the package, we can 
repurpose some of the code to be in separate packages.

I see value in keeping the flash packages as such, because it will likely help 
spur more people who want complete “flash-like” APIs to do work on it. As Lizhi 
points out, there are incomplete areas in his code.

As far as demand for Flash and Starling goes: I expect that folks who want more 
support will have to help out in improving it. Again, I hope this will help 
attract more people to work on it.

The legal concerns of using the flash package name seems really far-fetched to 
me.

On Apr 19, 2016, at 8:56 AM, Alex Harui  wrote:

> Warning:  I can't decide if I'm just playing devil's advocate or am truly
> concerned about this, but below are some worst-case scenarios, which may
> need to be taken with a grain of salt.
> 
> My latest proposal is that we rename packages from "flash.* to "webgl.*"
> and teach the compiler how to map things.  And maybe also update the
> reflection library to be aware that there was a mapping.  We might end up
> having the compiler do this sort of thing to migrate Flex code bases as
> well.  Yes, it may mean that migration isn't automatic.  But IMO, until we
> find a clean way to do weak references in JS, there is going to have to be
> some migration pain.
> 
> On 4/18/16, 6:47 PM, "omup...@gmail.com on behalf of OmPrakash Muppirala"
>  wrote:
>> 
>> We already have package names like jquery.*.* and createjs.*.* where we
>> are
>> using the same package names for consistency.  Are we proposing to change
>> all those package names as well, so that we dont set expectations of doing
>> everything that jquery does?
> 
> The jquery and createjs implementations actually use Jquery and CreateJS
> on the JS side, so it should meet expectations.
> 
> There is a potential outcome where we end up having more demand for Flash
> emulation in JS than Flex.  Or spending more time on Starling than on
> Flex.  If that's where the community wants to go, I can't stop it, but
> this project is called Flex.  And, IMO, the big money is in enterprise
> code bases in Flex.
> 
>> 
>> If it turns out that that lot of folks complain about the classes not
>> meeting the expectations, we could probably add the features or worst case
>> swap the package names to flex.*
> 
> We can change the package names and have the compiler do-the-right thing.
> If we set the precedence of using "flash" it will be harder to change in
> the future.  We'll get backwards compatibility complaints and the search
> engines will turn up "flash" stuff for a long time.  When I think about
> the person-hours devoted to Flash at Adobe, it is hard to imagine this
> community finding the time to even do a fraction of that investment.  It
> seemed like even Google was having trouble making Pepper Flash a true
> equivalent.
> 
> And there might be increased legal issues due to things like this [1].
> 
> -Alex
> 
> [1] http://blog.smartbear.com/apis/api-copyright-and-why-you-should-care/
> 
> 
>