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
 
 
 
-

Reply via email to