Substitutes in Apache Royale

classic Classic list List threaded Threaded
57 messages Options
123
Reply | Threaded
Open this post in threaded view
|

Substitutes in Apache Royale

alina kazi-2

Hi,

 

I have replaced few imports in Apache Royale Project after comparison in terms of functionality.

As you all are more familiar to Flex and Apache Royale.

Are these correct substitutes?

import org.apache.royale.html.Alert; //instead of import mx.controls.Alert;

import org.apache.royale.events.CloseEvent; // instead of import mx.events.CloseEvent;

import org.apache.royale.net.events.FaultEvent; // instead of import mx.rpc.events.FaultEvent;

import org.apache.royale.net.events.ResultEvent; //instead of import mx.rpc.events.ResultEvent;

import mx.collections.ArrayCollection; //very similar to org.apache.royale.collections.TreeData

import mx.collections.Sort; // No Alternate found

import mx.collections.SortField;// No Alternate found

import mx.managers.PopUpManager; //org.apache.royale.core.IPopUp or .IPopUpHost

import org.apache.royale.utils.StringUtil;// instead of import mx.utils.StringUtil;

 

Reference: http://apacheflexbuild.cloudapp.net:8080/job/Royale_ASDoc_Example/lastSuccessfulBuild/artifact/examples/royale/ASDoc/bin/js-debug/index.html

 

Thanks,

Alina Kazi

 

Reply | Threaded
Open this post in threaded view
|

Re: Substitutes in Apache Royale

Alex Harui-2
Hi Alina,

Other than ArrayCollection, that looks right.  There will be sorting classes eventually.

I think there are two buckets of things that you are going to need:

Things we haven't written yet:
  - DividedBox/Container (mostly done)
 - Menu/MenuBar
 - VariableRowHeight
 - Editable DataGrids
 - Sorting?

Things we have written, but aren't packaged in a way that makes migration easy:
 - TitleWindow
 - Canvas
 - ArrayCollection

For ArrayCollection, do you use array indexing (myArrayCollection[0]) or do you access it as getItemAt(0)?

You have so many files to port, it is tempting to create a Spark-ish and MX-ish component set.  They wouldn't be fully backward compatible but would try to implement the most commonly used APIs.  I'm wondering what percentage of Flex APIs you actually used in your app.  If I modify the Royale compiler, could you try compiling your Flex app with the Royale compiler and generate a report of APIs used?

Thanks,
-Alex

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Wednesday, February 14, 2018 at 11:06 PM
To: "[hidden email]" <[hidden email]>
Subject: Substitutes in Apache Royale

Hi,

 

I have replaced few imports in Apache Royale Project after comparison in terms of functionality.

As you all are more familiar to Flex and Apache Royale.

Are these correct substitutes?

import org.apache.royale.html.Alert; //instead of import mx.controls.Alert;

import org.apache.royale.events.CloseEvent; // instead of import mx.events.CloseEvent;

import org.apache.royale.net.events.FaultEvent; // instead of import mx.rpc.events.FaultEvent;

import org.apache.royale.net.events.ResultEvent; //instead of import mx.rpc.events.ResultEvent;

import mx.collections.ArrayCollection; //very similar to org.apache.royale.collections.TreeData

import mx.collections.Sort; // No Alternate found

import mx.collections.SortField;// No Alternate found

import mx.managers.PopUpManager; //org.apache.royale.core.IPopUp or .IPopUpHost

import org.apache.royale.utils.StringUtil;// instead of import mx.utils.StringUtil;

 

Reference: http://apacheflexbuild.cloudapp.net:8080/job/Royale_ASDoc_Example/lastSuccessfulBuild/artifact/examples/royale/ASDoc/bin/js-debug/index.html

 

Thanks,

Alina Kazi

 

Reply | Threaded
Open this post in threaded view
|

Re: Substitutes in Apache Royale

Harbs
In reply to this post by alina kazi-2
CloseEvent,FaultEvent and ResultEvent are not really needed in Royale. Royale takes a much more “laid back” approach to Events and only creates new Event classes when they are absolutely needed.

99% if the uses of ArrayCollection can be replaced with ArrayList which exists in Royale.

Sort and SortField do not exist, but I’ve found that I was able to replace my uses with a simple Array sort.

For Alert, you can either use Alert or SimpleAlert. Another option is an MDL Dialog.

StringUtil is a direct port from mx. The functions in StringUtil will gradually be deprecated in favor of package level functions.

Make sure you really need PopUpManager. Like was already mentioned, you can probably just use addElement().

HTH,
Harbs

On Feb 15, 2018, at 9:06 AM, Alina Kazi <[hidden email]> wrote:

Hi,
 
I have replaced few imports in Apache Royale Project after comparison in terms of functionality.
As you all are more familiar to Flex and Apache Royale. 
Are these correct substitutes?
import org.apache.royale.html.Alert; //instead of import mx.controls.Alert;
import org.apache.royale.events.CloseEvent; // instead of import mx.events.CloseEvent;
import org.apache.royale.net.events.FaultEvent; // instead of import mx.rpc.events.FaultEvent;
import org.apache.royale.net.events.ResultEvent; //instead of import mx.rpc.events.ResultEvent;
import mx.collections.ArrayCollection; //very similar to org.apache.royale.collections.TreeData
import mx.collections.Sort; // No Alternate found
import mx.collections.SortField;// No Alternate found
import mx.managers.PopUpManager; //org.apache.royale.core.IPopUp or .IPopUpHost
import org.apache.royale.utils.StringUtil;// instead of import mx.utils.StringUtil;
 
 
Thanks,
Alina Kazi

Reply | Threaded
Open this post in threaded view
|

Re: Substitutes in Apache Royale

Carlos Rovira-2
Hi Harbs,

mostly agree but for me ArrayCollection, FaultEvent and ResultEvent are very close to the business logic we don't want to migrate or try to left untouched. 
I think that three classes should have Royale counterparts to reduce migration pain.

I'm talking more from a user role or someone that wants in the end make the same Alina is doing with our Avant2 app at Codeoscopic

thanks


2018-02-15 10:15 GMT+01:00 Gabe Harbs <[hidden email]>:
CloseEvent,FaultEvent and ResultEvent are not really needed in Royale. Royale takes a much more “laid back” approach to Events and only creates new Event classes when they are absolutely needed.

99% if the uses of ArrayCollection can be replaced with ArrayList which exists in Royale.

Sort and SortField do not exist, but I’ve found that I was able to replace my uses with a simple Array sort.

For Alert, you can either use Alert or SimpleAlert. Another option is an MDL Dialog.

StringUtil is a direct port from mx. The functions in StringUtil will gradually be deprecated in favor of package level functions.

Make sure you really need PopUpManager. Like was already mentioned, you can probably just use addElement().

HTH,
Harbs

On Feb 15, 2018, at 9:06 AM, Alina Kazi <[hidden email]> wrote:

Hi,
 
I have replaced few imports in Apache Royale Project after comparison in terms of functionality.
As you all are more familiar to Flex and Apache Royale. 
Are these correct substitutes?
import org.apache.royale.html.Alert; //instead of import mx.controls.Alert;
import org.apache.royale.events.CloseEvent; // instead of import mx.events.CloseEvent;
import org.apache.royale.net.events.FaultEvent; // instead of import mx.rpc.events.FaultEvent;
import org.apache.royale.net.events.ResultEvent; //instead of import mx.rpc.events.ResultEvent;
import mx.collections.ArrayCollection; //very similar to org.apache.royale.collections.TreeData
import mx.collections.Sort; // No Alternate found
import mx.collections.SortField;// No Alternate found
import mx.managers.PopUpManager; //org.apache.royale.core.IPopUp or .IPopUpHost
import org.apache.royale.utils.StringUtil;// instead of import mx.utils.StringUtil;
 
 
Thanks,
Alina Kazi




--
Reply | Threaded
Open this post in threaded view
|

Re: Substitutes in Apache Royale

Piotr Zarzycki
Carlos,

I believe it is the matter of trying. Harbs did try and replace his ArrayCollection without the problem with ArrayList. I did try it with some demo apps and it went well. If you start your migration and face a wall - it doesn't have to end up with solution where you adding some things to Royale. You can always implement ArrayCollection in your application and use it. 

My thought is that not everything need to be part of Royale.  :)

Thanks, Piotr

2018-02-15 10:25 GMT+01:00 Carlos Rovira <[hidden email]>:
Hi Harbs,

mostly agree but for me ArrayCollection, FaultEvent and ResultEvent are very close to the business logic we don't want to migrate or try to left untouched. 
I think that three classes should have Royale counterparts to reduce migration pain.

I'm talking more from a user role or someone that wants in the end make the same Alina is doing with our Avant2 app at Codeoscopic

thanks


2018-02-15 10:15 GMT+01:00 Gabe Harbs <[hidden email]>:
CloseEvent,FaultEvent and ResultEvent are not really needed in Royale. Royale takes a much more “laid back” approach to Events and only creates new Event classes when they are absolutely needed.

99% if the uses of ArrayCollection can be replaced with ArrayList which exists in Royale.

Sort and SortField do not exist, but I’ve found that I was able to replace my uses with a simple Array sort.

For Alert, you can either use Alert or SimpleAlert. Another option is an MDL Dialog.

StringUtil is a direct port from mx. The functions in StringUtil will gradually be deprecated in favor of package level functions.

Make sure you really need PopUpManager. Like was already mentioned, you can probably just use addElement().

HTH,
Harbs

On Feb 15, 2018, at 9:06 AM, Alina Kazi <[hidden email]> wrote:

Hi,
 
I have replaced few imports in Apache Royale Project after comparison in terms of functionality.
As you all are more familiar to Flex and Apache Royale. 
Are these correct substitutes?
import org.apache.royale.html.Alert; //instead of import mx.controls.Alert;
import org.apache.royale.events.CloseEvent; // instead of import mx.events.CloseEvent;
import org.apache.royale.net.events.FaultEvent; // instead of import mx.rpc.events.FaultEvent;
import org.apache.royale.net.events.ResultEvent; //instead of import mx.rpc.events.ResultEvent;
import mx.collections.ArrayCollection; //very similar to org.apache.royale.collections.TreeData
import mx.collections.Sort; // No Alternate found
import mx.collections.SortField;// No Alternate found
import mx.managers.PopUpManager; //org.apache.royale.core.IPopUp or .IPopUpHost
import org.apache.royale.utils.StringUtil;// instead of import mx.utils.StringUtil;
 
 
Thanks,
Alina Kazi




--



--

Piotr Zarzycki 

Patreon: https://www.patreon.com/piotrzarzycki

Reply | Threaded
Open this post in threaded view
|

Re: Substitutes in Apache Royale

Carlos Rovira-2
Hi Piotr,

I considered that scenario, but the fact that this classes (ArrayCollection, ResultEvent and Fault Event), are so close to Flex and to what all people out there like us did to build their Apps, ends make me think that this is our task to make this as easy as possible. We are not talking here of a flex third party component or class that some people was using. We are talking of some core framework classes that are present in almost all Flex apps.

So if we want to ease migration of flex to royale, this is a huge point to consider since it will be lots of DTOs (or VOs or value objects or POJOs) out there that can be copied without any modification, and the same for Controllers that works with HTTPService, RemoteObject or WebService classes...as well lots os BusinessDelegates, and other classes that are close to the server communication part of the Royale client code.

