Hi,
I was asked to comment on the possibility of the Apache Flex Community
to port Flex to haXe, and use it has its main technology. Sorry for the
long mail ;)
I would say that there actually two choices to make there : one from a
technical point of view, and one from a political point of view.
From the technical point, and with all due respect to AS3, haXe
as-a-language is way ahead in terms of features. I'll not make the list
of all the improvements we made, please look at the documentation and
make your own idea about it.
Of course, haXe is a different language from AS3. In particular because
it's been designed from the very start to be able to compile and run
efficiently on different platforms (Flash, JavaScript, but also
PHP,C++,C#,Java,etc.)
Efficiently is the keyword here.
Everybody working on compilers know that running a X language on a Y
platform it's not been designed to run on is HARD. You can easily
convert it to 80% - the part that always looks easy - then the next 10%
are very hard, and the last 10% almost impossible without killing
overall performances.
The reason is simple : most of the languages (including AS3) have been
designed together with the platform/VM they run on, so adapting it to
another runtime which made different choices is like trying to fit a
square in a round hole : it doesn't fit - unless maybe you cute the
square corners.
haXe has been designed from the start to favor features that enable us
to compile it efficiently on all platforms. It doesn't mean that we are
using the lowest common denominator of all possible platforms, it's just
that we make actual design choices that enable us to have great
highlevel language features while still being able to compile them
natively and efficiently on each platform.
I'm explaining that because I know you want to target Javascript/HTML5
with Flex as well. Don't take it lightly : one good share of Flex future
is definitely there, and trying to do everything by yourself is
definitely a very hard road to take.
I'm not a Flex expert, and to be honest I have never used it, so there
might be pending issues and technical questions that you have regarding
the best way to port Flex to haXe : feel free to ask them there, I'll
try to answer them to my best.
Now from the political point of view :
First, let me say that in the Flash world, haXe is one of the most
active open source community and we are very happy to welcome Apache
Flex developers as a open source sister community.
I've personally always been a huge support of open source philosophy :
some of you might also have used MTASC a long time ago, I hope you
enjoyed its quality and speed and that you will find the same enjoyment
at using haXe - if you use it at some point.
You are now an independent community, which is great : you can now make
your own choices, which should not be based on marketing, branding or
overselling of a given tech, but on technical points.
Adobe is currently pressured and has to make hard choices. You don't
know what they will be, you don't know where they will go, and if they
say Left, it might finally be Right after a few months. I don't blame
them : they're a commercial company, they have their own agenda to take
care of, it's just the way it is.
OTOH, haXe community has no hidden agenda : we thrive for the best
technology, everything is open source, discussions and patches are
welcome. We of course need to be conservative in terms of language
features in order to not bloat the compiler and to keep the language
elegant and coherent, so in the past years we've been improving things
step by step, without either hurrying or slowing down.
In the past year, while Flash has suffered several drawbacks, haXe has
definitely gained a huge momentum. In great part this is thanks to its
community which has been writing code, but also making things more
visible / accessible for developers.
For instance http://haxenme.org is a great example of it : haXe now
enables to write-once compile-natively-everywhere on iOS, Android,
Flash, Desktop and much more. You could do it before, but it's now much
more easy, and people know about it.
Sorry if I feel to much enthusiast about it, but I'm definitely excited
about the times to come.
Momentum is an important things for technology, especially when it's
open source : it keeps developers motivated, it brings new people to the
community, it helps making the right choices at the good time.
I'm definitely sure that haXe momentum can help the Flex community, and
vice-versa.
Now I guess you have two distincts choices left : continue to follow
Adobe plans or adopt another technology (haXe or something else) and
move forward.
I can't decide for you, but I can at least answer the questions you
might have.
Best,
Nicolas