Re: Migrating Enterprise Flex Application

2018-06-19 Thread chembali
Thank you for the responses from all of you. I feel confident to take this
challenge up. My struggle will be to come up a detailed project plan with
clear milestones and deliverables to keep the stakeholders convinced and
happy.

Thank you
Sajith 



--
Sent from: http://apache-royale-development.20373.n8.nabble.com/


Re: Migrating Enterprise Flex Application

2018-06-19 Thread Piotr Zarzycki
Harbs,

I believe the perfect summary of what you have wrote would be your
presentation from ApacheCon [1] :)

[1] https://www.youtube.com/watch?v=-FcLs0O-BWQ

Piotr


wt., 19 cze 2018 o 18:23 Harbs  napisał(a):

> Yes. You can see a demo of our app here:
> https://marketinginflection.com/printui-demo.php <
> https://marketinginflection.com/printui-demo.php>
>
> The business logic ported like a dream. We had to rewrite large portions
> of the view, but it was due to a modernization anyway.
>
> We started our migration close to 2 years ago. It took about 17 months
> from when we started the migration until we had clients able to use the
> HTML version of the app.
>
> If we were to do the migration today, it would take a fraction of the
> time. A lot of the time went to filling in missing pieces of Royale (i.e.
> E4X, Graphics and drawing APIs, porting TLF, filling in and adding
> components, etc.)
>
> I find that we’re about as productive in Royale as we were working in Flex
> — possibly more so.
>
> Prior to doing the Flex migration, we developed an Angular version of our
> app which was seriously dumbed down. It took nearly as long to develop as
> the Royale application and is nowhere near as capable. The Angular app is
> unwieldy to develop and performance is slow.
>
> We’ve found the following advantages in regard to Flash:
>
> 1. The compiled minified HTML application is about half the size of the
> Flash application.
> 2. The app loads between 5 and 10 *times* faster than the Flash
> application did.
> 3. Debugging in the browser is IMO easier than Flash.
> 4. The browser profiling tools are great.
> 5. The application is general is much more performant than the Flash one
> thanks (I believe) to the improved Royale architecture.
>
> Some more observations:
> 1. The performance of the native Royale components is amazing. Very fast!
> 2. It’s very helpful to see where XML performance takes a hit. We were
> able to use the profiler to discover where we had unnecessary E4X filtering
> and expressions when results could easily be cached.
> 3. I was pleased with E4X results in general, but I added a JXON class for
> lighter-weight XML processing.
> 4. We used a couple of third party components namely
> http://rangeslider.js.org/  and
> http://bgrins.github.io/spectrum/  I
> was surprised to discover that these components were by an order of a
> magnitude slower than any of the Royale components. They added so much
> overhead that the delay was noticeable and I had to implement some
> customizations to mitigate the effects of these.
>
> Issues:
> 1. Debugging minified issues is difficult.
> 2. I’ve found some difficulty with layout situations that was easier in
> Flex. Of course, these problems are no better using other JS frameworks —
> probably worse.
>
> I have other smaller applications developed with Royale as well. I don’t
> regret going this path at all!
>
> HTH,
> Harbs
>
> > On Jun 19, 2018, at 6:57 PM, Alex Harui 
> wrote:
> >
> > Yes.  PrintUI is our biggest example.  Harbs can share more details.
> >
> > -Alex
> >
> > On 6/19/18, 3:24 AM, "chembali"  wrote:
> >
> >Has anyone ( big scale ) successfully migrated to Apache Royale from
> Flex? I
> >want to make sure that this migration path is a viable option for me?
> Please
> >share your thoughts.
> >
> >Thank you
> >Sajith
> >
> >
> >
> >--
> >Sent from:
> https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fapache-royale-development.20373.n8.nabble.com%2F=02%7C01%7Caharui%40adobe.com%7C722806578bc447770e8a08d5d5cecfe0%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C636650006607089540=qfDnc3ElRa9Nhwi%2FKAoJdNC67JYFp8UP49hA5Zdjq14%3D=0
> >
> >
>
>

-- 

Piotr Zarzycki

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


Grid, GridCell, GridLayout and GridCellLayout and Responsive Layouts in Royale

2018-06-19 Thread Carlos Rovira
Hi,

now I'll cover a bit about new Jewel Grid and GridCell components.

