Hello List,
Thinking about it a little I think its good to clear up the mind about
haXe. So I want to summarize the things about it
haXe...
* ... contains a very fast and good avm2 bytecode compiler (that does
things Falcon will do in future - today).
* ... has established and tested a way to create JavaScript code from
a AS3-like language.
* ... is also a language and it has a bunch of language features that
would help AS3 dearly.
* ... has a system called Macros that would allow us to implement e4x
like structures or bindings on top of existing code.
Now, I see two ways Apache Flex could leverage haXe:
1) Port Apache Flex from AS3 to haXe.
haXe compiles to swcs. If Flex were to be ported to haXe and
creates the swcs with the same content then
AS3 projects could continue to leverage those swcs but also
switch to haXe as a programming language. There
are some things important to know for this:
- haXe does not have any e4x support yet and there are no
plans to add it to the language. Any support would need
to be done using Macros.
- haXe does not offer standalone functions/variables so it
will not be possible to entirely replicate the current API
- haXe does not offer namespaces, we would need to drop those
code or become incompatible on swc level.
2) Branch the haXe compiler and add AS3 syntax.
Create a new compiler based on haXe without breaking
ActionScript 3 and implement features such as e4x,
regexp (is currently done using strings), namespaces and other
operators. And it would need to implement
MXML - lots of work. There is just one thing that bugs me, aside
from the ton of work:
- the haXe compiler is GPL - that means its category-X [1] -
the resulting compiler could not be hosted on Apache
With both approaches there would still be open to:
- Implement compilation of various embedded assets such as
Fonts/SWFs/etc.
- Create sophisticated documentation templates - rudimentary in haXe
I hope I didn't forget anything crucial.
My personal conclusion is that haXe is a nice system. It achieved a lot
of things but: without major efforts in haXe as
a system (compiler/tools) its not possible to migrate Flex. A change in
language comes with new
concepts and ideas and Flex would logically be built differently for
haXe. Porting flex to haXe seems less
reasonable than writing a new system for haXe to me and I wouldn't name
that Flex. Using the compiler for an alternative
compiler for AS3 sure seems fun and if it ever bears fruits I will be
glad to use them.
yours
Martin.
[1] http://www.apache.org/legal/3party.html#category-x