If we don't create counterparts those means lots of changes in code bases and not only recreate UI-UX with mxml and new UI sets...

So I think this is important not for concrete users, but for Royale as a project that has an important task in make as easy as we can ports from Flex to Royale.




2018-02-15 10:30 GMT+01:00 Piotr Zarzycki <[hidden email]>:
Carlos,

I believe it is the matter of trying. Harbs did try and replace his ArrayCollection without the problem with ArrayList. I did try it with some demo apps and it went well. If you start your migration and face a wall - it doesn't have to end up with solution where you adding some things to Royale. You can always implement ArrayCollection in your application and use it. 

My thought is that not everything need to be part of Royale.  :)

Thanks, Piotr

2018-02-15 10:25 GMT+01:00 Carlos Rovira <[hidden email]>:
Hi Harbs,

mostly agree but for me ArrayCollection, FaultEvent and ResultEvent are very close to the business logic we don't want to migrate or try to left untouched. 
I think that three classes should have Royale counterparts to reduce migration pain.

I'm talking more from a user role or someone that wants in the end make the same Alina is doing with our Avant2 app at Codeoscopic

thanks


2018-02-15 10:15 GMT+01:00 Gabe Harbs <[hidden email]>:
CloseEvent,FaultEvent and ResultEvent are not really needed in Royale. Royale takes a much more “laid back” approach to Events and only creates new Event classes when they are absolutely needed.

99% if the uses of ArrayCollection can be replaced with ArrayList which exists in Royale.

Sort and SortField do not exist, but I’ve found that I was able to replace my uses with a simple Array sort.

For Alert, you can either use Alert or SimpleAlert. Another option is an MDL Dialog.

StringUtil is a direct port from mx. The functions in StringUtil will gradually be deprecated in favor of package level functions.

Make sure you really need PopUpManager. Like was already mentioned, you can probably just use addElement().

HTH,
Harbs

On Feb 15, 2018, at 9:06 AM, Alina Kazi <[hidden email]> wrote:

Hi,
 
I have replaced few imports in Apache Royale Project after comparison in terms of functionality.
As you all are more familiar to Flex and Apache Royale. 
Are these correct substitutes?
import org.apache.royale.html.Alert; //instead of import mx.controls.Alert;
import org.apache.royale.events.CloseEvent; // instead of import mx.events.CloseEvent;
import org.apache.royale.net.events.FaultEvent; // instead of import mx.rpc.events.FaultEvent;
import org.apache.royale.net.events.ResultEvent; //instead of import mx.rpc.events.ResultEvent;
import mx.collections.ArrayCollection; //very similar to org.apache.royale.collections.TreeData
import mx.collections.Sort; // No Alternate found
import mx.collections.SortField;// No Alternate found
import mx.managers.PopUpManager; //org.apache.royale.core.IPopUp or .IPopUpHost
import org.apache.royale.utils.StringUtil;// instead of import mx.utils.StringUtil;
 
 
Thanks,
Alina Kazi




--



--

Piotr Zarzycki 

Patreon: https://www.patreon.com/piotrzarzycki




--
Reply | Threaded
Open this post in threaded view
|

Re: Substitutes in Apache Royale

Harbs
Your milage may vary, but I actually found that my code improved when I was forced to convert ArrayCollection to ArrayList. Some cases did not really need collections at all, and I did not really use ArrayCollection features anywhere. Being forced to use getItem() rather than indexes made the code clearer. The only issue I had was getting rid of uses of refresh() (which caused me to optimize some things) and replacing Sort with native Array sorting (which is also not a bad thing).

None of the cases where I had ResultEvent and FaultEvent really made a lot of sense to keep that logic in Royale (events should generally be of type Event), so keeping those events would just mask places where code should probably be rewritten.

What I did while migrating my code was create dummy classes for these events (with constants). This allowed me to analyze where they where being used while eliminating compiler errors.

My $0.02,
Harbs

On Feb 15, 2018, at 11:38 AM, Carlos Rovira <[hidden email]> wrote:

Hi Piotr,

I considered that scenario, but the fact that this classes (ArrayCollection, ResultEvent and Fault Event), are so close to Flex and to what all people out there like us did to build their Apps, ends make me think that this is our task to make this as easy as possible. We are not talking here of a flex third party component or class that some people was using. We are talking of some core framework classes that are present in almost all Flex apps.

So if we want to ease migration of flex to royale, this is a huge point to consider since it will be lots of DTOs (or VOs or value objects or POJOs) out there that can be copied without any modification, and the same for Controllers that works with HTTPService, RemoteObject or WebService classes...as well lots os BusinessDelegates, and other classes that are close to the server communication part of the Royale client code.

If we don't create counterparts those means lots of changes in code bases and not only recreate UI-UX with mxml and new UI sets...

So I think this is important not for concrete users, but for Royale as a project that has an important task in make as easy as we can ports from Flex to Royale.




2018-02-15 10:30 GMT+01:00 Piotr Zarzycki <[hidden email]>:
Carlos,

I believe it is the matter of trying. Harbs did try and replace his ArrayCollection without the problem with ArrayList. I did try it with some demo apps and it went well. If you start your migration and face a wall - it doesn't have to end up with solution where you adding some things to Royale. You can always implement ArrayCollection in your application and use it. 

My thought is that not everything need to be part of Royale.  :)

Thanks, Piotr

2018-02-15 10:25 GMT+01:00 Carlos Rovira <[hidden email]>:
Hi Harbs,

mostly agree but for me ArrayCollection, FaultEvent and ResultEvent are very close to the business logic we don't want to migrate or try to left untouched. 
I think that three classes should have Royale counterparts to reduce migration pain.

I'm talking more from a user role or someone that wants in the end make the same Alina is doing with our Avant2 app at Codeoscopic

thanks


2018-02-15 10:15 GMT+01:00 Gabe Harbs <[hidden email]>:
CloseEvent,FaultEvent and ResultEvent are not really needed in Royale. Royale takes a much more “laid back” approach to Events and only creates new Event classes when they are absolutely needed.

99% if the uses of ArrayCollection can be replaced with ArrayList which exists in Royale.

Sort and SortField do not exist, but I’ve found that I was able to replace my uses with a simple Array sort.

For Alert, you can either use Alert or SimpleAlert. Another option is an MDL Dialog.

StringUtil is a direct port from mx. The functions in StringUtil will gradually be deprecated in favor of package level functions.

Make sure you really need PopUpManager. Like was already mentioned, you can probably just use addElement().

HTH,
Harbs

On Feb 15, 2018, at 9:06 AM, Alina Kazi <[hidden email]> wrote:

Hi,
 
I have replaced few imports in Apache Royale Project after comparison in terms of functionality.
As you all are more familiar to Flex and Apache Royale. 
Are these correct substitutes?
import org.apache.royale.html.Alert; //instead of import mx.controls.Alert;
import org.apache.royale.events.CloseEvent; // instead of import mx.events.CloseEvent;
import org.apache.royale.net.events.FaultEvent; // instead of import mx.rpc.events.FaultEvent;
import org.apache.royale.net.events.ResultEvent; //instead of import mx.rpc.events.ResultEvent;
import mx.collections.ArrayCollection; //very similar to org.apache.royale.collections.TreeData
import mx.collections.Sort; // No Alternate found
import mx.collections.SortField;// No Alternate found
import mx.managers.PopUpManager; //org.apache.royale.core.IPopUp or .IPopUpHost
import org.apache.royale.utils.StringUtil;// instead of import mx.utils.StringUtil;
 
 
Thanks,
Alina Kazi




--



--

Piotr Zarzycki 

Patreon: https://www.patreon.com/piotrzarzycki




--

Reply | Threaded
Open this post in threaded view
|

RE: Substitutes in Apache Royale

alina kazi-2
In reply to this post by Alex Harui-2

Hi Alex,

Thank you so much. You gave me hope that I can achieve my target on time and at least I am working in right direction.

At most places I'm using getItemAt(0) to access the element in ArrayCollection.

At some places myArrayCollection[0].propertyname  to access it

 

If you will modify the Royale compiler, I will definitely try compiling my Flex app with the Royale compiler and generate a report of APIs used.

Currently I am using Visual Studio Code and apache royale 0.9.0 release is installed.I will need your guidance which IDE and apache royale release should I use to generate that report.

 

Thanks,

Alina Kazi

From: Alex Harui [mailto:[hidden email]]
Sent: Thursday, February 15, 2018 1:40 PM
To: [hidden email]
Subject: Re: Substitutes in Apache Royale

 

Hi Alina,

 

Other than ArrayCollection, that looks right.  There will be sorting classes eventually.

 

I think there are two buckets of things that you are going to need:

 

Things we haven't written yet:

  - DividedBox/Container (mostly done)

 - Menu/MenuBar

 - VariableRowHeight

 - Editable DataGrids

 - Sorting?

 

Things we have written, but aren't packaged in a way that makes migration easy:

 - TitleWindow

 - Canvas

 - ArrayCollection

 

For ArrayCollection, do you use array indexing (myArrayCollection[0]) or do you access it as getItemAt(0)?

 

You have so many files to port, it is tempting to create a Spark-ish and MX-ish component set.  They wouldn't be fully backward compatible but would try to implement the most commonly used APIs.  I'm wondering what percentage of Flex APIs you actually used in your app.  If I modify the Royale compiler, could you try compiling your Flex app with the Royale compiler and generate a report of APIs used?

 

Thanks,

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Wednesday, February 14, 2018 at 11:06 PM
To: "[hidden email]" <[hidden email]>
Subject: Substitutes in Apache Royale

 

Hi,

 

I have replaced few imports in Apache Royale Project after comparison in terms of functionality.

As you all are more familiar to Flex and Apache Royale.

Are these correct substitutes?

import org.apache.royale.html.Alert; //instead of import mx.controls.Alert;

import org.apache.royale.events.CloseEvent; // instead of import mx.events.CloseEvent;

import org.apache.royale.net.events.FaultEvent; // instead of import mx.rpc.events.FaultEvent;

import org.apache.royale.net.events.ResultEvent; //instead of import mx.rpc.events.ResultEvent;

import mx.collections.ArrayCollection; //very similar to org.apache.royale.collections.TreeData

import mx.collections.Sort; // No Alternate found

import mx.collections.SortField;// No Alternate found

import mx.managers.PopUpManager; //org.apache.royale.core.IPopUp or .IPopUpHost

import org.apache.royale.utils.StringUtil;// instead of import mx.utils.StringUtil;

 

Reference: http://apacheflexbuild.cloudapp.net:8080/job/Royale_ASDoc_Example/lastSuccessfulBuild/artifact/examples/royale/ASDoc/bin/js-debug/index.html

 

Thanks,

Alina Kazi

 

Reply | Threaded
Open this post in threaded view
|

RE: Substitutes in Apache Royale

alina kazi-2
In reply to this post by Harbs

Thank you both(Piotr and Harbs)

Regards,

Alina

 

From: Gabe Harbs [mailto:[hidden email]]
Sent: Thursday, February 15, 2018 2:53 PM
To: [hidden email]
Subject: Re: Substitutes in Apache Royale

 

Your milage may vary, but I actually found that my code improved when I was forced to convert ArrayCollection to ArrayList. Some cases did not really need collections at all, and I did not really use ArrayCollection features anywhere. Being forced to use getItem() rather than indexes made the code clearer. The only issue I had was getting rid of uses of refresh() (which caused me to optimize some things) and replacing Sort with native Array sorting (which is also not a bad thing).

 

