incubator-flex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nicolas Cannasse <ncanna...@motion-twin.com>
Subject Flex adopting haXe ?
Date Wed, 22 Feb 2012 10:34:39 GMT
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

Mime
View raw message