Hi Ram,

You can find the project here, https://github.com/velara3/Radii8. I haven't worked on it in a while. It should run as is but you might need the modified resize handle swc. I don't know if I included that in repo bc it was not originally my code (however all the code is cleared). If not there let me know.

Once you get that running you can look at the exporter classes such as the MXML exporter, HTML exporter, etc. You can then work on a Royale Exporter. There is also internal browser if you wanted to do what Alex suggested with live editing.

Note: The internal browser is very old and doesn't render SVG or support some HTML features. There are companies who have updated the browser with a new WebView or may update the internal browser (Harman).

The entire project was built from scratch. So you'll see after a while that some sections of the project need refactoring or rewritten. Then, once you get familiar with it you can see if it can be plugged into moonshine or moonshine can be plugged into to it.

FWIW I researched the moonshine project when I started but it had been abandoned already for a few years and I wanted to have a design view on the web as well as desktop and moonshine at the time relied entirely on desktop APIs.

There is some documentation in the repo on how to get it setup, how to create new tools and so on. I have limited availability to work on anything new but I can answer any questions and you can contact me directly if you like.

BTW I'm currently working on a plugin for Adobe XD that exports to HTML. I've been looking into exporting to MXML and other languages but haven't started yet and would welcome help on that but based on your discussion I don't know if that will fit your needs.

The original goal of the project was to create a design view for Flex projects after Adobe removed the design view from Flash Builder.

Jude

PS Apache Flex has an official license and source donation for it's use (see discussion list from years ago)

On 3/14/20 3:54 PM, Ramazan Ergüder Bekrek wrote:
I would disagree with that because a while ago I went deep into the source code 
for the TLF framework in Flash and there was implementation of various HTML 
element which could be displayed directly in the Flash DisplayList.

There is also another project I saw which has a designer view written all in 
Flex... this could be taken and then injected inside Moonshine in a Loader with 
whom we could communicate back and forth if we want to export the structure to 
HTML or other framework.

We could ask the author of it to check how could we implement it.

https://pasteboard.co/IZ6B7EL.png

Best regards

P.S. If you would like to have a reverse engineered images of all the diagrams 
I did in the past for the TLF please le me know I draw so many pages just for 
the sake of understanding.




14.03.2020, 19:48, "Alex Harui" <aha...@adobe.com.invalid>:
I never looked too closely at the SWF portion of FB DV. It was a SWF app. But 
IIRC, the main work in DV was in the communications between the SWF and the FB 
Java code in Eclipse that displayed properties and managed alignment and 
alignment-guides and whatever else DV offered. IOW, it isn't that much SWF code 
to handle a request to set or return properties on an object with a particular 
ID in the DOM.

What I do remember is that the SWF portion was an exception to the rule that 
the DOM would not have an Application as a child of an Application without a 
SWFLoader between them. I would strongly prefer we not tackle those exceptions 
in Royale.

One thing about Royale that is a bit different from Flex and SWFs is that 
(hopefully) the Royale Applications do not presume they are essentially the top 
level node in the DOM. Maybe Basic Application could assume that it is 
top-level for simplicity, but other Application tag do not need to presume that 
and shouldn't. That's because you don't really know where in the DOM the Royale 
Application will end up. In Flex, you could wrap the SWF Object inside any 
amount of HTML and the SWF Object was a black box and the Flex app ran at the 
root of the SWF Object. In Royale, we probably can't and don't want to do that.

What that means is that it should be easier to wrap a Royale Application in 
other DOM widgets and thus it should be far easier to create property display 
boxes, alignment guides, selection, and other UI a DV needs in the browser 
instead of in the IDE. And the advantage of that is that the browser is doing 
the rendering so it is truly WYSIWYG. Any attempt to emulate an HTML renderer 
in AIR or Java/Eclipse or other IDE platforms would be concerning to me. I 
think you would get better fidelity if the IDE would run a browser in a window 
of the IDE and talk to it, and potentially do most of the UI in that browser 
window.

Of course, I could be wrong...
-Alex