None of the cases where I had ResultEvent and FaultEvent really made a lot of sense to keep that logic in Royale (events should generally be of type Event), so keeping those events would just mask places where code should probably be rewritten.

 

What I did while migrating my code was create dummy classes for these events (with constants). This allowed me to analyze where they where being used while eliminating compiler errors.

 

My $0.02,

Harbs

 

On Feb 15, 2018, at 11:38 AM, Carlos Rovira <[hidden email]> wrote:

 

Hi Piotr,

 

I considered that scenario, but the fact that this classes (ArrayCollection, ResultEvent and Fault Event), are so close to Flex and to what all people out there like us did to build their Apps, ends make me think that this is our task to make this as easy as possible. We are not talking here of a flex third party component or class that some people was using. We are talking of some core framework classes that are present in almost all Flex apps.

 

So if we want to ease migration of flex to royale, this is a huge point to consider since it will be lots of DTOs (or VOs or value objects or POJOs) out there that can be copied without any modification, and the same for Controllers that works with HTTPService, RemoteObject or WebService classes...as well lots os BusinessDelegates, and other classes that are close to the server communication part of the Royale client code.

 

If we don't create counterparts those means lots of changes in code bases and not only recreate UI-UX with mxml and new UI sets...

 

So I think this is important not for concrete users, but for Royale as a project that has an important task in make as easy as we can ports from Flex to Royale.

 

 

 

 

2018-02-15 10:30 GMT+01:00 Piotr Zarzycki <[hidden email]>:

Carlos,

 

I believe it is the matter of trying. Harbs did try and replace his ArrayCollection without the problem with ArrayList. I did try it with some demo apps and it went well. If you start your migration and face a wall - it doesn't have to end up with solution where you adding some things to Royale. You can always implement ArrayCollection in your application and use it. 


My thought is that not everything need to be part of Royale.  :)

 

Thanks, Piotr

 

2018-02-15 10:25 GMT+01:00 Carlos Rovira <[hidden email]>:

Hi Harbs,

 

mostly agree but for me ArrayCollection, FaultEvent and ResultEvent are very close to the business logic we don't want to migrate or try to left untouched. 

I think that three classes should have Royale counterparts to reduce migration pain.

 

I'm talking more from a user role or someone that wants in the end make the same Alina is doing with our Avant2 app at Codeoscopic

 

thanks

 

 

2018-02-15 10:15 GMT+01:00 Gabe Harbs <[hidden email]>:

CloseEvent,FaultEvent and ResultEvent are not really needed in Royale. Royale takes a much more “laid back” approach to Events and only creates new Event classes when they are absolutely needed.

 

99% if the uses of ArrayCollection can be replaced with ArrayList which exists in Royale.

 

Sort and SortField do not exist, but I’ve found that I was able to replace my uses with a simple Array sort.

 

For Alert, you can either use Alert or SimpleAlert. Another option is an MDL Dialog.

 

StringUtil is a direct port from mx. The functions in StringUtil will gradually be deprecated in favor of package level functions.

 

Make sure you really need PopUpManager. Like was already mentioned, you can probably just use addElement().

 

HTH,

Harbs

 

On Feb 15, 2018, at 9:06 AM, Alina Kazi <[hidden email]> wrote:

 

Hi,

 

I have replaced few imports in Apache Royale Project after comparison in terms of functionality.

As you all are more familiar to Flex and Apache Royale. 

Are these correct substitutes?

import org.apache.royale.html.Alert; //instead of import mx.controls.Alert;

import org.apache.royale.events.CloseEvent; // instead of import mx.events.CloseEvent;

import org.apache.royale.net.events.FaultEvent; // instead of import mx.rpc.events.FaultEvent;

import org.apache.royale.net.events.ResultEvent; //instead of import mx.rpc.events.ResultEvent;

import mx.collections.ArrayCollection; //very similar to org.apache.royale.collections.TreeData

import mx.collections.Sort; // No Alternate found

import mx.collections.SortField;// No Alternate found

import mx.managers.PopUpManager; //org.apache.royale.core.IPopUp or .IPopUpHost

import org.apache.royale.utils.StringUtil;// instead of import mx.utils.StringUtil;

 

 

Thanks,

Alina Kazi

 



 

--

Carlos Rovira

 



 

--

Piotr Zarzycki 

Patreon: https://www.patreon.com/piotrzarzycki



 

--

Carlos Rovira

 

 

Reply | Threaded
Open this post in threaded view
|

Re: Substitutes in Apache Royale

Alex Harui-2
In reply to this post by Carlos Rovira-2
For me, the factors are related to expectations and time.  If Royale has an mx.collections.ArrayCollection class, will you expect it to be 100% compatible and what will you think if it isn't?  Or has poor performance?

So if we say you must search and replace all instances of mx.collections.ArrayCollection with org.apache.royale.collections.ArrayCollection, does that change your expectations about backward compatibility?  Is that too much to ask folks migrating apps?

And if that's ok, what about searching and replacing mx.collections.ArrayCollection with org.apache.royale.collections.ArrayList?

We can add more stuff in subclasses of ArrayList to approach ArrayCollection, but without weak references in JavaScript, it will leak memory if you try to toss out the ArrayCollection but not its internal IList.  I would rather set expectations that things are different enough that you will have some work to do.

Then after we decide how to set expectations, there is the issue of finding the time to make components that more closely match Flex.  We have ArrayList.  Who will work on ArrayCollection and sorting?  The more folks can pitch in, the easier we can make migration, although it will never be line-for-line.

If you want ResultEvent/FaultEvent, go create it.  It should be easy enough to do.  We don't have to all agree.

My 2 cents,
-Alex


From: <[hidden email]> on behalf of Carlos Rovira <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Thursday, February 15, 2018 at 1:38 AM
To: "[hidden email]" <[hidden email]>
Subject: Re: Substitutes in Apache Royale

Hi Piotr,

I considered that scenario, but the fact that this classes (ArrayCollection, ResultEvent and Fault Event), are so close to Flex and to what all people out there like us did to build their Apps, ends make me think that this is our task to make this as easy as possible. We are not talking here of a flex third party component or class that some people was using. We are talking of some core framework classes that are present in almost all Flex apps.

So if we want to ease migration of flex to royale, this is a huge point to consider since it will be lots of DTOs (or VOs or value objects or POJOs) out there that can be copied without any modification, and the same for Controllers that works with HTTPService, RemoteObject or WebService classes...as well lots os BusinessDelegates, and other classes that are close to the server communication part of the Royale client code.

If we don't create counterparts those means lots of changes in code bases and not only recreate UI-UX with mxml and new UI sets...

So I think this is important not for concrete users, but for Royale as a project that has an important task in make as easy as we can ports from Flex to Royale.




2018-02-15 10:30 GMT+01:00 Piotr Zarzycki <[hidden email]>:
Carlos,

I believe it is the matter of trying. Harbs did try and replace his ArrayCollection without the problem with ArrayList. I did try it with some demo apps and it went well. If you start your migration and face a wall - it doesn't have to end up with solution where you adding some things to Royale. You can always implement ArrayCollection in your application and use it. 

My thought is that not everything need to be part of Royale.  :)

Thanks, Piotr

2018-02-15 10:25 GMT+01:00 Carlos Rovira <[hidden email]>:
Hi Harbs,

mostly agree but for me ArrayCollection, FaultEvent and ResultEvent are very close to the business logic we don't want to migrate or try to left untouched. 
I think that three classes should have Royale counterparts to reduce migration pain.

I'm talking more from a user role or someone that wants in the end make the same Alina is doing with our Avant2 app at Codeoscopic

thanks


2018-02-15 10:15 GMT+01:00 Gabe Harbs <[hidden email]>:
CloseEvent,FaultEvent and ResultEvent are not really needed in Royale. Royale takes a much more “laid back” approach to Events and only creates new Event classes when they are absolutely needed.

99% if the uses of ArrayCollection can be replaced with ArrayList which exists in Royale.

Sort and SortField do not exist, but I’ve found that I was able to replace my uses with a simple Array sort.

For Alert, you can either use Alert or SimpleAlert. Another option is an MDL Dialog.

StringUtil is a direct port from mx. The functions in StringUtil will gradually be deprecated in favor of package level functions.

Make sure you really need PopUpManager. Like was already mentioned, you can probably just use addElement().

HTH,
Harbs

On Feb 15, 2018, at 9:06 AM, Alina Kazi <[hidden email]> wrote:

Hi,
 
I have replaced few imports in Apache Royale Project after comparison in terms of functionality.
As you all are more familiar to Flex and Apache Royale. 
Are these correct substitutes?
import org.apache.royale.html.Alert; //instead of import mx.controls.Alert;
import org.apache.royale.events.CloseEvent; // instead of import mx.events.CloseEvent;
import org.apache.royale.net.events.FaultEvent; // instead of import mx.rpc.events.FaultEvent;
import org.apache.royale.net.events.ResultEvent; //instead of import mx.rpc.events.ResultEvent;
import mx.collections.ArrayCollection; //very similar to org.apache.royale.collections.TreeData
import mx.collections.Sort; // No Alternate found
import mx.collections.SortField;// No Alternate found
import mx.managers.PopUpManager; //org.apache.royale.core.IPopUp or .IPopUpHost
import org.apache.royale.utils.StringUtil;// instead of import mx.utils.StringUtil;
 
 
Thanks,
Alina Kazi




--



--

Piotr Zarzycki 

Patreon: https://www.patreon.com/piotrzarzycki




--
Reply | Threaded
Open this post in threaded view
|

Re: Substitutes in Apache Royale

Alex Harui-2
In reply to this post by alina kazi-2
Hi Alina,

I can't guarantee that you will be in production in six months, but I believe we can help you get to the point where every screen shows up and fills with data and we are fixing bugs in corner cases.   We might also be chasing down memory leaks and things like that.    My strategy for lots of things is to do the big things first and polish it later.  For example, I recently pushed some basic Virtual Item Renderer support for Royale, but I'm pretty sure it will have bugs in corner cases, like deleting things when scrolled to the bottom.  But most apps start at the top and it will get you going and we'll fix those corner cases later.

I want to finish up some infrastructural things in Royale over the next couple of weeks, then I will adjust the compiler to generate an API report.  Once we see what that looks like, I  should be able to help take the sample code you provided and make it work in Royale.  So maybe in a month or so, you'll see more activity around your code.  Right now I need to clean up a few things so we can be more efficient working with you.

You won't need an IDE to generate the API report.  If you know what compiler settings you are using for your Flex app, you can just run a Royale compiler from the command-line with the same arguments.  I believe that we are likely to make compiling your Flex app with the Royale compiler one of the steps in migrating. The Royale compiler will catch some syntax issues that the Flex compiler does not.

More later,
-Alex

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Thursday, February 15, 2018 at 2:13 AM
To: "[hidden email]" <[hidden email]>
Subject: RE: Substitutes in Apache Royale

Hi Alex,

Thank you so much. You gave me hope that I can achieve my target on time and at least I am working in right direction.

At most places I'm using getItemAt(0) to access the element in ArrayCollection.

At some places myArrayCollection[0].propertyname  to access it

 

If you will modify the Royale compiler, I will definitely try compiling my Flex app with the Royale compiler and generate a report of APIs used.

Currently I am using Visual Studio Code and apache royale 0.9.0 release is installed.I will need your guidance which IDE and apache royale release should I use to generate that report.

 

