This is an automated email from the ASF dual-hosted git repository.
aharui pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/royale-asjs.wiki.git
The following commit(s) were added to refs/heads/master by this push:
new 0aae07e Updated Emulation Components (markdown)
0aae07e is described below
commit 0aae07eb42622fb9702848d5d92969026dfcf529
Author: aharui <[email protected]>
AuthorDate: Thu Jan 9 01:13:03 2020 -0800
Updated Emulation Components (markdown)
---
Emulation-Components.md | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/Emulation-Components.md b/Emulation-Components.md
index c48576b..0ad976c 100644
--- a/Emulation-Components.md
+++ b/Emulation-Components.md
@@ -8,8 +8,14 @@ This document has the following sections:
## Creating An Emulation Component
+There are two approaches to creating an emulation component. Which approach
to choose depends on what the Flex code for the component looked like and
whether there are existing HTML-based components or HTMLElements that can
better implement the component than migrating all of that Flex code. For
example, simple controls like Button and TextInput are better implemented as
thin wrappers on HTMLElements. Even Panel and much of DataGrid and
AdvancedDataGrid are better implemented on top o [...]
+
+But other components are "higher-level". They subclass or compose these
components that wrap HTMLElements. Examples are Charts and Spark Form. There
wasn't much Flash dependencies that would be hard to emulate and there weren't
HTMLElements that could do the job better.
+
The plan is to quickly create classes with stubs for APIs we know our
migrating users are using based on -api-reports sent in by these users. The
current list is at the end of this page. The goal is not to try to get every
line of code in an existing MX or Spark component to work in Royale. Instead,
we just want to get the public APIs that are actually used to work.
+The rest of this document was written back when all we were doing is creating
emulation components that wrapped HTMLElements. Lately, more and more
components and features are being developed in a different approach. That
approach is described in [Creating A High-level Emulation
Component](creating-a-high-level-emulation-component)
+
But first, we want to try to get the migrating user's app to compile. So the
process is to quickly create a class of the same package name and class name as
the Flex component and either copy in Royale APIs (renaming if necessary),
copying in the API from the flex-sdk repo (if it will work as is) or copying in
the API from the flex-sdk repo and removing all of the code and leaving a TODO.
We have created an emulation of UIComponent and several components already.
Emulation components don't have to retain their Flex class hierarchy if the
intermediate ancestor classes are not directly used in user code. For example,
mx:Application currently just subclasses Container instead of LayoutContainer.
Really, the goal is to toss out as much Flex code as we possibly can and use
Royale beads instead to implement the API. But we are copying APIs from
flex-sdk in order to retain t [...]
@@ -2239,4 +2245,3 @@ We haven't finished any component yet. As we do so and
better understand good p
-