* Grid is a container that has GridCells.Grid uses GridLayout and GridCell
uses GridCellLayout.
* You can use those layouts with other component like a Group if you want,
but maybe is not worth it.
* Grid and GridCell proxies layout values to reduce mxml syntax
* Grid is the implementation of a Responsive layout:
 * Grid takes 100% of the avaiable size by default, since is what this
kind of component use to do
 * Resizing browsers makes cells adapt its size and positioning
accordingly to the properties you set up
 * We have different "break points" : Phone, Tablet, Desktop and
WideScreen
 * The implementation is "mobile-first" so resizing to "phone" width
make the cells resize and reposition to layout with phone rules,
resizing to tablet size make all repositioning again and so to desktop and
widscreen.

About GAP in Grids: Here gap is a boolean true or false. The motivation is
that making all style combinations will increase the style sheet in 500%
so this seems not a good way to go. And maybe most of those styles will
never be used. We can explore add/remove styles needed at runtime to make
this more flexible.

So now gap="true" introduces a gap between cells and false makes cells
doesn't have any space between

Grid Example: For a grid with 4 cells we can use this code:
















a cell has 6 possible numeric vars to express fractions, it should go in
pairs. i.e: desktopNumerator and desktopDenominator. The example posted
will represent 4 columns in desktop, then 2 columns in tablets (each column
with 2 cell one above the other) and in phone will have 1 column with the 4
cells stacked.