Thanks,

Alina Kazi

From: Alex Harui [[hidden email]]
Sent: Thursday, February 15, 2018 1:40 PM
To: [hidden email]
Subject: Re: Substitutes in Apache Royale

 

Hi Alina,

 

Other than ArrayCollection, that looks right.  There will be sorting classes eventually.

 

I think there are two buckets of things that you are going to need:

 

Things we haven't written yet:

  - DividedBox/Container (mostly done)

 - Menu/MenuBar

 - VariableRowHeight

 - Editable DataGrids

 - Sorting?

 

Things we have written, but aren't packaged in a way that makes migration easy:

 - TitleWindow

 - Canvas

 - ArrayCollection

 

For ArrayCollection, do you use array indexing (myArrayCollection[0]) or do you access it as getItemAt(0)?

 

You have so many files to port, it is tempting to create a Spark-ish and MX-ish component set.  They wouldn't be fully backward compatible but would try to implement the most commonly used APIs.  I'm wondering what percentage of Flex APIs you actually used in your app.  If I modify the Royale compiler, could you try compiling your Flex app with the Royale compiler and generate a report of APIs used?

 

Thanks,

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Wednesday, February 14, 2018 at 11:06 PM
To: "[hidden email]" <[hidden email]>
Subject: Substitutes in Apache Royale

 

Hi,

 

I have replaced few imports in Apache Royale Project after comparison in terms of functionality.

As you all are more familiar to Flex and Apache Royale.

Are these correct substitutes?

import org.apache.royale.html.Alert; //instead of import mx.controls.Alert;

import org.apache.royale.events.CloseEvent; // instead of import mx.events.CloseEvent;

import org.apache.royale.net.events.FaultEvent; // instead of import mx.rpc.events.FaultEvent;

import org.apache.royale.net.events.ResultEvent; //instead of import mx.rpc.events.ResultEvent;

import mx.collections.ArrayCollection; //very similar to org.apache.royale.collections.TreeData

import mx.collections.Sort; // No Alternate found

import mx.collections.SortField;// No Alternate found

import mx.managers.PopUpManager; //org.apache.royale.core.IPopUp or .IPopUpHost

import org.apache.royale.utils.StringUtil;// instead of import mx.utils.StringUtil;

 

Reference: http://apacheflexbuild.cloudapp.net:8080/job/Royale_ASDoc_Example/lastSuccessfulBuild/artifact/examples/royale/ASDoc/bin/js-debug/index.html

 

Thanks,

Alina Kazi

 

Reply | Threaded
Open this post in threaded view
|

RE: Substitutes in Apache Royale

alina kazi-2

Hi Alex,

 

I’ll be waiting for your response.

 

Thanks,

Alina

 

 

From: Alex Harui [mailto:[hidden email]]
Sent: Friday, February 16, 2018 2:02 AM
To: [hidden email]
Subject: Re: Substitutes in Apache Royale

 

Hi Alina,

 

I can't guarantee that you will be in production in six months, but I believe we can help you get to the point where every screen shows up and fills with data and we are fixing bugs in corner cases.   We might also be chasing down memory leaks and things like that.    My strategy for lots of things is to do the big things first and polish it later.  For example, I recently pushed some basic Virtual Item Renderer support for Royale, but I'm pretty sure it will have bugs in corner cases, like deleting things when scrolled to the bottom.  But most apps start at the top and it will get you going and we'll fix those corner cases later.

 

I want to finish up some infrastructural things in Royale over the next couple of weeks, then I will adjust the compiler to generate an API report.  Once we see what that looks like, I  should be able to help take the sample code you provided and make it work in Royale.  So maybe in a month or so, you'll see more activity around your code.  Right now I need to clean up a few things so we can be more efficient working with you.

 

You won't need an IDE to generate the API report.  If you know what compiler settings you are using for your Flex app, you can just run a Royale compiler from the command-line with the same arguments.  I believe that we are likely to make compiling your Flex app with the Royale compiler one of the steps in migrating. The Royale compiler will catch some syntax issues that the Flex compiler does not.

 

More later,

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Thursday, February 15, 2018 at 2:13 AM
To: "[hidden email]" <[hidden email]>
Subject: RE: Substitutes in Apache Royale

 

Hi Alex,

Thank you so much. You gave me hope that I can achieve my target on time and at least I am working in right direction.

At most places I'm using getItemAt(0) to access the element in ArrayCollection.

At some places myArrayCollection[0].propertyname  to access it

 

If you will modify the Royale compiler, I will definitely try compiling my Flex app with the Royale compiler and generate a report of APIs used.

Currently I am using Visual Studio Code and apache royale 0.9.0 release is installed.I will need your guidance which IDE and apache royale release should I use to generate that report.

 

Thanks,

Alina Kazi

From: Alex Harui [[hidden email]]
Sent: Thursday, February 15, 2018 1:40 PM
To: [hidden email]
Subject: Re: Substitutes in Apache Royale

 

Hi Alina,

 

Other than ArrayCollection, that looks right.  There will be sorting classes eventually.

 

I think there are two buckets of things that you are going to need:

 

Things we haven't written yet:

  - DividedBox/Container (mostly done)

 - Menu/MenuBar

 - VariableRowHeight

 - Editable DataGrids

 - Sorting?

 

Things we have written, but aren't packaged in a way that makes migration easy:

 - TitleWindow

 - Canvas

 - ArrayCollection

 

For ArrayCollection, do you use array indexing (myArrayCollection[0]) or do you access it as getItemAt(0)?

 

You have so many files to port, it is tempting to create a Spark-ish and MX-ish component set.  They wouldn't be fully backward compatible but would try to implement the most commonly used APIs.  I'm wondering what percentage of Flex APIs you actually used in your app.  If I modify the Royale compiler, could you try compiling your Flex app with the Royale compiler and generate a report of APIs used?

 

Thanks,

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Wednesday, February 14, 2018 at 11:06 PM
To: "[hidden email]" <[hidden email]>
Subject: Substitutes in Apache Royale

 

Hi,

 

I have replaced few imports in Apache Royale Project after comparison in terms of functionality.

As you all are more familiar to Flex and Apache Royale.

Are these correct substitutes?

import org.apache.royale.html.Alert; //instead of import mx.controls.Alert;

import org.apache.royale.events.CloseEvent; // instead of import mx.events.CloseEvent;

import org.apache.royale.net.events.FaultEvent; // instead of import mx.rpc.events.FaultEvent;

import org.apache.royale.net.events.ResultEvent; //instead of import mx.rpc.events.ResultEvent;

import mx.collections.ArrayCollection; //very similar to org.apache.royale.collections.TreeData

import mx.collections.Sort; // No Alternate found

import mx.collections.SortField;// No Alternate found

import mx.managers.PopUpManager; //org.apache.royale.core.IPopUp or .IPopUpHost

import org.apache.royale.utils.StringUtil;// instead of import mx.utils.StringUtil;

 

Reference: http://apacheflexbuild.cloudapp.net:8080/job/Royale_ASDoc_Example/lastSuccessfulBuild/artifact/examples/royale/ASDoc/bin/js-debug/index.html

 

Thanks,

Alina Kazi

 

Reply | Threaded
Open this post in threaded view
|

Re: Substitutes in Apache Royale

Alex Harui-2
Hi Alina,

While I work on the compiler API report feature, you could start now trying to get your code to compile with the royale compiler from the command line.  I think you can run the bin/mxmlc from the Royale releases with the same options you use with Flex MXMLC.

Give it a try and let us know.
-Alex

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Sunday, February 18, 2018 at 8:29 PM
To: "[hidden email]" <[hidden email]>
Subject: RE: Substitutes in Apache Royale

Hi Alex,

 

I’ll be waiting for your response.

 

Thanks,

Alina

 

 

From: Alex Harui [[hidden email]]
Sent: Friday, February 16, 2018 2:02 AM
To: [hidden email]
Subject: Re: Substitutes in Apache Royale

 

Hi Alina,

 

I can't guarantee that you will be in production in six months, but I believe we can help you get to the point where every screen shows up and fills with data and we are fixing bugs in corner cases.   We might also be chasing down memory leaks and things like that.    My strategy for lots of things is to do the big things first and polish it later.  For example, I recently pushed some basic Virtual Item Renderer support for Royale, but I'm pretty sure it will have bugs in corner cases, like deleting things when scrolled to the bottom.  But most apps start at the top and it will get you going and we'll fix those corner cases later.

 

I want to finish up some infrastructural things in Royale over the next couple of weeks, then I will adjust the compiler to generate an API report.  Once we see what that looks like, I  should be able to help take the sample code you provided and make it work in Royale.  So maybe in a month or so, you'll see more activity around your code.  Right now I need to clean up a few things so we can be more efficient working with you.

 

You won't need an IDE to generate the API report.  If you know what compiler settings you are using for your Flex app, you can just run a Royale compiler from the command-line with the same arguments.  I believe that we are likely to make compiling your Flex app with the Royale compiler one of the steps in migrating. The Royale compiler will catch some syntax issues that the Flex compiler does not.

 

More later,

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Thursday, February 15, 2018 at 2:13 AM
To: "[hidden email]" <[hidden email]>
Subject: RE: Substitutes in Apache Royale

 

Hi Alex,

Thank you so much. You gave me hope that I can achieve my target on time and at least I am working in right direction.

At most places I'm using getItemAt(0) to access the element in ArrayCollection.

At some places myArrayCollection[0].propertyname  to access it

 

If you will modify the Royale compiler, I will definitely try compiling my Flex app with the Royale compiler and generate a report of APIs used.

Currently I am using Visual Studio Code and apache royale 0.9.0 release is installed.I will need your guidance which IDE and apache royale release should I use to generate that report.

 

Thanks,

Alina Kazi

From: Alex Harui [[hidden email]]
Sent: Thursday, February 15, 2018 1:40 PM
To: [hidden email]
Subject: Re: Substitutes in Apache Royale

 

Hi Alina,

 

Other than ArrayCollection, that looks right.  There will be sorting classes eventually.

 

I think there are two buckets of things that you are going to need:

 

Things we haven't written yet:

  - DividedBox/Container (mostly done)

 - Menu/MenuBar

 - VariableRowHeight

 - Editable DataGrids

 - Sorting?

 

Things we have written, but aren't packaged in a way that makes migration easy:

 - TitleWindow

 - Canvas

 - ArrayCollection

 

For ArrayCollection, do you use array indexing (myArrayCollection[0]) or do you access it as getItemAt(0)?

 

You have so many files to port, it is tempting to create a Spark-ish and MX-ish component set.  They wouldn't be fully backward compatible but would try to implement the most commonly used APIs.  I'm wondering what percentage of Flex APIs you actually used in your app.  If I modify the Royale compiler, could you try compiling your Flex app with the Royale compiler and generate a report of APIs used?

 

Thanks,

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Wednesday, February 14, 2018 at 11:06 PM
To: "[hidden email]" <[hidden email]>
Subject: Substitutes in Apache Royale

 

Hi,

 

I have replaced few imports in Apache Royale Project after comparison in terms of functionality.

As you all are more familiar to Flex and Apache Royale.

Are these correct substitutes?

import org.apache.royale.html.Alert; //instead of import mx.controls.Alert;

import org.apache.royale.events.CloseEvent; // instead of import mx.events.CloseEvent;

