0

I got chance to migrate Flex application to Apache Royale, able to run helloworld applications. started migrating Application, getting couple of exceptions. bellow is the one.

we are using the

AdobeSpelling.swc
AlivePDF.swc
Cairngorm.swc
flexmdi.swc
FlexUnit.swc
spcairngorm.swc

these '.swc' libraries.

how can i import these or is any similar libraries in royale compatible files. i found asconfig.json file - external-library-path - but i am compiling my application with maven pom.xml.

Please help me, basic migrations

Error Log:

Warning: Definition com.model.ModelLocator could not be found.
import com.model.ModelLocator;
Warning: Definition com.util.customComponents.CustomMenuBarEvent could
not be found.
import com.util.customComponents.CustomMenuBarEvent;
  • Just to complement, For FlexUnit, you have now RoyaleUnit developed by Josh Tynjala, available in Apache Royale repository and is very similar to FlexUnit. – Carlos Rovira May 29 '19 at 08:21
  • About title of this answer, seems not related to contents. Binding in Royale works in a different way. Here's a simple working example so you can see differences: https://royale.apache.org/binding-the-text-property-of-a-jewel-textinput-to-update-a-text-label/ – Carlos Rovira May 29 '19 at 08:23

1 Answers1

1

There is two path which you can go in case of migrating.

  1. Emulation Components. However there is a chance that some of the components wasn't added to emulation so you may get exceptions and this would be the place where you can add them and make pull requests to Royale. Those components allows you in best case successfully build your application without changing drastically UI part, but you may won't see anything on the screen or it may be messed, cause there wasn't volunteer who could work on displaying better them.
  2. Another path is to distinguish your pure ActionScript code (no dependency to Flash) from UI part - pure AS3 code should ported without any problem - and rewrite UI from scratch using Basic module or Jewel

All libraries which you have mention have strong dependencies to Flash, so my recommendation is to find JS replacement for them and use it in your porting. There is also PureMVC which is working pretty good with Royale - it's has been tested in several applications already.