On 3/14/20, 11:26 AM, "Ramazan Ergüder Bekrek" <e.bek...@yandex.com> wrote:

     This is just my idea and my intuition tells me that the FB DV was built as 
an SWF app which was loaded inside of eclipse like a browser SWF what if we 
decompile its source code and just inject it in Moonshine editor?

     Does this make any sense?

     11.03.2020, 22:43, "Ramazan Ergüder Bekrek" <e.bek...@yandex.com>:
     > This is just my idea and my intuition tells me that the FB DV was built 
as an SWF app which was loaded inside of eclipse like a browser SWF what if we 
decompile its source code and just inject it in Moonshine editor?
     >
     > 11.03.2020, 19:57, "QA" <flexcapaci...@gmail.com>:
     >> Hi, I agree that a GUI IDE is needed or would be beneficial. I've
     >> planned Royale as an export target for Web Export but it's been on the
     >> backlog. I've mentioned this in another post but Web Export is a plugin
     >> for Adobe XD that exports artboards to the web. Currently it supports
     >> exporting markup to HTML and CSS.
     >>
     >> XD supports all the layout, positioning and design features used for
     >> prototyping.
     >>
     >> To support Royale more fully would require some work but it would be
     >> much less work to add in support than write your own design view.
     >>
     >> YouTube playlist
     >> 
https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.youtube.com%2Fplaylist%3Flist%3DPLFBNT6gqr5u_NvUaLdHziGES_7Rw8-2pX&amp;data=02%7C01%7Caharui%40adobe.com%7Ce725dd9fb9554a1760a108d7c8452d3f%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637198071757779259&amp;sdata=oth%2FP5pVUEGwBJ9yKUy8HWBgbVjXeYBQzlnrtyo1700%3D&amp;reserved=0
     >>
     >> Documentation
     >> 
https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fvelara-3.gitbook.io%2Fweb-export%2F&amp;data=02%7C01%7Caharui%40adobe.com%7Ce725dd9fb9554a1760a108d7c8452d3f%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637198071757779259&amp;sdata=BWPsL5I5cdOapzep8mu%2FwdNvatQaEvjA4gVV8WeTkIw%3D&amp;reserved=0
     >>
     >> More comments inline...
     >>
     >> On 3/9/20 11:28 PM, Alex Harui wrote:
     >>> While it may be that someone offers a GUI IDE some day for Royale, 
there is are some other approaches, one that has been prototyped, and one that wasn't 
possible with Flash Player.
     >>>
     >>> IIRC, one prototype adds some things to your app that allow you to 
edit the x/y/width/height in your MXML and immediately see the results in the browser.
     >>
     >> Web Export has a live export feature so that as you make changes it
     >> updates live in the browser (for HTML).
     >>
     >> 
https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DkfQQkxi8eG4%26list%3DPLFBNT6gqr5u_NvUaLdHziGES_7Rw8-2pX%26index%3D10%26t%3D0s&amp;data=02%7C01%7Caharui%40adobe.com%7Ce725dd9fb9554a1760a108d7c8452d3f%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637198071757789220&amp;sdata=w1NpFDdP7OuzvfwDdpFpMfeIGNP%2BfikpoJulUM%2Fh1J0%3D&amp;reserved=0
     >>
     >> You can have it update the MXML in an existing file or have it write the
     >> MXML document each time it changes.
     >>
     >>> The other approach is to write a bead that can track your MXML from 
the browser so you can use the browser tools to modify the UI and hit some button that 
will then update the MXML.
     >>>
     >>> There are some limitations to these approaches which is why none are 
available at this time. The main one is that use of view states greatly complicates 
these approaches (as it does for a GUI IDE as well). So one question for you, are you 
using view states (mx:State)?
     >>
     >> XD supports states in a way. What I've seen from users is they have
     >> different pages and manually switch between them. I think the way XD
     >> creates it's live prototypes is listing all property changes. That
     >> information can be stored in State markup.
     >>
     >> If you (or other Flex devs) want to join me on adding Royale support to
     >> Web Export I can add you to the github project and you'll be about one
     >> year further along towards a GUI.
     >>
     >> Jude

Reply via email to