import org.apache.royale.net.events.FaultEvent; // instead of import mx.rpc.events.FaultEvent;

import org.apache.royale.net.events.ResultEvent; //instead of import mx.rpc.events.ResultEvent;

import mx.collections.ArrayCollection; //very similar to org.apache.royale.collections.TreeData

import mx.collections.Sort; // No Alternate found

import mx.collections.SortField;// No Alternate found

import mx.managers.PopUpManager; //org.apache.royale.core.IPopUp or .IPopUpHost

import org.apache.royale.utils.StringUtil;// instead of import mx.utils.StringUtil;

 

Reference: http://apacheflexbuild.cloudapp.net:8080/job/Royale_ASDoc_Example/lastSuccessfulBuild/artifact/examples/royale/ASDoc/bin/js-debug/index.html

 

Thanks,

Alina Kazi

 

Reply | Threaded
Open this post in threaded view
|

RE: Substitutes in Apache Royale

alina kazi-2

Hi Alex,

 

Sure,

I’m compiling the code with the royale compiler. Porting basic components that are available in Royale.

 

Thanks

Alina

 

From: Alex Harui [mailto:[hidden email]]
Sent: Monday, February 19, 2018 11:16 AM
To: [hidden email]
Subject: Re: Substitutes in Apache Royale

 

Hi Alina,

 

While I work on the compiler API report feature, you could start now trying to get your code to compile with the royale compiler from the command line.  I think you can run the bin/mxmlc from the Royale releases with the same options you use with Flex MXMLC.

 

Give it a try and let us know.

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Sunday, February 18, 2018 at 8:29 PM
To: "[hidden email]" <[hidden email]>
Subject: RE: Substitutes in Apache Royale

 

Hi Alex,

 

I’ll be waiting for your response.

 

Thanks,

Alina

 

 

From: Alex Harui [[hidden email]]
Sent: Friday, February 16, 2018 2:02 AM
To: [hidden email]
Subject: Re: Substitutes in Apache Royale

 

Hi Alina,

 

I can't guarantee that you will be in production in six months, but I believe we can help you get to the point where every screen shows up and fills with data and we are fixing bugs in corner cases.   We might also be chasing down memory leaks and things like that.    My strategy for lots of things is to do the big things first and polish it later.  For example, I recently pushed some basic Virtual Item Renderer support for Royale, but I'm pretty sure it will have bugs in corner cases, like deleting things when scrolled to the bottom.  But most apps start at the top and it will get you going and we'll fix those corner cases later.

 

I want to finish up some infrastructural things in Royale over the next couple of weeks, then I will adjust the compiler to generate an API report.  Once we see what that looks like, I  should be able to help take the sample code you provided and make it work in Royale.  So maybe in a month or so, you'll see more activity around your code.  Right now I need to clean up a few things so we can be more efficient working with you.

 

You won't need an IDE to generate the API report.  If you know what compiler settings you are using for your Flex app, you can just run a Royale compiler from the command-line with the same arguments.  I believe that we are likely to make compiling your Flex app with the Royale compiler one of the steps in migrating. The Royale compiler will catch some syntax issues that the Flex compiler does not.

 

More later,

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Thursday, February 15, 2018 at 2:13 AM
To: "[hidden email]" <[hidden email]>
Subject: RE: Substitutes in Apache Royale

 

Hi Alex,

Thank you so much. You gave me hope that I can achieve my target on time and at least I am working in right direction.

At most places I'm using getItemAt(0) to access the element in ArrayCollection.

At some places myArrayCollection[0].propertyname  to access it

 

If you will modify the Royale compiler, I will definitely try compiling my Flex app with the Royale compiler and generate a report of APIs used.

Currently I am using Visual Studio Code and apache royale 0.9.0 release is installed.I will need your guidance which IDE and apache royale release should I use to generate that report.

 

Thanks,

Alina Kazi

From: Alex Harui [[hidden email]]
Sent: Thursday, February 15, 2018 1:40 PM
To: [hidden email]
Subject: Re: Substitutes in Apache Royale

 

Hi Alina,

 

Other than ArrayCollection, that looks right.  There will be sorting classes eventually.

 

I think there are two buckets of things that you are going to need:

 

Things we haven't written yet:

  - DividedBox/Container (mostly done)

 - Menu/MenuBar

 - VariableRowHeight

 - Editable DataGrids

 - Sorting?

 

Things we have written, but aren't packaged in a way that makes migration easy:

 - TitleWindow

 - Canvas

 - ArrayCollection

 

For ArrayCollection, do you use array indexing (myArrayCollection[0]) or do you access it as getItemAt(0)?

 

You have so many files to port, it is tempting to create a Spark-ish and MX-ish component set.  They wouldn't be fully backward compatible but would try to implement the most commonly used APIs.  I'm wondering what percentage of Flex APIs you actually used in your app.  If I modify the Royale compiler, could you try compiling your Flex app with the Royale compiler and generate a report of APIs used?

 

Thanks,

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Wednesday, February 14, 2018 at 11:06 PM
To: "[hidden email]" <[hidden email]>
Subject: Substitutes in Apache Royale

 

Hi,

 

I have replaced few imports in Apache Royale Project after comparison in terms of functionality.

As you all are more familiar to Flex and Apache Royale.

Are these correct substitutes?

import org.apache.royale.html.Alert; //instead of import mx.controls.Alert;

import org.apache.royale.events.CloseEvent; // instead of import mx.events.CloseEvent;

import org.apache.royale.net.events.FaultEvent; // instead of import mx.rpc.events.FaultEvent;

import org.apache.royale.net.events.ResultEvent; //instead of import mx.rpc.events.ResultEvent;

import mx.collections.ArrayCollection; //very similar to org.apache.royale.collections.TreeData

import mx.collections.Sort; // No Alternate found

import mx.collections.SortField;// No Alternate found

import mx.managers.PopUpManager; //org.apache.royale.core.IPopUp or .IPopUpHost

import org.apache.royale.utils.StringUtil;// instead of import mx.utils.StringUtil;

 

Reference: http://apacheflexbuild.cloudapp.net:8080/job/Royale_ASDoc_Example/lastSuccessfulBuild/artifact/examples/royale/ASDoc/bin/js-debug/index.html

 

Thanks,

Alina Kazi

 

Reply | Threaded
Open this post in threaded view
|

Re: Substitutes in Apache Royale

Alex Harui-2
Hi Alina,

What I'm asking is that you take your original code without porting it at all and run the Royale Compiler's SWF compiler.  It should be able to produce the same SWF you are deploying now.  It might catch errors that the Flex MXMLC compiler does not catch.  We need a successful SWF output so we know the compiler visited all APIs.  Once you can get a SWF out, then later I will provide you with an updated Royale SWF compiler that will also output an API usage report.

Thanks,
-Alex

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Sunday, February 18, 2018 at 10:37 PM
To: "[hidden email]" <[hidden email]>
Subject: RE: Substitutes in Apache Royale

Hi Alex,

 

Sure,

I’m compiling the code with the royale compiler. Porting basic components that are available in Royale.

 

Thanks

Alina

 

From: Alex Harui [[hidden email]]
Sent: Monday, February 19, 2018 11:16 AM
To: [hidden email]
Subject: Re: Substitutes in Apache Royale

 

Hi Alina,

 

While I work on the compiler API report feature, you could start now trying to get your code to compile with the royale compiler from the command line.  I think you can run the bin/mxmlc from the Royale releases with the same options you use with Flex MXMLC.

 

Give it a try and let us know.

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Sunday, February 18, 2018 at 8:29 PM
To: "[hidden email]" <[hidden email]>
Subject: RE: Substitutes in Apache Royale

 

Hi Alex,

 

I’ll be waiting for your response.

 

Thanks,

Alina

 

 

From: Alex Harui [[hidden email]]
Sent: Friday, February 16, 2018 2:02 AM
To: [hidden email]
Subject: Re: Substitutes in Apache Royale

 

Hi Alina,

 

I can't guarantee that you will be in production in six months, but I believe we can help you get to the point where every screen shows up and fills with data and we are fixing bugs in corner cases.   We might also be chasing down memory leaks and things like that.    My strategy for lots of things is to do the big things first and polish it later.  For example, I recently pushed some basic Virtual Item Renderer support for Royale, but I'm pretty sure it will have bugs in corner cases, like deleting things when scrolled to the bottom.  But most apps start at the top and it will get you going and we'll fix those corner cases later.

 

I want to finish up some infrastructural things in Royale over the next couple of weeks, then I will adjust the compiler to generate an API report.  Once we see what that looks like, I  should be able to help take the sample code you provided and make it work in Royale.  So maybe in a month or so, you'll see more activity around your code.  Right now I need to clean up a few things so we can be more efficient working with you.

 

You won't need an IDE to generate the API report.  If you know what compiler settings you are using for your Flex app, you can just run a Royale compiler from the command-line with the same arguments.  I believe that we are likely to make compiling your Flex app with the Royale compiler one of the steps in migrating. The Royale compiler will catch some syntax issues that the Flex compiler does not.

 

More later,

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Thursday, February 15, 2018 at 2:13 AM
To: "[hidden email]" <[hidden email]>
Subject: RE: Substitutes in Apache Royale

 

Hi Alex,

Thank you so much. You gave me hope that I can achieve my target on time and at least I am working in right direction.

At most places I'm using getItemAt(0) to access the element in ArrayCollection.

At some places myArrayCollection[0].propertyname  to access it

 

If you will modify the Royale compiler, I will definitely try compiling my Flex app with the Royale compiler and generate a report of APIs used.

Currently I am using Visual Studio Code and apache royale 0.9.0 release is installed.I will need your guidance which IDE and apache royale release should I use to generate that report.

 

Thanks,

Alina Kazi

From: Alex Harui [[hidden email]]
Sent: Thursday, February 15, 2018 1:40 PM
To: [hidden email]
Subject: Re: Substitutes in Apache Royale

 

Hi Alina,

 

Other than ArrayCollection, that looks right.  There will be sorting classes eventually.

 

I think there are two buckets of things that you are going to need:

 

Things we haven't written yet:

  - DividedBox/Container (mostly done)

 - Menu/MenuBar

 - VariableRowHeight

 - Editable DataGrids

 - Sorting?

 

Things we have written, but aren't packaged in a way that makes migration easy:

 - TitleWindow

 - Canvas

 - ArrayCollection

 

For ArrayCollection, do you use array indexing (myArrayCollection[0]) or do you access it as getItemAt(0)?

 

You have so many files to port, it is tempting to create a Spark-ish and MX-ish component set.  They wouldn't be fully backward compatible but would try to implement the most commonly used APIs.  I'm wondering what percentage of Flex APIs you actually used in your app.  If I modify the Royale compiler, could you try compiling your Flex app with the Royale compiler and generate a report of APIs used?

 

Thanks,

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Wednesday, February 14, 2018 at 11:06 PM
To: "[hidden email]" <[hidden email]>
Subject: Substitutes in Apache Royale

 

Hi,

 

I have replaced few imports in Apache Royale Project after comparison in terms of functionality.

As you all are more familiar to Flex and Apache Royale.

Are these correct substitutes?

import org.apache.royale.html.Alert; //instead of import mx.controls.Alert;

import org.apache.royale.events.CloseEvent; // instead of import mx.events.CloseEvent;

import org.apache.royale.net.events.FaultEvent; // instead of import mx.rpc.events.FaultEvent;