We have 12 columns defined (this can change in SASS to generate other
number of columns 5? 12? 24?... and you have the Grid var counterpart in
AS3 code.

Some examples (I'll upload this example soon to repo)

https://snag.gy/NnX8FY.jpg (desktop without gap)

https://snag.gy/hCV8K5.jpg. (desktop with gap)

https://snag.gy/MOieqA.jpg.  (phone)

https://snag.gy/0XF1Kz.jpg. (tablet)




-- 
Carlos Rovira
http://about.me/carlosrovira


Re: BinaryData and odd bytes

2018-06-19 Thread Harbs
DataView works in IE10+. The problem with DataView as that it’s slow.

> On Jun 19, 2018, at 9:24 PM, Carlos Rovira  wrote:
> 
> Hi Harbs,
> 
> for me any improvement seems ok, just ensure it works in all browsers
> (specially IE11)
> 
> thanks
> 
> 2018-06-19 19:25 GMT+02:00 Alex Harui :
> 
>> Isn't ByteArray mapped to UInt8Array?
>> 
>> On 6/19/18, 10:07 AM, "Harbs"  wrote:
>> 
>>BinaryData uses TypedArrays to read data. It seems that if the
>> ArrayBuffer does not divide evenly into the target TypedArray, you get a
>> runtime error.
>> 
>>For example:
>> 
>>readShort() works like this:
>>var ret:int = new Int16Array(ba, _position, 1)[0];
>> 
>>If _position is not divisible by 2 (i.e. an odd number), this causes a
>> RTE.
>> 
>>readInt() has a similar problem that _position needs to be divisible
>> by 4, etc.
>> 
>>Am I correct that Flash’s ByteArray works correctly in this situation?
>> We can use DataViews to solve the problem or we can read the bytes directly.
>> 
>>Thanks,
>>Harbs
>> 
>> 
> 
> 
> -- 
> Carlos Rovira
> http://about.me/carlosrovira



Re: BinaryData and odd bytes

2018-06-19 Thread Harbs
Yes. But you can convert from one TypedArray to another. That’s how the class 
handles reading multi-byte data.

The single underlying ArrayBuffer can be accessed by different TypedArrays.

> On Jun 19, 2018, at 8:25 PM, Alex Harui  wrote:
> 
> Isn't ByteArray mapped to UInt8Array?
> 
> On 6/19/18, 10:07 AM, "Harbs"  wrote:
> 
>BinaryData uses TypedArrays to read data. It seems that if the ArrayBuffer 
> does not divide evenly into the target TypedArray, you get a runtime error.
> 
>For example:
> 
>readShort() works like this:
>var ret:int = new Int16Array(ba, _position, 1)[0];
> 
>If _position is not divisible by 2 (i.e. an odd number), this causes a RTE.
> 
>readInt() has a similar problem that _position needs to be divisible by 4, 
> etc.
> 
>Am I correct that Flash’s ByteArray works correctly in this situation? We 
> can use DataViews to solve the problem or we can read the bytes directly.
> 
>Thanks,
>Harbs
> 



Re: BinaryData and odd bytes

2018-06-19 Thread Carlos Rovira
Hi Harbs,

for me any improvement seems ok, just ensure it works in all browsers
(specially IE11)

thanks

2018-06-19 19:25 GMT+02:00 Alex Harui :

> Isn't ByteArray mapped to UInt8Array?
>
> On 6/19/18, 10:07 AM, "Harbs"  wrote:
>
> BinaryData uses TypedArrays to read data. It seems that if the
> ArrayBuffer does not divide evenly into the target TypedArray, you get a
> runtime error.
>
> For example:
>
> readShort() works like this:
> var ret:int = new Int16Array(ba, _position, 1)[0];
>
> If _position is not divisible by 2 (i.e. an odd number), this causes a
> RTE.
>
> readInt() has a similar problem that _position needs to be divisible
> by 4, etc.
>
> Am I correct that Flash’s ByteArray works correctly in this situation?
> We can use DataViews to solve the problem or we can read the bytes directly.
>
> Thanks,
> Harbs
>
>


-- 
Carlos Rovira
http://about.me/carlosrovira


Re: BinaryData and odd bytes

2018-06-19 Thread Alex Harui
Isn't ByteArray mapped to UInt8Array?

On 6/19/18, 10:07 AM, "Harbs"  wrote:

BinaryData uses TypedArrays to read data. It seems that if the ArrayBuffer 
does not divide evenly into the target TypedArray, you get a runtime error.

For example:

readShort() works like this:
var ret:int = new Int16Array(ba, _position, 1)[0];

If _position is not divisible by 2 (i.e. an odd number), this causes a RTE.

readInt() has a similar problem that _position needs to be divisible by 4, 
etc.

Am I correct that Flash’s ByteArray works correctly in this situation? We 
can use DataViews to solve the problem or we can read the bytes directly.

Thanks,
Harbs



BinaryData and odd bytes

2018-06-19 Thread Harbs
BinaryData uses TypedArrays to read data. It seems that if the ArrayBuffer does 
not divide evenly into the target TypedArray, you get a runtime error.

For example:

readShort() works like this:
var ret:int = new Int16Array(ba, _position, 1)[0];

If _position is not divisible by 2 (i.e. an odd number), this causes a RTE.

readInt() has a similar problem that _position needs to be divisible by 4, etc.

Am I correct that Flash’s ByteArray works correctly in this situation? We can 
use DataViews to solve the problem or we can read the bytes directly.

Thanks,
Harbs

Re: Migrating Enterprise Flex Application

2018-06-19 Thread Harbs
Yes. You can see a demo of our app here:
https://marketinginflection.com/printui-demo.php 


The business logic ported like a dream. We had to rewrite large portions of the 
view, but it was due to a modernization anyway.

We started our migration close to 2 years ago. It took about 17 months from 
when we started the migration until we had clients able to use the HTML version 
of the app.

If we were to do the migration today, it would take a fraction of the time. A 
lot of the time went to filling in missing pieces of Royale (i.e. E4X, Graphics 
and drawing APIs, porting TLF, filling in and adding components, etc.)

I find that we’re about as productive in Royale as we were working in Flex — 
possibly more so.

Prior to doing the Flex migration, we developed an Angular version of our app 
which was seriously dumbed down. It took nearly as long to develop as the 
Royale application and is nowhere near as capable. The Angular app is unwieldy 
to develop and performance is slow.

We’ve found the following advantages in regard to Flash:

1. The compiled minified HTML application is about half the size of the Flash 
application.
2. The app loads between 5 and 10 *times* faster than the Flash application did.
3. Debugging in the browser is IMO easier than Flash.
4. The browser profiling tools are great.
5. The application is general is much more performant than the Flash one thanks 
(I believe) to the improved Royale architecture.

Some more observations:
1. The performance of the native Royale components is amazing. Very fast!
2. It’s very helpful to see where XML performance takes a hit. We were able to 
use the profiler to discover where we had unnecessary E4X filtering and 
expressions when results could easily be cached.
3. I was pleased with E4X results in general, but I added a JXON class for 
lighter-weight XML processing.
4. We used a couple of third party components namely http://rangeslider.js.org/ 
 and http://bgrins.github.io/spectrum/ 
 I was surprised to discover that these 
components were by an order of a magnitude slower than any of the Royale 
components. They added so much overhead that the delay was noticeable and I had 
to implement some customizations to mitigate the effects of these.

Issues:
1. Debugging minified issues is difficult.
2. I’ve found some difficulty with layout situations that was easier in Flex. 
Of course, these problems are no better using other JS frameworks — probably 
worse.

I have other smaller applications developed with Royale as well. I don’t regret 
going this path at all!

HTH,
Harbs

> On Jun 19, 2018, at 6:57 PM, Alex Harui  wrote:
> 
> Yes.  PrintUI is our biggest example.  Harbs can share more details.
> 
> -Alex
> 
> On 6/19/18, 3:24 AM, "chembali"  wrote:
> 
>Has anyone ( big scale ) successfully migrated to Apache Royale from Flex? 
> I
>want to make sure that this migration path is a viable option for me? 
> Please
>share your thoughts. 
> 
>Thank you
>Sajith
> 
> 
> 
>--
>Sent from: 
> https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fapache-royale-development.20373.n8.nabble.com%2F=02%7C01%7Caharui%40adobe.com%7C722806578bc447770e8a08d5d5cecfe0%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C636650006607089540=qfDnc3ElRa9Nhwi%2FKAoJdNC67JYFp8UP49hA5Zdjq14%3D=0
> 
> 



Re: Migrating Enterprise Flex Application

2018-06-19 Thread Alex Harui
Yes.  PrintUI is our biggest example.  Harbs can share more details.

-Alex

On 6/19/18, 3:24 AM, "chembali"  wrote:

Has anyone ( big scale ) successfully migrated to Apache Royale from Flex? I
want to make sure that this migration path is a viable option for me? Please
share your thoughts. 

Thank you
Sajith



--
Sent from: 
https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fapache-royale-development.20373.n8.nabble.com%2F=02%7C01%7Caharui%40adobe.com%7C722806578bc447770e8a08d5d5cecfe0%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C636650006607089540=qfDnc3ElRa9Nhwi%2FKAoJdNC67JYFp8UP49hA5Zdjq14%3D=0




Re: Problem with "this" inside static method

2018-06-19 Thread Alex Harui


On 6/19/18, 4:03 AM, "Harbs"  wrote:


I can rewrite the cases I keep bumping into with these problems, but it 
seems to me like this is something we really need to fix.

Makes sense.  Go for it. Good luck.

I looked at the compiler code, but I don’t see any comments on why this is 
happening. I’m not sure what you mean about ES5 strict mode. The only 
limitation is that function statements (i.e. named functions) need to be at the 
top level of a script or function. This should not effect anonymous functions 
at all. I think we should leave top-level functions alone as well.

I tried to follow the logic on how it removes function blocks, and I had 
trouble doing so…

That may be why it isn't outputting the right thing.  I think functions have 
classifications as Local or not.  I think any local function gets hoisted right 
now.  I suspect the solution will involve understanding the node patterns that 
distinguish local functions that must be hoisted vs those that don't, plus also 
making closures and assigning them instead of assigning just functions.

My 2 cents,
-Alex

Harbs

> On Jun 18, 2018, at 7:44 AM, Harbs  wrote:
> 
>> I'm unclear as to what the desired JS output really should be.  Would it 
really work in JS if the function was directly assigned to a slot on the 
instance instead of a temporary variable first?  If so why?
> 
> Yes. Because it’s a reference to an instance variable function “cal"l can 
replace “this” in that case.
> 
>> I'm also surprised that in JS, a function call can't have its 'this' 
pointer reassigned by Function.call.  What is the actual JS that is running?
> 
> Struct.prototype.decode = function(stream, parent, length) {
>  var res, _ref;
>  if (length == null) {
>length = 0;
>  }
>  res = this._setup(stream, parent, length);
>  this._parseFields(stream, res, this.fields);
>  if ((_ref = this.process) != null) {
>_ref.call(res, stream);
>  }
>  return res;
> };
> 
> _ref.call(res, stream) did not work because despite res being passed into 
the function, “this” remained the global this in the static function.
> 
> I’m really not sure why passing in this does not work on static 
functions. I was surprised myself.
> 
> FWIW, I rewrote the code to avoid using “this”, but it’s probably not a 
bad idea to fix this if possible…
> 
> Harbs
> 
>> On Jun 18, 2018, at 7:09 AM, Alex Harui  wrote:
>> 
>> Without actually looking at the compiler, I think that functions that 
are not methods are pulled out and declared early for ES5 (strict?) reasons.  
I'm not sure there is a good distinction between a "local function" and 
assigning a function to something.
>> 
>> IIRC, "assigning" some functions like in a function as a parameter like 
addEventListener is supposed to generate Language.closure wrappers to make a 
"closure" and bind the 'this' pointer to the method.
>> 
>> I'm unclear as to what the desired JS output really should be.  Would it 
really work in JS if the function was directly assigned to a slot on the 
instance instead of a temporary variable first?  If so why?
>> 
>> I'm also surprised that in JS, a function call can't have its 'this' 
pointer reassigned by Function.call.  What is the actual JS that is running?
>> 
>> -Alex
>> 
>> On 6/17/18, 7:29 AM, "Harbs"  wrote:
>> 
>>   An additional related problem:
>> 
>>   Using “call” with a different “this” will not work with the aliased 
functions either.
>> 
>>   This is proving to be a challenge for me…
>> 
>>   Harbs
>> 
>>> On Jun 17, 2018, at 12:02 PM, Harbs  wrote:
>>> 
>>> I have the following class:
>>> 
https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpaste.apache.org%2Fr7Ek=02%7C01%7Caharui%40adobe.com%7Cd50a81aaa8f8453ae0f408d5d45eb567%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636648425616368813=5Jz5bTTwhdwweaam%2BghkMCSwkM4WWyqnWHhr%2BrDpub8%3D=0
 

>>> 
>>> Which gets cross-compiled to:
>>> 
https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpaste.apache.org%2F3k1r=02%7C01%7Caharui%40adobe.com%7Cd50a81aaa8f8453ae0f408d5d45eb567%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636648425616378822=t50ucBXXnOezZW9mt%2BuMH5J5N%2BlJGGJBoBer7SkYU7I%3D=0
 

>>> 
>>> The problem 

Re: Problem with "this" inside static method

2018-06-19 Thread Harbs
I’m pretty sure this is not a problem with static functions per se. It seems to 
be a general functional problem. Here’s another place I ran into issues:

I have some code inside a public function:

this.glyphInfos = glyphRun.glyphs.map(function(glyph):GlyphInfo{return new 
GlyphInfo(this.font, glyph.id, glyph.codePoints.slice())});

This gets cross-compiled into:

var /** @type {Function} */ __localFn0__ = function(glyph) {
return new com.printui.fontkit.opentype.GlyphInfo(this.font, glyph.id, 
glyph.codePoints.slice());
}
this.glyphInfos = glyphRun.glyphs.map(__localFn0__);

When the function is inline, “this” refers to the class instance.

After being pulled out into a local variable, “this” refers to the global 
Window object.

I can rewrite the cases I keep bumping into with these problems, but it seems 
to me like this is something we really need to fix.

I looked at the compiler code, but I don’t see any comments on why this is 
happening. I’m not sure what you mean about ES5 strict mode. The only 
limitation is that function statements (i.e. named functions) need to be at the 
top level of a script or function. This should not effect anonymous functions 
at all. I think we should leave top-level functions alone as well.

I tried to follow the logic on how it removes function blocks, and I had 
trouble doing so…

Harbs

> On Jun 18, 2018, at 7:44 AM, Harbs  wrote:
> 
>> I'm unclear as to what the desired JS output really should be.  Would it 
>> really work in JS if the function was directly assigned to a slot on the 
>> instance instead of a temporary variable first?  If so why?
> 
> Yes. Because it’s a reference to an instance variable function “cal"l can 
> replace “this” in that case.
> 
>> I'm also surprised that in JS, a function call can't have its 'this' pointer 
>> reassigned by Function.call.  What is the actual JS that is running?
> 
> Struct.prototype.decode = function(stream, parent, length) {
>  var res, _ref;
>  if (length == null) {
>length = 0;
>  }
>  res = this._setup(stream, parent, length);
>  this._parseFields(stream, res, this.fields);
>  if ((_ref = this.process) != null) {
>_ref.call(res, stream);
>  }
>  return res;
> };
> 
> _ref.call(res, stream) did not work because despite res being passed into the 
> function, “this” remained the global this in the static function.
> 
> I’m really not sure why passing in this does not work on static functions. I 
> was surprised myself.
> 
> FWIW, I rewrote the code to avoid using “this”, but it’s probably not a bad 
> idea to fix this if possible…
> 
> Harbs
> 
>> On Jun 18, 2018, at 7:09 AM, Alex Harui  wrote:
>> 
>> Without actually looking at the compiler, I think that functions that are 
>> not methods are pulled out and declared early for ES5 (strict?) reasons.  
>> I'm not sure there is a good distinction between a "local function" and 
>> assigning a function to something.
>> 
>> IIRC, "assigning" some functions like in a function as a parameter like 
>> addEventListener is supposed to generate Language.closure wrappers to make a 
>> "closure" and bind the 'this' pointer to the method.
>> 
>> I'm unclear as to what the desired JS output really should be.  Would it 
>> really work in JS if the function was directly assigned to a slot on the 
>> instance instead of a temporary variable first?  If so why?
>> 
>> I'm also surprised that in JS, a function call can't have its 'this' pointer 
>> reassigned by Function.call.  What is the actual JS that is running?
>> 
>> -Alex
>> 
>> On 6/17/18, 7:29 AM, "Harbs"  wrote:
>> 
>>   An additional related problem:
>> 
>>   Using “call” with a different “this” will not work with the aliased 
>> functions either.
>> 
>>   This is proving to be a challenge for me…
>> 
>>   Harbs
>> 
>>> On Jun 17, 2018, at 12:02 PM, Harbs  wrote:
>>> 
>>> I have the following class:
>>> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpaste.apache.org%2Fr7Ek=02%7C01%7Caharui%40adobe.com%7Cd50a81aaa8f8453ae0f408d5d45eb567%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636648425616368813=5Jz5bTTwhdwweaam%2BghkMCSwkM4WWyqnWHhr%2BrDpub8%3D=0
>>>  
>>> 
>>> 
>>> Which gets cross-compiled to:
>>> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpaste.apache.org%2F3k1r=02%7C01%7Caharui%40adobe.com%7Cd50a81aaa8f8453ae0f408d5d45eb567%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636648425616378822=t50ucBXXnOezZW9mt%2BuMH5J5N%2BlJGGJBoBer7SkYU7I%3D=0
>>>  
>>> 

Re: Migrating Enterprise Flex Application

2018-06-19 Thread Piotr Zarzycki
I see that you are using old version of Royale ->
apache-royale-0.9.1-bin-js-swf
- Please download following one and try again [1]. We didn't release yet
emulation stuff, so you need to use Nightly build.

[1]
http://apacheroyaleci.westus2.cloudapp.azure.com:8080/job/Royale-asjs_MXRoyale/lastSuccessfulBuild/

Thanks,
Piotr

wt., 19 cze 2018 o 12:49 chembali  napisał(a):

> I have been using the flex config option in my earlier attempts. That did
> not
> work. I tried again, same issue. Is there any debug log or something that I
> can take a look?
>
>
>
> --
> Sent from: http://apache-royale-development.20373.n8.nabble.com/
>


-- 

Piotr Zarzycki

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


Re: Migrating Enterprise Flex Application

2018-06-19 Thread chembali
I have been using the flex config option in my earlier attempts. That did not
work. I tried again, same issue. Is there any debug log or something that I
can take a look?



--
Sent from: http://apache-royale-development.20373.n8.nabble.com/


Re: Migrating Enterprise Flex Application

2018-06-19 Thread Carlos Rovira
Hi Chembali,

we're in the process now, maybe to soon to talk, but seems there's no
problems that couldn't be solved in the way, or at least nothing that
you'll not find in any other HTML technology out there. You'll even should
see less problems since Royale is more close to Flex that any other option
out there, so should expect less problems than migrating to other plain
html frameworks out there.

just my 2...

Carlos


2018-06-19 12:24 GMT+02:00 chembali :

> Has anyone ( big scale ) successfully migrated to Apache Royale from Flex?
> I
> want to make sure that this migration path is a viable option for me?
> Please
> share your thoughts.
>
> Thank you
> Sajith
>
>
>
> --
> Sent from: http://apache-royale-development.20373.n8.nabble.com/
>



-- 
Carlos Rovira
http://about.me/carlosrovira


Re: Migrating Enterprise Flex Application

2018-06-19 Thread Piotr Zarzycki
Take a look into my report for some Folks [1], you have there full command
line options. You are missing in your command loading flex config. Have you
seen that instruction on our website ?

[1] https://paste.apache.org/LPkY

wt., 19 cze 2018 o 12:24 chembali  napisał(a):

> Has anyone ( big scale ) successfully migrated to Apache Royale from Flex?
> I
> want to make sure that this migration path is a viable option for me?
> Please
> share your thoughts.
>
> Thank you
> Sajith
>
>
>
> --
> Sent from: http://apache-royale-development.20373.n8.nabble.com/
>


-- 

Piotr Zarzycki

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


Re: Migrating Enterprise Flex Application

2018-06-19 Thread chembali
Has anyone ( big scale ) successfully migrated to Apache Royale from Flex? I
want to make sure that this migration path is a viable option for me? Please
share your thoughts. 

Thank you
Sajith



--
Sent from: http://apache-royale-development.20373.n8.nabble.com/


Re: Migrating Enterprise Flex Application

2018-06-19 Thread chembali
Hi Piotr,

I followed the instructions and set up the Royale SDK for generating the
report. But the -api-report compiler options does not seem to be supported
by the mxmlc compiler in RoyaleSDK. Should I do the whole thing again or is
there any way to troubleshoot this? Appreciate your help on this.

Thank you
Sajith



--
Sent from: http://apache-royale-development.20373.n8.nabble.com/


Re: Migrating Enterprise Flex Application

2018-06-19 Thread Piotr Zarzycki
Hi Sajith,

Please take a look into the instruction on the Emulation Components how to
generate report. [1] I would also suggest you to generate that use console.

[1] https://github.com/apache/royale-asjs/wiki/Generating-an-API-Report

Thanks,
Piotr

wt., 19 cze 2018 o 11:10 chembali  napisał(a):

> Hi Piotr,
>
> Changing the ROYALE_COMPILER_HOME did not help. I tried a different route.
> I
> used the command line mxmlc instead of my gradle build. Here is the command
> I tried running.
>
> > mxmlc -api-report="C:\devenv\flex\report.txt"
> >
> C:\devenv\ii\trunk\components\InfogixInsight\src-flexui\com\infogix\insight\bc\iib\view\WelcomePage.mxml
>
> Here is the output.
>
> ECHO is off.
> Using Royale Compiler codebase:
> C:\devenv\apache-royale-0.9.1-bin-js-swf\royale-asjs\js\bin\..\..
> Using Royale SDK:
> C:\devenv\apache-royale-0.9.1-bin-js-swf\royale-asjs\js\bin\..\..
> MXMLJSC
>
> -sdk-js-lib=C:\devenv\apache-royale-0.9.1-bin-js-swf\royale-asjs\js\bin\..\..\frameworks\js\Royale\generated-sources
> -api-report=C:\devenv\flex\report.txt
>
> C:\devenv\ii\trunk\components\InfogixInsight\src-flexui\com\infogix\insight\bc\iib\view\WelcomePage.mxml
> command line Error: unknown configuration variable 'api-report'.
>
> The api-report option is not working. How would I get usage help to see the
> supported options? Can you help?
>
> Thank you
> Sajith
>
>
>
> --
> Sent from: http://apache-royale-development.20373.n8.nabble.com/
>


-- 

Piotr Zarzycki

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


Re: Migrating Enterprise Flex Application

2018-06-19 Thread chembali
Hi Piotr,

Changing the ROYALE_COMPILER_HOME did not help. I tried a different route. I
used the command line mxmlc instead of my gradle build. Here is the command
I tried running.

> mxmlc -api-report="C:\devenv\flex\report.txt"
> C:\devenv\ii\trunk\components\InfogixInsight\src-flexui\com\infogix\insight\bc\iib\view\WelcomePage.mxml

Here is the output.

ECHO is off.
Using Royale Compiler codebase:
C:\devenv\apache-royale-0.9.1-bin-js-swf\royale-asjs\js\bin\..\..
Using Royale SDK:
C:\devenv\apache-royale-0.9.1-bin-js-swf\royale-asjs\js\bin\..\..
MXMLJSC
-sdk-js-lib=C:\devenv\apache-royale-0.9.1-bin-js-swf\royale-asjs\js\bin\..\..\frameworks\js\Royale\generated-sources
-api-report=C:\devenv\flex\report.txt
C:\devenv\ii\trunk\components\InfogixInsight\src-flexui\com\infogix\insight\bc\iib\view\WelcomePage.mxml
command line Error: unknown configuration variable 'api-report'.

The api-report option is not working. How would I get usage help to see the
supported options? Can you help? 

Thank you
Sajith



--
Sent from: http://apache-royale-development.20373.n8.nabble.com/


CSS Layouts - About Gaps

2018-06-19 Thread Carlos Rovira
Hi,

I committed some hours ago my work on Jewel Layouts that are based on CSS.
This work is in a point that while is working for most cases it shows some
flaw points that need to be solved and others that need to be discussed to
reach to the best shape.

The motivation:

Get layouts that use the flexbox model in the browsers without not
Javascript layout computation. This means using css class selector rules.
No styles in tags. (Notice: that this layouts are not developed in SWF,
there's some code left from Basic versions, but will need to be developed
at some time later)

How this is done:

We have a layout class selector that set up flex (SASS code to make it most
simple):

.layout
display: flex
position: relative

Vertical layout is

/* Vertical */
.layout.vertical
flex-flow: column nowrap
align-items: flex-start

Horizontal is

/* Horizontal */
.layout.horizontal
flex-flow: row nowrap
align-items: flex-start

How can we get things like gaps working? In Flex we had a "gap" property
and we can put any number we want

For what I see in all css layout frameworks out there, the framework
defines a gap, and then all css layouts work with that. This can be a bit
limiting, but in the other way it can get your layouts to something more
consistent. If people can use only a particular gap, all layouts will have
the same space between elements.

In the other hand, I think other CSS frameworks do this in order to avoid
CSS long file sizes, since this method requires to "bake" all options you
want.

In Jewel I tried to have best of both worlds:

- Have some pre bake styles for gap
- Have some configuration options: Instead of let the user choose *all*
possible numbers from 1 to ... what he wants. I set up for HorizontalLayout
and VerticalLayout 10 styles that steps 3px one from the next one.

So we the possible gaps are (a part from 0px): 3px 6px 9px 12px 15px 18px
21px 24px 27px 30px

In Jewel we have for VerticalLayout (for example):

@for $i from 1 through $gaps
&.gap-#{$i}x#{$gap-step}px
> *:first-child
margin: 0px
> *
margin: ($gap + $i * $gap-step) 0px 0px

This generates this two rules :

.layout.horizontal.gap-1x3px > *:first-child {
margin: 0px;
}
.layout.horizontal.gap-1x3px > * {
margin: 0px 0px 0px 3px;
}

Notice that in AS3 code and in JewelTheme, there's two variables that
handle this, so a user can change this to its needs in its build.

But I want to discuss here what do you think about this way. I must say
that what I'm presenting is not in its final shape so we can discuss here
how to improve it.

For example:

* We can generate this kind of rules in AS3, instead of baking it in the
Jewel main css (this is not part of a theme).
* If we generate a rule to use, we don't need "gap steps" and can left the
user set the number he wants (but this will make the user not to be forced
to use a "consistent" gap with the rest of the layouts in his application,
and people can set 4px, then 6px, then 7px, then 5px, and so on...

A word of caution here, I think what I'm exposing here is something
subjective and don't think there's a good or wrong way to do this, but I
think more visions of what you expect from layout when using this will be
very useful to get the final shape of this classes.

Layouts are key piece and must be enough flexible, easy to write, and easy
to plug in other components. So this is one of the most important pieces.

Finaly, there's so much related things that we need to discuss, but I'll
put those in other email threads since the topic is huge, I'll say that one
thing is about the new Grid and grid layouts that let us make responsive
"mobile-first" applications. I have this working, but we can see if is the
best way to write. More on this soon. The other important thing is that I
find problem with states that seems not to store class names and includeIn
can mess things...more on this soon too :)

I think enough for now :)

thanks

-- 
Carlos Rovira
http://about.me/carlosrovira