Hi guys,

Now I see, we have same goals for delivering a comprehensive  SDK to our
users.

As for Flash APIs, for my understanding, it is AS3 language build-in basic
library that provides basic Rendering, IO, networking, etc.
The relationship of Flash APIs with AS3 is similar to DOM with JS, .Net
with C#, stdlib with C++, etc. I did not actually compare AS3 to TS, I meant
without flash api support, AS3 would be much worse especially when it used
for targeting web applications.
To make Royale much more reliable, I suppose except high level flash APIs,
such as MovieClip( timeline based), etc, we should at least consider basic
IO, networking, rendering apis.

As for other projects that tried to emulating flash apis,
SpriteFlexJS is a project that my friend Li Zhi  started 4 years ago, our
initial thought was testing the capabilities for FalconJX compiler,
After this project, I started AJC project to officially emulating Flash
APIs for commercial AS3 projects. During AJC development, we made our
own c++ version of Flash APIs( not finished all of them yet) to be as
accurate as possible, almost 98% same result as original flash player dose,
regardless so many differences between DOM and flash player.
OpenFL made all flash API available, but inside it went different
approaching, graphics vector rendering, event flow, networking are all
different than original flash player, thus made
existing AS3 project impossible to use it without seriously modifying
source codes.
Ruffle is another project that written in rust to emulate entire flash
player,  here is its own roadmap
https://github.com/ruffle-rs/ruffle/wiki/Roadmap, it is a totally different
approaching that parsing SWF at runtime plugin(wasm)/ desktop player other
than
compiling AS3 from the sources once again. When it finished, it would be a
good choice for exiting AS3 projects.

I suggest we get our hands on basic flash API implementations as soon as
possible, how would you guys think?

Cheers
Jason


On Mon, Oct 21, 2019 at 5:05 PM Carlos Rovira <carlosrov...@apache.org>
wrote:

> Hi Jason,
>
> to continue complementing the understanding of our goals. Royale has the
> advantage to be prepared in theory to output to multiple targets (SWF, JS,
> WASM, ...native iOS?, native Android?,....). Since Royale is an SDK it
> provides all the user need to build an app (compiler, framework, UI set,
> communications, reflection, XML,....).
>
> I think great power of your contribution is to make users that was
> outputting JS or SWF be able to output WASM without changing their user's
> code.
>
> That's for me the main point of Royale for years to come, to make users
> agnostic of technology trends. Royale will handle this for them, adding the
> support so they don't need to change a single line of code in their apps.
>
> For example, imagine actual teams working with React to make a new app.
> That app has potential to grow as Flex apps did in the past. And be very
> big codebase. Then in few years, WASM should be the new trend and making
> people migrate from JS to WASM. Maybe by that time React could handle WASM
> output correctly or not, but due to fragmentation in libraries and code, I
> think that should not be an easy task. Royale instead since has the multi
> target at its Core should be able to reach that goal better and faster with
> people like you.
>
> About Flash API. If we use our own royale based API that can output to the
> platform we want (instead of flash.*, think about in royale.*), I think
> this has more power that bringing the older Flash API, since you're writing
> for a platform that is open and prepared for the future. As Alex said,
> there's others already allowing flash APIs and using Royale compiler, so if
> that's really what you want, you can plan to work between royale and those
> projects. I think those are OpenFL and SpriteFlexJS.
>
> I think if you work in Royale for WASM, you can plan to make it happen for
> Royale itself and for other projects depending on it... so more users will
> be interested in that new power feature and will make Royale even more
> interesting and appealing for companies and individuals looking to what
> tech for the future they should use.
>
> Maybe is important in this point to see if this new point of view can be
> interesting to you or maybe that's not the way to envision the
> possibilities for all this stuff.
>
> Thanks!
>
> Carlos
>
>
>
> El lun., 21 oct. 2019 a las 8:31, Alex Harui (<aha...@adobe.com.invalid>)
> escribió:
>
> > Royale is currently primarily focused on migrating Flex apps, which is a
> > subset of all Flash apps.  There are a couple of other non-Apache
> projects
> > looking at emulating the Flash APIs.  So if your app is pure Flash, you
> > might want to contact those other projects.  The main restriction is
> pretty
> > much number of people on the project.  We're busy enough with Flex apps
> and
> > not worrying about timelines and other Flash things.
> >
> > We are not really competing with TS.   We use AS3 and MXML because that's
> > what the compiler can parse.  We output SWF and JS because that's what
> our
> > compiler can output.  It should be possible to allow TS in Royale apps if
> > that what volunteers want to add to the compiler.  We would gladly accept
> > your contribution towards WASM output from the compiler.
> >
> > Hopefully all of these efforts can coexist.  I think the other Flash
> > emulation projects are using the Royale compiler.  Royale can the home of
> > the compiler used by many projects.
> >
> > My 2 cents,
> > -Alex
> >
> > On 10/20/19, 6:51 PM, "Jason Huang" <jasonhuang1...@gmail.com> wrote:
> >
> >     Hi,
> >     I understood what you concerned about licensing/copyrights. I won't
> > use the
> >     previous AJC approaching at all, but writing a new compiler that
> > compiles
> >     AS3 codes to wasm format instead. So that would be a totally
> different
> >     approach than I used to do.
> >
> >     As Alex mentioned "Royale currently has no intention of
> >     duplicating/emulation the Flash API.  We want new Royale apps to be
> > built
> >     on top of components instead of timelines and DisplayObjects". For my
> >     understanding, we are just using AS3 as a typed
> >     language for building applications, nothing to do with porting
> various
> > AS3
> >     projects. Let's say if a AS3 project is purely developed based on
> Flash
> >     API, in this case if it is willing to use Royale, so it has to be
> >     re-written to adjust new APIs provided by Royale,  is that correct?
> >
> >     if our goal is providing a brand new tool chain and apis other than
> > helping
> >     existing  AS3 projects, I don't see a lot of advantages for using AS3
> > over
> >     Type Script. Type Script has much more users than AS3 dose today,
> plus
> > Type
> >     Script has its own compiler to wasm already, known as Assembly Script
> >     compiler (
> >
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FAssemblyScript%2Fassemblyscript&amp;data=02%7C01%7Caharui%40adobe.com%7Ce2111cc079dd4def53c808d755c93551%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C637072194994461275&amp;sdata=ygxlzv%2FMrLGjxMph8gitE1rjwI%2BnA%2BvZc8MdokerY%2Fs%3D&amp;reserved=0
> > ).
> >
> >     I really wanna put all my efforts in to Royale to make AS3 to shine
> as
> >     other web based languages do,  I really wanna know your future
> > plans/goals/
> >     road map, and to find what exactly should I do with it.
> >
> >     Cheers
> >     Jason Huang
> >
> >
> >     On Mon, Oct 21, 2019 at 6:21 AM Alex Harui <aha...@adobe.com.invalid
> >
> > wrote:
> >
> >     > Hi Jason,
> >     >
> >     > Welcome.  I hope we find a way to work well with you.
> >     >
> >     > First, a slight correction to what Carlos said about copyrights.
> > Just
> >     > about everything of significance is copyrighted by a company or
> > individual,
> >     > so we're not looking for things "not under a copyright"..  But
> there
> > must
> >     > be an Apache-compatible license to use that copyrighted material.
> >     >
> >     > Second, Royale currently has no intention of duplicating/emulation
> > the
> >     > Flash API.  IMO, the goal of Royale isn't to propagate Flash to
> other
> >     > platforms, but to create some APIs that can migrate to other
> > platforms, to
> >     > better future-proof new Royale applications.  We've emulated a few
> > Flash
> >     > APIs to help those migrating Flex projects, but we don't have a
> goal
> > to
> >     > emulate all of them.  We want new Royale apps to be built on top of
> >     > components instead of timelines and DisplayObjects.
> >     >
> >     > HTH,
> >     > -Alex
> >     >
> >     > On 10/20/19, 9:06 AM, "Carlos Rovira" <carlosrov...@apache.org>
> > wrote:
> >     >
> >     >     Hi Jason,
> >     >
> >     >     great to have you in the list proposing that plans. Since
> Royale
> > is
> >     > multi
> >     >     target with current support for SWF and JS, we really want to
> > have
> >     > others
> >     >     and users asked many times about WASM support. So WASM is maybe
> > the
> >     > most
> >     >     requested and wanted new target in Royale. So, yes, we want
> >     > contributors
> >     >     that work in WASM target :).
> >     >
> >     >     Hope others in the project can give some words here and give
> his
> >     > opinion.
> >     >     In the meantime I think the most important thing is to
> > understand as
> >     > best
> >     >     as possible for you how Apache projects work and that is very
> >     > different to
> >     >     closed source and things driven by companies. It's important
> that
> >     > anything
> >     >     you want to contribute is not under any copyright and is new
> > code you
> >     >     contribute to the project. Apache is all about open source, so
> > is very
> >     >     important that no company or individual owns the code and be
> > always
> >     >     available to the public and people can use under Apache License
> > v2.0
> >     > rules.
> >     >     I think you should check all you can about how Apache works
> [1].
> >     > Anything
> >     >     you need to ask please do here.
> >     >
> >     >     The next thing important to this concrete project, Apache
> > Royale, is to
> >     >     understand we're a community were we respect the work of others
> > in the
> >     >     community, and we expect the same from new members and
> > contributors. So
> >     >     although code and skills is important, fellowship, respect and
> > other
> >     > social
> >     >     things are very important to us.
> >     >
> >     >     The way new contributors start working is through Pull Request
> in
> >     > GitHub
> >     >     (PRs), interacting in this list (and/or in the users list if
> you
> > want)
> >     > and
> >     >     doing as you consider to help the project going on.As well,
> this
> > is all
> >     >     done freely as you consider and nobody can request anything to
> > you
> >     > since is
> >     >     something we all do because we want.
> >     >
> >     >     I think to start is important that you try to expose in this
> > list how
> >     > you
> >     >     plan to implement WASM support in Royale so the rest of the
> team
> > can
> >     > guide
> >     >     you and discuss things for two reason. a) Guide you to
> integrate
> > in the
> >     >     best possible way, since you can have in mind some path and
> that
> > could
> >     > be
> >     >     not doable for different reasons: technical, wrong specs that
> > defeats
> >     > some
> >     >     important Royale principles, or any other things, b) save you
> > time. We
> >     >     don't want you to spend lots of time, and reach a point of
> > merge, and
> >     > then
> >     >     others in the team say you is not possible to integrate for
> some
> >     > reason of
> >     >     design or compatibility with the global direction of the
> project.
> >     >     So in resume, please try to write and explain here before
> > starting any
> >     >     effort to avoid lose time. This will be by far more efficient
> > and will
> >     > save
> >     >     you from any frustration in the future.
> >     >
> >     >     Other point is that we expect that you can accept critics as
> > part of
> >     > the
> >     >     team work and this is important. Something that can happen is
> > that
> >     > what you
> >     >     could have in mind something that can't be done for any reason
> > and it
> >     > may
> >     >     be difficult to accept the design of the community. But in
> > Apache all
> >     >     things have to happen by consensus. That's the "Apache way".
> >     >
> >     >     Said all this, I really hope you find your way in our community
> > and
> >     > could
> >     >     be the guy that make WASM be a reality in Royale. I know the
> > effort is
> >     > not
> >     >     easy at all, maybe is a long run. I really think that if you
> > bring
> >     >     something that could make Apache Royale be the next front end
> >     > technology
> >     >     that get to be massively used since the current ones (like
> React,
> >     > Angular
> >     >     or Vue), will never have this kind of power feature. If you get
> > it, I
> >     >     really would like to add WASM support to Jewel UI set for
> > example.
> >     >
> >     >     So, definitely, expecting to work with you and help you to make
> > this
> >     > happen
> >     >     :)
> >     >
> >     >     Best
> >     >
> >     >     Carlos
> >     >
> >     >     [1]
> >     >
> >
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.apache.org&amp;data=02%7C01%7Caharui%40adobe.com%7Ce2111cc079dd4def53c808d755c93551%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C637072194994461275&amp;sdata=vl8A9JSCsNN%2FI5sHHXEmVoRq1%2BjgMRszMXxW1%2BzaZ9U%3D&amp;reserved=0
> >     >
> >     >
> >     >
> >     >
> >     >     El dom., 20 oct. 2019 a las 6:30, Jason Huang (<
> >     > jasonhuang1...@gmail.com>)
> >     >     escribió:
> >     >
> >     >     > Hi, everyone,
> >     >     >
> >     >     > I'm Jason Huang, I really like to work with you guys to
> > improve and
> >     > add new
> >     >     > features to Apache Royale.
> >     >     >
> >     >     > In early 2017, I started a project that compiling AS3 to JS
> and
> >     > interacting
> >     >     > with a WASM version of basic C++ re-written flash runtime
> > apis. The
> >     > project
> >     >     > known as AJC. The initial idea of this project is to help
> > existing
> >     > AS3
> >     >     > projects to be able to run on the web without flash player
> > plugin.
> >     > In the
> >     >     > end of 2017, the project finally has its own SDK ( customized
> > Falcon
> >     > JX
> >     >     > compiler, and customized emscripten sdk), a stable customized
> > flash
> >     > develop
> >     >     > IDE that has same experiences ( building, debugging,etc) as
> > original
> >     > one
> >     >     > that manage original as3 projects. Finally, the only thing
> > that left
> >     > to do
> >     >     > is finishing the whole Flash API using c++ that may run with
> > the both
> >     >     > environment that browser provided and native platforms such
> as
> >     > Windows,
> >     >     > Mac, Linux. In the middle of 2018, I finished most of crucial
> > apis of
> >     >     > flash, such as  the whole packages of flash.display(hardware
> >     > accelerated
> >     >     > rendering), flash.display3D, flash.events, flash.net,
> > etc,.and it
> >     > was able
> >     >     > to meet all apis requirements from a commercial AS3 ui lib
> > known as
> >     > flex
> >     >     > lite(
> >     >
> >
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fflexlite&amp;data=02%7C01%7Caharui%40adobe.com%7Ce2111cc079dd4def53c808d755c93551%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C637072194994461275&amp;sdata=Uku1hB6dJ5rUClFBdx683Uzu5%2F2h9y72OIxnikowZIY%3D&amp;reserved=0
> > ),
> >     > I successfully built all examples from
> >     >     > that lib to js and communicating with my wasm version of
> flash
> > apis.
> >     >     > Unfortunately, after that bad things happened to me, I had to
> > leave.
> >     > Thus
> >     >     > AJC project has been suspended in  the middle of 2018. The
> only
> >     > thing left
> >     >     > to the public is a fork repo from my original one (
> >     >     >
> >     >
> >
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fshanewfx%2FAJC-Flash-WebAssembly-Examples&amp;data=02%7C01%7Caharui%40adobe.com%7Ce2111cc079dd4def53c808d755c93551%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C637072194994461275&amp;sdata=CzhwyqDRYO9rp2zr59t%2FTheuho%2FUdVDM47bxS3HYyCA%3D&amp;reserved=0
> >     > ).
> >     >     >
> >     >     > After 17 months, today, I am able to continue this project
> once
> >     > again. But
> >     >     > this time I decided to bring it to the public entirely. And
> > working
> >     > with
> >     >     > you guys should be more efficient and reliable. After all the
> > things
> >     > I have
> >     >     > been doing with AJC, now I have a plan that compile AS3 to
> wasm
> >     > directly,
> >     >     > without w/r memories through embind api that much. As
> > previously all
> >     > as3
> >     >     > code being compiled to js first, then those js calling every
> > single
> >     > flash
> >     >     > api functions in wasm through memory reading and writing,
> this
> > is
> >     > very
> >     >     > consuming at runtime.
> >     >     >
> >     >     > I have few brief questions:
> >     >     > How you guys think about my plan?
> >     >     > What is the state of Royale? is it similar with previous
> > falcon jx
> >     > with
> >     >     > more tooling and frameworks added?
> >     >     > Did you guys implement a js version of flash apis?
> >     >     >
> >     >     > Cheers
> >     >     > Jason Huang
> >     >     >
> >     >
> >     >
> >     >     --
> >     >     Carlos Rovira
> >     >
> >     >
> >
> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7Ce2111cc079dd4def53c808d755c93551%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C637072194994461275&amp;sdata=PL2yWWnCtXVk0VPBiFynCjqrqxx1aN%2BkiPasEdJnGlQ%3D&amp;reserved=0
> >     >
> >     >
> >     >
> >
> >
> >
>
> --
> Carlos Rovira
> http://about.me/carlosrovira
>

Reply via email to