import org.apache.royale.net.events.ResultEvent; //instead of import mx.rpc.events.ResultEvent;

import mx.collections.ArrayCollection; //very similar to org.apache.royale.collections.TreeData

import mx.collections.Sort; // No Alternate found

import mx.collections.SortField;// No Alternate found

import mx.managers.PopUpManager; //org.apache.royale.core.IPopUp or .IPopUpHost

import org.apache.royale.utils.StringUtil;// instead of import mx.utils.StringUtil;

 

Reference: http://apacheflexbuild.cloudapp.net:8080/job/Royale_ASDoc_Example/lastSuccessfulBuild/artifact/examples/royale/ASDoc/bin/js-debug/index.html

 

Thanks,

Alina Kazi

 

Reply | Threaded
Open this post in threaded view
|

Re: Substitutes in Apache Royale

Piotr Zarzycki
Alex,

Are you saying that our SWF compiler is capable to compile Flex app? 
Wow didn't know. I thought everything what is written in Royale doesn't understand Flex. :)

Piotr

On Mon, Feb 19, 2018, 08:35 Alex Harui <[hidden email]> wrote:
Hi Alina,

What I'm asking is that you take your original code without porting it at all and run the Royale Compiler's SWF compiler.  It should be able to produce the same SWF you are deploying now.  It might catch errors that the Flex MXMLC compiler does not catch.  We need a successful SWF output so we know the compiler visited all APIs.  Once you can get a SWF out, then later I will provide you with an updated Royale SWF compiler that will also output an API usage report.

Thanks,
-Alex

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Sunday, February 18, 2018 at 10:37 PM

To: "[hidden email]" <[hidden email]>
Subject: RE: Substitutes in Apache Royale

Hi Alex,

 

Sure,

I’m compiling the code with the royale compiler. Porting basic components that are available in Royale.

 

Thanks

Alina

 

From: Alex Harui [[hidden email]]
Sent: Monday, February 19, 2018 11:16 AM


To: [hidden email]
Subject: Re: Substitutes in Apache Royale

 

Hi Alina,

 

While I work on the compiler API report feature, you could start now trying to get your code to compile with the royale compiler from the command line.  I think you can run the bin/mxmlc from the Royale releases with the same options you use with Flex MXMLC.

 

Give it a try and let us know.

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Sunday, February 18, 2018 at 8:29 PM
To: "[hidden email]" <[hidden email]>
Subject: RE: Substitutes in Apache Royale

 

Hi Alex,

 

I’ll be waiting for your response.

 

Thanks,

Alina

 

 

From: Alex Harui [[hidden email]]
Sent: Friday, February 16, 2018 2:02 AM
To: [hidden email]
Subject: Re: Substitutes in Apache Royale

 

Hi Alina,

 

I can't guarantee that you will be in production in six months, but I believe we can help you get to the point where every screen shows up and fills with data and we are fixing bugs in corner cases.   We might also be chasing down memory leaks and things like that.    My strategy for lots of things is to do the big things first and polish it later.  For example, I recently pushed some basic Virtual Item Renderer support for Royale, but I'm pretty sure it will have bugs in corner cases, like deleting things when scrolled to the bottom.  But most apps start at the top and it will get you going and we'll fix those corner cases later.

 

I want to finish up some infrastructural things in Royale over the next couple of weeks, then I will adjust the compiler to generate an API report.  Once we see what that looks like, I  should be able to help take the sample code you provided and make it work in Royale.  So maybe in a month or so, you'll see more activity around your code.  Right now I need to clean up a few things so we can be more efficient working with you.

 

You won't need an IDE to generate the API report.  If you know what compiler settings you are using for your Flex app, you can just run a Royale compiler from the command-line with the same arguments.  I believe that we are likely to make compiling your Flex app with the Royale compiler one of the steps in migrating. The Royale compiler will catch some syntax issues that the Flex compiler does not.

 

More later,

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Thursday, February 15, 2018 at 2:13 AM
To: "[hidden email]" <[hidden email]>
Subject: RE: Substitutes in Apache Royale

 

Hi Alex,

Thank you so much. You gave me hope that I can achieve my target on time and at least I am working in right direction.

At most places I'm using getItemAt(0) to access the element in ArrayCollection.

At some places myArrayCollection[0].propertyname  to access it

 

If you will modify the Royale compiler, I will definitely try compiling my Flex app with the Royale compiler and generate a report of APIs used.

Currently I am using Visual Studio Code and apache royale 0.9.0 release is installed.I will need your guidance which IDE and apache royale release should I use to generate that report.

 

Thanks,

Alina Kazi

From: Alex Harui [[hidden email]]
Sent: Thursday, February 15, 2018 1:40 PM
To: [hidden email]
Subject: Re: Substitutes in Apache Royale

 

Hi Alina,

 

Other than ArrayCollection, that looks right.  There will be sorting classes eventually.

 

I think there are two buckets of things that you are going to need:

 

Things we haven't written yet:

  - DividedBox/Container (mostly done)

 - Menu/MenuBar

 - VariableRowHeight

 - Editable DataGrids

 - Sorting?

 

Things we have written, but aren't packaged in a way that makes migration easy:

 - TitleWindow

 - Canvas

 - ArrayCollection

 

For ArrayCollection, do you use array indexing (myArrayCollection[0]) or do you access it as getItemAt(0)?

 

You have so many files to port, it is tempting to create a Spark-ish and MX-ish component set.  They wouldn't be fully backward compatible but would try to implement the most commonly used APIs.  I'm wondering what percentage of Flex APIs you actually used in your app.  If I modify the Royale compiler, could you try compiling your Flex app with the Royale compiler and generate a report of APIs used?

 

Thanks,

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Wednesday, February 14, 2018 at 11:06 PM
To: "[hidden email]" <[hidden email]>
Subject: Substitutes in Apache Royale

 

Hi,

 

I have replaced few imports in Apache Royale Project after comparison in terms of functionality.

As you all are more familiar to Flex and Apache Royale.

Are these correct substitutes?

import org.apache.royale.html.Alert; //instead of import mx.controls.Alert;

import org.apache.royale.events.CloseEvent; // instead of import mx.events.CloseEvent;

import org.apache.royale.net.events.FaultEvent; // instead of import mx.rpc.events.FaultEvent;

import org.apache.royale.net.events.ResultEvent; //instead of import mx.rpc.events.ResultEvent;

import mx.collections.ArrayCollection; //very similar to org.apache.royale.collections.TreeData

import mx.collections.Sort; // No Alternate found

import mx.collections.SortField;// No Alternate found

import mx.managers.PopUpManager; //org.apache.royale.core.IPopUp or .IPopUpHost

import org.apache.royale.utils.StringUtil;// instead of import mx.utils.StringUtil;

 

Reference: http://apacheflexbuild.cloudapp.net:8080/job/Royale_ASDoc_Example/lastSuccessfulBuild/artifact/examples/royale/ASDoc/bin/js-debug/index.html

 

Thanks,

Alina Kazi

 

Reply | Threaded
Open this post in threaded view
|

Re: Substitutes in Apache Royale

Serkan Taş

Then is it possible to change the sdk of FlexBuilder to Royale and use ?

Quoting Piotr Zarzycki <[hidden email]>:

> Alex,
>
> Are you saying that our SWF compiler is capable to compile Flex app?
> Wow didn't know. I thought everything what is written in Royale doesn't
> understand Flex. :)
>
> Piotr
>
> On Mon, Feb 19, 2018, 08:35 Alex Harui <[hidden email]> wrote:
>
>> Hi Alina,
>>
>> What I'm asking is that you take your original code without porting it at
>> all and run the Royale Compiler's SWF compiler.  It should be able to
>> produce the same SWF you are deploying now.  It might catch errors that the
>> Flex MXMLC compiler does not catch.  We need a successful SWF output so we
>> know the compiler visited all APIs.  Once you can get a SWF out, then later
>> I will provide you with an updated Royale SWF compiler that will also
>> output an API usage report.
>>
>> Thanks,
>> -Alex
>>
>> From: Alina Kazi <[hidden email]>
>> Reply-To: "[hidden email]" <[hidden email]>
>> Date: Sunday, February 18, 2018 at 10:37 PM
>>
>> To: "[hidden email]" <[hidden email]>
>> Subject: RE: Substitutes in Apache Royale
>>
>> Hi Alex,
>>
>>
>>
>> Sure,
>>
>> I’m compiling the code with the royale compiler. Porting basic components
>> that are available in Royale.
>>
>>
>>
>> Thanks
>>
>> Alina
>>
>>
>>
>> *From:* Alex Harui [mailto:[hidden email] <[hidden email]>]
>> *Sent:* Monday, February 19, 2018 11:16 AM
>>
>>
>> *To:* [hidden email]
>> *Subject:* Re: Substitutes in Apache Royale
>>
>>
>>
>> Hi Alina,
>>
>>
>>
>> While I work on the compiler API report feature, you could start now
>> trying to get your code to compile with the royale compiler from the
>> command line.  I think you can run the bin/mxmlc from the Royale releases
>> with the same options you use with Flex MXMLC.
>>
>>
>>
>> Give it a try and let us know.
>>
>> -Alex
>>
>>
>>
>> *From: *Alina Kazi <[hidden email]>
>> *Reply-To: *"[hidden email]" <[hidden email]>
>> *Date: *Sunday, February 18, 2018 at 8:29 PM
>> *To: *"[hidden email]" <[hidden email]>
>> *Subject: *RE: Substitutes in Apache Royale
>>
>>
>>
>> Hi Alex,
>>
>>
>>
>> I’ll be waiting for your response.
>>
>>
>>
>> Thanks,
>>
>> Alina
>>
>>
>>
>>
>>
>> *From:* Alex Harui [mailto:[hidden email] <[hidden email]>]
>> *Sent:* Friday, February 16, 2018 2:02 AM
>> *To:* [hidden email]
>> *Subject:* Re: Substitutes in Apache Royale
>>
>>
>>
>> Hi Alina,
>>
>>
>>
>> I can't guarantee that you will be in production in six months, but I
>> believe we can help you get to the point where every screen shows up and
>> fills with data and we are fixing bugs in corner cases.   We might also be
>> chasing down memory leaks and things like that.    My strategy for lots of
>> things is to do the big things first and polish it later.  For example, I
>> recently pushed some basic Virtual Item Renderer support for Royale, but
>> I'm pretty sure it will have bugs in corner cases, like deleting things
>> when scrolled to the bottom.  But most apps start at the top and it will
>> get you going and we'll fix those corner cases later.
>>
>>
>>
>> I want to finish up some infrastructural things in Royale over the next
>> couple of weeks, then I will adjust the compiler to generate an API
>> report.  Once we see what that looks like, I  should be able to help take
>> the sample code you provided and make it work in Royale.  So maybe in a
>> month or so, you'll see more activity around your code.  Right now I need
>> to clean up a few things so we can be more efficient working with you.
>>
>>
>>
>> You won't need an IDE to generate the API report.  If you know what
>> compiler settings you are using for your Flex app, you can just run a
>> Royale compiler from the command-line with the same arguments.  I believe
>> that we are likely to make compiling your Flex app with the Royale compiler
>> one of the steps in migrating. The Royale compiler will catch some syntax
>> issues that the Flex compiler does not.
>>
>>
>>
>> More later,
>>
>> -Alex
>>
>>
>>
>> *From: *Alina Kazi <[hidden email]>
>> *Reply-To: *"[hidden email]" <[hidden email]>
>> *Date: *Thursday, February 15, 2018 at 2:13 AM
>> *To: *"[hidden email]" <[hidden email]>
>> *Subject: *RE: Substitutes in Apache Royale
>>
>>
>>
>> Hi Alex,
>>
>> Thank you so much. You gave me hope that I can achieve my target on time
>> and at least I am working in right direction.
>>
>> At most places I'm using getItemAt(0) to access the element in
>> ArrayCollection.
>>
>> At some places myArrayCollection[0].propertyname  to access it
>>
>>
>>
>> If you will modify the Royale compiler, I will definitely try compiling my
>> Flex app with the Royale compiler and generate a report of APIs used.
>>
>> Currently I am using Visual Studio Code and apache royale 0.9.0 release is
>> installed.I will need your guidance which IDE and apache royale release
>> should I use to generate that report.
>>
>>
>>
>> Thanks,
>>
>> Alina Kazi
>>
>> *From:* Alex Harui [mailto:[hidden email] <[hidden email]>]
>> *Sent:* Thursday, February 15, 2018 1:40 PM
>> *To:* [hidden email]
>> *Subject:* Re: Substitutes in Apache Royale
>>
>>
>>
>> Hi Alina,
>>
>>
>>
>> Other than ArrayCollection, that looks right.  There will be sorting
>> classes eventually.
>>
>>
>>
>> I think there are two buckets of things that you are going to need:
>>
>>
>>
>> Things we haven't written yet:
>>
>>   - DividedBox/Container (mostly done)
>>
>>  - Menu/MenuBar
>>
>>  - VariableRowHeight
>>
>>  - Editable DataGrids
>>
>>  - Sorting?
>>
>>
>>
>> Things we have written, but aren't packaged in a way that makes migration
>> easy:
>>
>>  - TitleWindow
>>
>>  - Canvas
>>
>>  - ArrayCollection
>>
>>
>>
>> For ArrayCollection, do you use array indexing (myArrayCollection[0]) or
>> do you access it as getItemAt(0)?
>>
>>
>>
>> You have so many files to port, it is tempting to create a Spark-ish and
>> MX-ish component set.  They wouldn't be fully backward compatible but would
>> try to implement the most commonly used APIs.  I'm wondering what
>> percentage of Flex APIs you actually used in your app.  If I modify the
>> Royale compiler, could you try compiling your Flex app with the Royale
>> compiler and generate a report of APIs used?
>>
>>
>>
>> Thanks,
>>
>> -Alex
>>
>>
>>
>> *From: *Alina Kazi <[hidden email]>
>> *Reply-To: *"[hidden email]" <[hidden email]>
>> *Date: *Wednesday, February 14, 2018 at 11:06 PM
>> *To: *"[hidden email]" <[hidden email]>
>> *Subject: *Substitutes in Apache Royale
>>
>>
>>
>> Hi,
>>
>>
>>
>> I have replaced few imports in Apache Royale Project after comparison in
>> terms of functionality.
>>
>> As you all are more familiar to Flex and Apache Royale.
>>
>> Are these correct substitutes?
>>
>> import org.apache.royale.html.Alert; //instead of import mx.controls.Alert;
>>
>> import org.apache.royale.events.CloseEvent; // instead of import
>> mx.events.CloseEvent;
>>
>> import org.apache.royale.net.events.FaultEvent; // instead of import
>> mx.rpc.events.FaultEvent;
>>
>> import org.apache.royale.net.events.ResultEvent; //instead of import
>> mx.rpc.events.ResultEvent;
>>
>> import mx.collections.ArrayCollection; //very similar to
>> org.apache.royale.collections.TreeData
>>
>> import mx.collections.Sort; // No Alternate found
>>
>> import mx.collections.SortField;// No Alternate found
>>
>> import mx.managers.PopUpManager; //org.apache.royale.core.IPopUp or
>> .IPopUpHost
>>
>> import org.apache.royale.utils.StringUtil;// instead of import
>> mx.utils.StringUtil;
>>
>>
>>
>> Reference:
>> http://apacheflexbuild.cloudapp.net:8080/job/Royale_ASDoc_Example/lastSuccessfulBuild/artifact/examples/royale/ASDoc/bin/js-debug/index.html
>> <https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fapacheflexbuild.cloudapp.net%3A8080%2Fjob%2FRoyale_ASDoc_Example%2FlastSuccessfulBuild%2Fartifact%2Fexamples%2Froyale%2FASDoc%2Fbin%2Fjs-debug%2Findex.html&data=02%7C01%7Caharui%40adobe.com%7C2a0f4a052bf44496feaf08d574445542%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636542759199500428&sdata=A9xjrAppjUqWDkvAJTgSHhOOW3ZlkZPPZTD5%2BG4eexw%3D&reserved=0>
>>
>>
>>
>> Thanks,
>>
>> Alina Kazi
>>
>>
>>


--
Serkan Taş
Mobil : +90 532 250 07 71
Likya Bilgi Teknolojileri
ve İletişim Hiz. Ltd. Şti.
www.likyateknoloji.com

--------------------------------------
Bu elektronik posta ve onunla iletilen bütün dosyalar gizlidir. Sadece  
yukarıda isimleri belirtilen kişiler arasında özel haberleşme amacını  
taşımaktadır. Size yanlışlıkla ulaşmışsa bu elektonik postanın  
içeriğini açıklamanız, kopyalamanız, yönlendirmeniz ve kullanmanız  
kesinlikle yasaktır. Lütfen mesajı geri gönderiniz ve sisteminizden  
siliniz. Likya Bilgi Teknolojileri ve İletişim Hiz. Ltd. Şti. bu  
mesajın içeriği ile ilgili olarak hiç bir hukuksal sorumluluğu kabul  
etmez.

This electronic mail and any files transmitted with it are intended  
for the private use of  the persons named above. If you received this  
message in error, forwarding, copying or use of any of the information  
is strictly prohibited. Please immediately notify the sender and  
delete it from your system. Likya Bilgi Teknolojileri ve İletişim Hiz.  
Ltd. Şti. does not accept legal responsibility for the contents of  
this message.
--------------------------------------

Reply | Threaded
Open this post in threaded view
|

Re: Substitutes in Apache Royale

Alex Harui-2
In theory, yes, the Royale SWF Compiler can produce Flex SWFs.  The SWF
Compiler is based on the same code that Adobe uses in the AIR SDK to
compile AS to SWFs for AIR.  Apache Flex committers added MXML support.
We have a unit test that compiles the Apache Flex SDK SWCs.

Might there be bugs?  Sure.  But the Royale SWF compiler may find errors
in your code that the Flex MXMLC did not catch.

Trying to get Flash Builder to use a Royale SDK to compile a Flex SWF is a
bit tricky because Flash Builder assumes your Flex project wants to use
the SWCs in the chosen SDK folder, so you would have to change a lot of
complier arguments to get it to work.  But it should be more easy to swap
a compiler from the command-line or Ant.

The SWF compiler just takes source code and SWCs and produces a SWF.
Royale has its own set of SWCs.  Flex SWCs are a different set.  So
everything we write for Royale SWCs doesn't understand Flex, but that's
independent of the compiler.

HTH,
-Alex

On 2/18/18, 11:44 PM, "[hidden email]"
<[hidden email]> wrote:

>
>Then is it possible to change the sdk of FlexBuilder to Royale and use ?
>
>Quoting Piotr Zarzycki <[hidden email]>:
>
>> Alex,
>>
>> Are you saying that our SWF compiler is capable to compile Flex app?
>> Wow didn't know. I thought everything what is written in Royale doesn't
>> understand Flex. :)
>>
>> Piotr
>>
>> On Mon, Feb 19, 2018, 08:35 Alex Harui <[hidden email]> wrote:
>>
>>> Hi Alina,
>>>
>>> What I'm asking is that you take your original code without porting it
>>>at
>>> all and run the Royale Compiler's SWF compiler.  It should be able to
>>> produce the same SWF you are deploying now.  It might catch errors
>>>that the
>>> Flex MXMLC compiler does not catch.  We need a successful SWF output
>>>so we
>>> know the compiler visited all APIs.  Once you can get a SWF out, then
>>>later
>>> I will provide you with an updated Royale SWF compiler that will also
>>> output an API usage report.
>>>
>>> Thanks,
>>> -Alex
>>>
>>> From: Alina Kazi <[hidden email]>
>>> Reply-To: "[hidden email]" <[hidden email]>
>>> Date: Sunday, February 18, 2018 at 10:37 PM
>>>
>>> To: "[hidden email]" <[hidden email]>
>>> Subject: RE: Substitutes in Apache Royale
>>>
>>> Hi Alex,
>>>
>>>
>>>
>>> Sure,
>>>
>>> I’m compiling the code with the royale compiler. Porting basic
>>>components
>>> that are available in Royale.
>>>
>>>
>>>
>>> Thanks
>>>
>>> Alina
>>>
>>>
>>>
>>> *From:* Alex Harui [mailto:[hidden email] <[hidden email]>]
>>> *Sent:* Monday, February 19, 2018 11:16 AM
>>>
>>>
>>> *To:* [hidden email]
>>> *Subject:* Re: Substitutes in Apache Royale
>>>
>>>
>>>
>>> Hi Alina,
>>>
>>>
>>>
>>> While I work on the compiler API report feature, you could start now
>>> trying to get your code to compile with the royale compiler from the
>>> command line.  I think you can run the bin/mxmlc from the Royale
>>>releases
>>> with the same options you use with Flex MXMLC.
>>>
>>>
>>>
>>> Give it a try and let us know.
>>>
>>> -Alex
>>>
>>>
>>>
>>> *From: *Alina Kazi <[hidden email]>
>>> *Reply-To: *"[hidden email]" <[hidden email]>
>>> *Date: *Sunday, February 18, 2018 at 8:29 PM
>>> *To: *"[hidden email]" <[hidden email]>
>>> *Subject: *RE: Substitutes in Apache Royale
>>>
>>>
>>>
>>> Hi Alex,
>>>
>>>
>>>
>>> I’ll be waiting for your response.
>>>
>>>
>>>
>>> Thanks,
>>>
>>> Alina
>>>
>>>
>>>
>>>
>>>
>>> *From:* Alex Harui [mailto:[hidden email] <[hidden email]>]
>>> *Sent:* Friday, February 16, 2018 2:02 AM
>>> *To:* [hidden email]
>>> *Subject:* Re: Substitutes in Apache Royale
>>>
>>>
>>>
>>> Hi Alina,
>>>
>>>
>>>
>>> I can't guarantee that you will be in production in six months, but I
>>> believe we can help you get to the point where every screen shows up
>>>and
>>> fills with data and we are fixing bugs in corner cases.   We might
>>>also be
>>> chasing down memory leaks and things like that.    My strategy for
>>>lots of
>>> things is to do the big things first and polish it later.  For
>>>example, I
>>> recently pushed some basic Virtual Item Renderer support for Royale,
>>>but
>>> I'm pretty sure it will have bugs in corner cases, like deleting things
>>> when scrolled to the bottom.  But most apps start at the top and it
>>>will
>>> get you going and we'll fix those corner cases later.
>>>
>>>
>>>
>>> I want to finish up some infrastructural things in Royale over the next
>>> couple of weeks, then I will adjust the compiler to generate an API
>>> report.  Once we see what that looks like, I  should be able to help
>>>take
>>> the sample code you provided and make it work in Royale.  So maybe in a
>>> month or so, you'll see more activity around your code.  Right now I
>>>need
>>> to clean up a few things so we can be more efficient working with you.
>>>
>>>
>>>
>>> You won't need an IDE to generate the API report.  If you know what
>>> compiler settings you are using for your Flex app, you can just run a
>>> Royale compiler from the command-line with the same arguments.  I
>>>believe
>>> that we are likely to make compiling your Flex app with the Royale
>>>compiler
>>> one of the steps in migrating. The Royale compiler will catch some
>>>syntax
>>> issues that the Flex compiler does not.
>>>
>>>
>>>
>>> More later,
>>>
>>> -Alex
>>>
>>>
>>>
>>> *From: *Alina Kazi <[hidden email]>
>>> *Reply-To: *"[hidden email]" <[hidden email]>
>>> *Date: *Thursday, February 15, 2018 at 2:13 AM
>>> *To: *"[hidden email]" <[hidden email]>
>>> *Subject: *RE: Substitutes in Apache Royale
>>>
>>>
>>>
>>> Hi Alex,
>>>
>>> Thank you so much. You gave me hope that I can achieve my target on
>>>time
>>> and at least I am working in right direction.
>>>
>>> At most places I'm using getItemAt(0) to access the element in
>>> ArrayCollection.
>>>
>>> At some places myArrayCollection[0].propertyname  to access it
>>>
>>>
>>>
>>> If you will modify the Royale compiler, I will definitely try
>>>compiling my
>>> Flex app with the Royale compiler and generate a report of APIs used.
>>>
>>> Currently I am using Visual Studio Code and apache royale 0.9.0
>>>release is
>>> installed.I will need your guidance which IDE and apache royale release
>>> should I use to generate that report.
>>>
>>>
>>>
>>> Thanks,
>>>
>>> Alina Kazi
>>>
>>> *From:* Alex Harui [mailto:[hidden email] <[hidden email]>]
>>> *Sent:* Thursday, February 15, 2018 1:40 PM
>>> *To:* [hidden email]
>>> *Subject:* Re: Substitutes in Apache Royale
>>>
>>>
>>>
>>> Hi Alina,
>>>
>>>
>>>
>>> Other than ArrayCollection, that looks right.  There will be sorting
>>> classes eventually.
>>>
>>>
>>>
>>> I think there are two buckets of things that you are going to need:
>>>
>>>
>>>
>>> Things we haven't written yet:
>>>
>>>   - DividedBox/Container (mostly done)
>>>
>>>  - Menu/MenuBar
>>>
>>>  - VariableRowHeight
>>>
>>>  - Editable DataGrids
>>>
>>>  - Sorting?
>>>
>>>
>>>
>>> Things we have written, but aren't packaged in a way that makes
>>>migration
>>> easy:
>>>
>>>  - TitleWindow
>>>
>>>  - Canvas
>>>
>>>  - ArrayCollection
>>>
>>>
>>>
>>> For ArrayCollection, do you use array indexing (myArrayCollection[0])
>>>or
>>> do you access it as getItemAt(0)?
>>>
>>>
>>>
>>> You have so many files to port, it is tempting to create a Spark-ish
>>>and
>>> MX-ish component set.  They wouldn't be fully backward compatible but
>>>would
>>> try to implement the most commonly used APIs.  I'm wondering what
>>> percentage of Flex APIs you actually used in your app.  If I modify the
>>> Royale compiler, could you try compiling your Flex app with the Royale
>>> compiler and generate a report of APIs used?
>>>
>>>
>>>
>>> Thanks,
>>>
>>> -Alex
>>>
>>>
>>>
>>> *From: *Alina Kazi <[hidden email]>
>>> *Reply-To: *"[hidden email]" <[hidden email]>
>>> *Date: *Wednesday, February 14, 2018 at 11:06 PM
>>> *To: *"[hidden email]" <[hidden email]>
>>> *Subject: *Substitutes in Apache Royale
>>>
>>>
>>>
>>> Hi,
>>>
>>>
>>>
>>> I have replaced few imports in Apache Royale Project after comparison
>>>in
>>> terms of functionality.
>>>
>>> As you all are more familiar to Flex and Apache Royale.
>>>
>>> Are these correct substitutes?
>>>
>>> import org.apache.royale.html.Alert; //instead of import
>>>mx.controls.Alert;
>>>
>>> import org.apache.royale.events.CloseEvent; // instead of import
>>> mx.events.CloseEvent;
>>>
>>> import org.apache.royale.net.events.FaultEvent; // instead of import
>>> mx.rpc.events.FaultEvent;
>>>
>>> import org.apache.royale.net.events.ResultEvent; //instead of import
>>> mx.rpc.events.ResultEvent;
>>>
>>> import mx.collections.ArrayCollection; //very similar to
>>> org.apache.royale.collections.TreeData
>>>
>>> import mx.collections.Sort; // No Alternate found
>>>
>>> import mx.collections.SortField;// No Alternate found
>>>
>>> import mx.managers.PopUpManager; //org.apache.royale.core.IPopUp or
>>> .IPopUpHost
>>>
>>> import org.apache.royale.utils.StringUtil;// instead of import
>>> mx.utils.StringUtil;
>>>
>>>
>>>
>>> Reference:
>>>
>>>https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fapachefl
>>>exbuild.cloudapp.net%3A8080%2Fjob%2FRoyale_ASDoc_Example%2FlastSuccessfu
>>>lBuild%2Fartifact%2Fexamples%2Froyale%2FASDoc%2Fbin%2Fjs-debug%2Findex.h
>>>tml&data=02%7C01%7Caharui%40adobe.com%7C483fe468971247eea76508d5776c9a5d
>>>%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636546230705532569&sdata=V
>>>NBmWZbyHO%2Fh5U2voIAmm%2FsPSdv565bw35NVUMu1mic%3D&reserved=0
>>>
>>><https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fapachef
>>>lexbuild.cloudapp.net%3A8080%2Fjob%2FRoyale_ASDoc_Example%2FlastSuccessf
>>>ulBuild%2Fartifact%2Fexamples%2Froyale%2FASDoc%2Fbin%2Fjs-debug%2Findex.
>>>html&data=02%7C01%7Caharui%40adobe.com%7C2a0f4a052bf44496feaf08d57444554
>>>2%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636542759199500428&sdata=
>>>A9xjrAppjUqWDkvAJTgSHhOOW3ZlkZPPZTD5%2BG4eexw%3D&reserved=0>
>>>
>>>
>>>
>>> Thanks,
>>>
>>> Alina Kazi
>>>
>>>
>>>
>
>
>--
>Serkan Taş
>Mobil : +90 532 250 07 71
>Likya Bilgi Teknolojileri
>ve İletişim Hiz. Ltd. Şti.
>https://na01.safelinks.protection.outlook.com/?url=www.likyateknoloji.com&
>data=02%7C01%7Caharui%40adobe.com%7C483fe468971247eea76508d5776c9a5d%7Cfa7
>b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636546230705532569&sdata=4Z5Ifjw9l
>iSfQczC8xq5sxviRJ8HTzjzUAgGTZMfxfc%3D&reserved=0
>
>--------------------------------------
>Bu elektronik posta ve onunla iletilen bütün dosyalar gizlidir. Sadece
>yukarıda isimleri belirtilen kişiler arasında özel haberleşme amacını
>taşımaktadır. Size yanlışlıkla ulaşmışsa bu elektonik postanın
>içeriğini açıklamanız, kopyalamanız, yönlendirmeniz ve kullanmanız
>kesinlikle yasaktır. Lütfen mesajı geri gönderiniz ve sisteminizden
>siliniz. Likya Bilgi Teknolojileri ve İletişim Hiz. Ltd. Şti. bu
>mesajın içeriği ile ilgili olarak hiç bir hukuksal sorumluluğu kabul
>etmez.
>
>This electronic mail and any files transmitted with it are intended
>for the private use of  the persons named above. If you received this
>message in error, forwarding, copying or use of any of the information
>is strictly prohibited. Please immediately notify the sender and
>delete it from your system. Likya Bilgi Teknolojileri ve İletişim Hiz.
>Ltd. Şti. does not accept legal responsibility for the contents of
>this message.
>--------------------------------------
>

Reply | Threaded
Open this post in threaded view
|

Re: Substitutes in Apache Royale

Carlos Rovira-2
In reply to this post by Harbs
Hi Harbs

2018-02-15 10:53 GMT+01:00 Gabe Harbs <[hidden email]>:
None of the cases where I had ResultEvent and FaultEvent really made a lot of sense to keep that logic in Royale (events should generally be of type Event), so keeping those events would just mask places where code should probably be rewritten.


I think you was not using AMF. With RemoteObjects, I think Fault and Result events are a must or at least I can't imagine a way to handle the async behavior in other way. Maybe your scenario was different right?


--
Reply | Threaded
Open this post in threaded view
|

Re: Substitutes in Apache Royale

Carlos Rovira-2
In reply to this post by Alex Harui-2
Hi Alex,

2018-02-15 18:16 GMT+01:00 Alex Harui <[hidden email]>:
For me, the factors are related to expectations and time.  If Royale has an mx.collections.ArrayCollection class, will you expect it to be 100% compatible and what will you think if it isn't?  Or has poor performance?

No, having similar API and similar behaviour will be sufficient. In the end Royale is not Flex and all we do to get a better implementation while maintain the way is used I think it will be ok for people trying to migrate.
 

So if we say you must search and replace all instances of mx.collections.ArrayCollection with org.apache.royale.collections.ArrayCollection, does that change your expectations about backward compatibility?  Is that too much to ask folks migrating apps?

What I have in mind is the most easy way to migrate. This implies *not touch backend never*. In this way actual Flex apps can still work without touch Flex and backend code (Java, Php .NET... whatever it could be). People will only need to recreate the client part hosting it *side by side* with the flex client.

Then when royale version will be enough robust they can remove flex version and make royale one the official client.

that would be the *dream scenario"

so for that reason I think namespaces should be the same, but we could have the new royale namespace for new projects, and keep the old one for migration purposes. That would be only in classes very near to manage server side communications and business logic
 

And if that's ok, what about searching and replacing mx.collections.ArrayCollection with org.apache.royale.collections.ArrayList?

I think that will end with the need to change backend code. this will defeat the purpose of a good migration since you need to separate backends for actual flex and new royale clients. So not good :(
 

We can add more stuff in subclasses of ArrayList to approach ArrayCollection, but without weak references in JavaScript, it will leak memory if you try to toss out the ArrayCollection but not its internal IList.  I would rather set expectations that things are different enough that you will have some work to do.

Alex, I'm not an expert in this kind of Arquitecture/implementation, but I want to believe that with a concrete namespace and class names, functions and properties,  some implementation could be done in js that can perform and work flawlessly. don't you think?
 

Then after we decide how to set expectations, there is the issue of finding the time to make components that more closely match Flex.  We have ArrayList.  Who will work on ArrayCollection and sorting?  The more folks can pitch in, the easier we can make migration, although it will never be line-for-line.

If you want ResultEvent/FaultEvent, go create it.  It should be easy enough to do.  We don't have to all agree.


Hi, as I said before, I think I'm not the right person for this, I think I can provide more value in my actual task. If not I'll go that path ;)
Hope someone could take it on his plate ;)

Thanks
 
My 2 cents,
-Alex



--
123