NME and OpenFL

612 views
Skip to first unread message

Marcelo de Moraes Serpa

unread,
Jan 14, 2015, 4:32:13 PM1/14/15
to haxe...@googlegroups.com
Sorry if I missed the boat, and I know it has been discussed at some point last year (I can’t find the exact thread) — but I’m not sure about the current landscape of what NME is (OpenFL is pretty clear to me). At first, it seemed as if OpenFL used to be NME, but I’m not quite sure.

What are the exact differences between OpenFL and NME? Do they have the very same purposes? Are they competing frameworks? Do they get contributions from each other?

Thanks.

Raoul Duke

unread,
Jan 14, 2015, 4:33:36 PM1/14/15
to haxe...@googlegroups.com
is this not yet a FAQ on the openfl/nme/lime/etc. sites?! :-}

Joshua Granick

unread,
Jan 14, 2015, 4:45:19 PM1/14/15
to haxe...@googlegroups.com
Here's an answer I put on the forums, regarding NME, OpenFL and Lime


NME was sort of the original pioneer in being a Haxe library designed for
desktop and mobile application support. The design of NME is primarily
C++, with Haxe wrapping it to provide support for each native target. It
by and large follows the Flash API, with some departures and some added
features.

I was one of the lead developers of NME, Lime and OpenFL are sort of an
extension of that work, but it takes a different approach.

Lime is designed to be used either by people who prefer to work
lower-level (such as direct OpenGL calls) or to be used underneath a
framework such as OpenFL. Most people can use OpenFL quickly and easily,
but OpenFL benefits from the stability and portability of the Lime
codebase.

The Lime legacy path originates from NME. This is the default currently
for native OpenFL builds. Lime itself does not use this code at all, but
the OpenFL "v2" code accesses it to render and generally behave in a
similar way to NME, but unified with OpenFL's other targets.

Otherwise, Lime is totally distinct. Lime creates a window, provides
system events (such as mouse, keyboard and touch input) and provides
access to rendering and sound, not only for desktop or mobile targets, but
for HTML5, Flash and console targets (which is in the works). Over the
Lime API, everything is consistent, besides the rendering, which is (by
necessity) different between, say, canvas and OpenGL.

When you use the -Dnext flag, or when you use the Flash, HTML5 or upcoming
console target, OpenFL is 100% Haxe code, written over the top of Lime.
OpenFL used to have distinct HTML5 and native "backends", but over Lime it
is all unified now. I use "-Dnext" in order to allow both the older code
and the new code to develop in tandem, heading toward the day when we
switch entirely. If you wanted to develop a cocos2d-haxe library, it might
be simplest to adapt to Lime (which is OpenAL + OpenGL on native) than
OpenFL (which is the Flash API) but you can mix-and-match too.


Happy to answer other questions :)

Raoul Duke

unread,
Jan 14, 2015, 4:49:35 PM1/14/15
to haxe...@googlegroups.com
> Happy to answer other questions :)

why isn't it on the web sites as a faq?! :-}

Raoul Duke

unread,
Jan 14, 2015, 4:50:32 PM1/14/15
to haxe...@googlegroups.com
also, $0.02, a picture is probably worth many, many words in this case
i.e. a high level 50k foot architecture diagram view.

Marcelo de Moraes Serpa

unread,
Jan 14, 2015, 5:13:29 PM1/14/15
to haxe...@googlegroups.com, Raoul Duke
Thanks Joshua, that makes sense.

Looks like OpenFL is the way now for games and interactive cross-platform apps What are the use cases for NME nowadays though? Why is it still maintained? I see wxwidgets support seems to be in (which is great) but the gitthub repo offers no documentation at all.

Cheers,

— Marcelo

> On Jan 14, 2015, at 3:50 PM, Raoul Duke <rao...@gmail.com> wrote:
>
> also, $0.02, a picture is probably worth many, many words in this case
> i.e. a high level 50k foot architecture diagram view.
>
> --
> To post to this group haxe...@googlegroups.com
> http://groups.google.com/group/haxelang?hl=en
> ---
> You received this message because you are subscribed to the Google Groups "Haxe" group.
> For more options, visit https://groups.google.com/d/optout.

Saumya Ray

unread,
Jan 14, 2015, 11:15:20 PM1/14/15
to haxe...@googlegroups.com, rao...@gmail.com
Thanks Joshua for the answer.

Need a FAQ for sure, somewhere, may be in HAXE site rather than any of these two libs.

AFAIK we can have two different but strong libs for all targets. Is not that good ?!

The best part is both the libs NME and LIME+OpenFL are maintained by the best people in the landscape.

Apparat from that NME is targets are limited but has certain stuffs as generating Java and ObjectiveC projects for Android and iOS respectively. Yep, it lacks documentation and with new releases I hope it will be maintained further.

OpenFL on the other hand supports a lot more targets and there is everything to it, a forum, chat, documentation etc.

Cheers

Hugh

unread,
Jan 15, 2015, 1:01:25 AM1/15/15
to haxe...@googlegroups.com
What NME "is" has not really changed since 2009 : http://gamehaxe.com/2009/04/07/hxcpp-nme-neash-released/

OpenFL was indeed NME when it forked at wwx2013, but since then has re-architectured and now, while it has many similar goals, it is a different code base.

Sharing a broad mission of "A flash-inspired API for cross platform development" OpenFL and NME differ in several technical ways.

- Nme is a single project, and opengl/flashless development is considered just one way of doing things that can easily be mixed with the flash way.  OpenFL has a more formal distinction with separate Lime and Openfl projects.
- Nme is smaller project with no dependencies.
- Nme uses SDL_mixer, rather than the LGPL openal for destop audio.
- Targets differ: NME has waxe, android-view, ios-view mingw-static-link while OpenFL has html5, tizen, BB and even console support.
- NME has had a few features added since the split - Camera, StageVideo, Project-less compiling and OpenFl has its own new features too.
- NME favours code stability over getting the architecture "nicer"

Currently, nme and openfl are close enough cousins that features can be ported from one to the other relatively easily if you are keen.  But after openfl next this will probably not be the case.  However, since they are basically compiling against the same API, there is a reasonable chance that code will work on both, eg "nme demo flixel:breakout" should work.  This is likely to continue to be the case unless openfl adds some proprietary asset code, or similar, that is difficult to emulate.

From a personal point of view, I feel we have done all we can to reconcile nme and openfl/lime, but it not possible, especially with openfl next begin quite different.

So, I will not be moving to the openfl project, partly because of the name, but mostly because where the technical details differ, I much prefer the NME way.  I seem to have lost most (all?) of the community, and this makes the communication side of things harder.  NME is one of several projects for me, but I still have a few innovations planned, and I hope to rebuild a community of like-minded people who also feel NME is a great technical solution.  And if no one else join in, I will still continue on at my own pace.

Hugh

Saumya Ray

unread,
Jan 15, 2015, 1:19:57 AM1/15/15
to haxe...@googlegroups.com
Thanks Hugh for the answer.

Good to know that NME will be around.

My suggestion is to just enable a forum or some kind of a communication medium for NME. So, even if no documentation for newer things, the forum can help answer the question.

Community is not lost, but confused as to "what is what" ?! 

saumya

David Elahee

unread,
Jan 15, 2015, 2:14:45 AM1/15/15
to haxe...@googlegroups.com

Your community is not lost, it is just less vocal ;)

--

Zjnue Brzavi

unread,
Jan 15, 2015, 4:15:02 AM1/15/15
to haxe...@googlegroups.com
Hi,
 
Community is not lost, but confused as to "what is what" ?! 

Community stealing is nothing new in the Flash world. Those around long enough should remember the "fate" of OSFlash when the Flex marketeers rocked up.

IMHO misinformation such as:

"About OpenFL
OpenFL is the successor of NME, for Haxe 3+."

(sic [1]) should not be allowed AND I urge the HaxeFoundation to hold onto its core culture and values.

Many happy returns,
Zjnue

[1] https://github.com/ianharrigan/haxeui-showcase/blob/master/openfl-readme.txt

Joshua Granick

unread,
Jan 15, 2015, 5:33:19 AM1/15/15
to haxe...@googlegroups.com
Hi Zjnue,

The OpenFL website has been running longer the NME website I built back in 2011, I'm not trying to "steal" a community, I want to believe that we are all part of a greater Haxe community, together, looking for clever solutions to hard problems, and I've tried to constantly point back to Hugh and his excellent work in NME, if it comes across more maliciously I apologize.

"OpenFL is the successor of NME" is something I may have said two years ago, but I cannot find it on any of our sites now. There was a period where NME was not undergoing any new development, but version 5.0, Hugh has re-expressed the identity of NME and has been making some great strides to clarify the project and drive in some neat features. 

Zjnue Brzavi

unread,
Jan 15, 2015, 6:11:05 AM1/15/15
to haxe...@googlegroups.com
Hi,
 
I apologize.

We will consider your apology.

Zjnue

Philippe Elsass

unread,
Jan 15, 2015, 7:40:54 AM1/15/15
to haxe...@googlegroups.com
Oh wow there are strong sentiments here.

That's always sad when people decide to stop working together but that's how it goes - everyone has good reasons to do it. NME, OpenFL and now Snowkit could be one project but there are many ways to attack one problem.

And it's not about "stealing" a community: the most active project with the best showcase gets the users.

Now if someone would help Hugh making a small website for NME and a Getting started tutorial that would be helpful.

PS: and OSFlash disappeared because better ways to communicate, share projects and host code appeared.


--
To post to this group haxe...@googlegroups.com
http://groups.google.com/group/haxelang?hl=en
---
You received this message because you are subscribed to the Google Groups "Haxe" group.
For more options, visit https://groups.google.com/d/optout.



--
Philippe

PSvils

unread,
Jan 15, 2015, 10:33:25 AM1/15/15
to haxe...@googlegroups.com

Saw the title

Hugh

unread,
Jan 15, 2015, 10:56:59 AM1/15/15
to haxe...@googlegroups.com
Yes, I have no hard feelings after the initial surprise.  I think it is a natural consequence of open source and I have always put my code out there with "no stings attached".
As I said, I think we tried very hard to combine the projects, but now they are both free to go in different directions, which ultimately should be good for developers.
The nme project sure does miss Joshua's community skills, and it could take a while to re-establish a presence.  But it has been going for 6 years now, so it knows how to play the long game.

Hugh 

Atul Kumar

unread,
Jan 15, 2015, 12:24:41 PM1/15/15
to haxe...@googlegroups.com
The wikipedia entry of OpenFL also implies that there is no NME anymore  btw:

Simon Krajewski

unread,
Jan 15, 2015, 12:31:25 PM1/15/15
to haxe...@googlegroups.com
Am 15.01.2015 um 18:24 schrieb Atul Kumar:
> The wikipedia entry of OpenFL also implies that there is no NME
> anymore btw:
>
> http://en.wikipedia.org/wiki/OpenFL

On that note, there's someone who keeps putting OpenFL into the wikpedia
intro text of Haxe itself too. I've removed it because it honestly
doesn't belong there, but that person reverted my changes and I can't
really be arsed to get into edit wars. If any experienced wikipedia
users wants to take care of that...

Simon

Ian Harrigan

unread,
Jan 16, 2015, 4:03:37 AM1/16/15
to haxe...@googlegroups.com
Btw, the quote zjune mentioned was from a haxeui readme that was generated from a project template that was created an age ago. Im of course happy to remove/edit... I hadnt even noticed it. Seems a shame we cant all "just get along" but i suppose that is the nature of big projects in general, everyone has a stake and feel like people are stepping on each other toes; even if the authors of said projects dont seem to feel that way.

So ill remove the readmes soon(ish), just wanted to post here that i would do so, so it didnt look like anything sneaky or anything was happening. It was an oversight, as im sure the readme.txt template file text itself was (ie, it hadnt been updated when NME came back into active development)...

Cheers,
Ian

Zjnue Brzavi

unread,
Jan 16, 2015, 4:39:11 AM1/16/15
to haxe...@googlegroups.com
Hi Ian,

Btw, the quote zjune mentioned was from a haxeui readme that was generated from a project template that was created an age ago.

Simply a random example and pretty sure it is a template file also.

How about "spiritual successor" [1]?

Enough already, as "they" say.

Cheers,
Zjnue

[1] https://groups.google.com/forum/#!msg/haxelang/JCQCGbLy0xc/ZDEAQ9iDqNAJ

Daryl Spitfire

unread,
Jan 19, 2015, 1:07:50 PM1/19/15
to haxe...@googlegroups.com

I'm a total newbie to Haxe and all of the add-ons like NME, OpenFL, Flixel, Lime, etc., etc., etc., And I am both discouraged and encouraged by all of this thread (which I have read every post of). It is discouraging that there is not greater unity in the overall area. I've been looking for language and related tool(s)/suites for a few months now. Whenever I decide which way to go I expect that I'll spend hundreds of hours getting started and hundreds more in my first year with them. Thats a LOT of investment and I wish to be as optimal as possibler in my selection. I have a handful of contenders for my ultimate choice, Haxe et.al. among them.

I know that the Tiobe index (http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html) is not the final word on languages, and I use other resources for similar metrics, but it is a flag on the activity level of languages. I initially thought I's stick with the Tiobe "top-20" as they are "appeared" to be the best supported and backed by major (read: worthy of my investment) companies. I've used several of the top-20 products and I've tried trial versions of a few more. As good/bad as they were they were just not ideal for my needs. I widened my search to include the Tiobe "other, 21 through 50) languages. There were a couple of promising languages/tools/suites there (still on my "short list"). But by then I thought 'heck with it - just open the gates' and I looked at the Tiobe "next 50, 51 through 100) languages. And a couple more interesting choices popped up.

I've also done some extensive web searching to find what I wanted. That's when I found Haxe (et.al). Haxe (i.e. you guys on this forum, et.al at large). Haxe is not even in the top 100 !!! Haxe programmers (in terms of the Tiobe Index of programming languages)(I'm extrapolating here) number around 1 programmer in 5000 programmers. That makes Haxe (et.al.) NOT a popular language! And to see fractures in various segments of the Haxe et.al. community is what discourages me. Sure I see arguing and in-fighting on the 'top-20's forums, but they are already big enough that such posts are 'down in the noise floor'.

I also said I was encouraged. It is healthy to have people such as those who posted above to debate their fate. I'm absolutely positive that most hearts were in the right place. And that's nice.

But am I willing to make a major investment of my time in "nice" ?

 Hhmm...

What can the Haxe community do to attract and keep people like me (tech-savy, but new to Haxe) ? And WHY would you or should you?

Maybe you wouldn't and maybe you shouldn't. You wouldn't because you like doing your own thing and don't want to bother with fostering growth (in Haxe). You wouldn't because you have your own little fiefdom, your niche you particular and unique area of expertise that those other 4999 programmers don't have. You shouldn't if you like being a big fish in a little pond. You shouldn't because you (and the present extent of the Haxe world) are adequate for your needs and the present rate of Haxe (et.al.) evolution is just fine with you.

The answer (from a 50,000 foot viewpoint) is simple: history and industry_dynamics.

Whatever happened to the CP/M OS ? Or. TurboDOS, or ALGOL or Forth, or TRS80's (if you even remember them) ? Time and technology marches on and waits for nobody. Our tech industry is dynamic. I remember programming a C-library for a medical CGA graphics suite and later porting it to a Matrox PGA card (before EGA and VGA). There was no OpenGL or any other such things back then, an no (as you know them) games (except 'Pong').

There are finite reasons why programmers choose their tools; I'll try to name a few (in priority order):
1) their company mandates certain tools (I worked in aerospace for years and we HAD to use Mentor Graphic workstations for FPGA designs)
2) they learned it in school or OTJ or at vocational school or from their neighbor who was doing #1 above or similar (Apple was famous for this tactic with hardware)
3) it was a fad, going with the majority, part of the varsity, can't go wrong with it (hardcore Tiobe Top-20 type programmers).
4) it has/had unique feature to make superlative or quick work of a task.

#4 needs further explanation. For example if you have scientific or statistical problems you might look at "R" or possibly F# or Julia.  If you want to do small problem-solving desktop apps very rapidly then the venerable old VB6 might do or Lua. If you write for machine tools then you write G-code. If you're in to math then MatLab. If you're into instrumentation then Labview. If you create and simulate hardware (such as FPGA's) then you write in VHDL or Verilog. And you know what to use for games.

Over my decades I've come to dislike Microsoft for a variety of reasons. Foremost is that I despise how Gates got into the business and the marketing tactics that made them such a monopoly. I could go on for many pages, but enough on that except a question: Why has VB6 remained on the Tiobe top-20 since forever, even topping VB.NET for many years after Microsoft abandoned it for a decade? Ans.: it does the job and has a large following (hint, hint, hint)

Okay, so what about Haxe (et.al.) ? I see a lot of "how do I..." and "what's this..." questions on this and other Haxe related forums. And I usually see excellent answers or a darn good attempt to help out. 99.44% of these are by and between people who are already proficient in Haxe, or at least, beyond the newbie stage. How would you like better answers? How would you like more experts? If you are a big fish in a little pond is suspect the answer is "no". But if you truly care about the Haxe language and want to see it evolve, grow and proliferate then your answer should be "yes".

So how do you do that? You grow the Haxe(et.al.) community. The community will ultimately decide (by what they are programming) whether Lime or OpenFL or HaxeFlixel or HaxePunk or Neko or NME or this or that will flourish or die. And none of that will hurt the fish in any pond, there are many species in the same ocean.

How do you grow the community? You nurture any interests in Haxe, you provide a gentile learning curve, you don't skip steps, you don't assume any apriori knowledge (about Haxe, et.al.), you provide 'one-stop-shopping' in terms of learning resources, you forget about "Hello World" example. In fact, examples are NOT for teaching. Teaching requires explanation and reasons 'why?' and zooming from the 50,000ft view to the 2ft views along the way. Teaching requires a sequence of lessons that start from literally nothing and build one on the prior. You cannot dump an obtuse (from a newbie POV) example of blah,blah,blah on a newbie and expect them to 'get it'; you just scare them away.

I read the posts in  haxelib should we upload haxelib examples as well? by JLM and thats great! Thanks all! But it is of zero help to newbies (and probably wasn't intended to be). I've also gone through some/most of the 'getting started' and 'tutorial' stuff on several Haxe, et.al. websites, but those badly suffer from 'not teaching'. For example, if I told you in a G-code forum to use
G10 L10 P- axes <R- I- J- Q->
where R was the radius, , I was the front angle, J was the back angle and Q was the orientation


So now you understand everything about using a G-code G10 command, right? Okay go ahead and use it. No; why not? This was straight from the manual!

Oh, ... it assumes apriori knowledge of the language and whats going on (context); it is NOT a teaching lesson; it is for someone who already has a certain level of proficiency (not a newbie). In fact IF YOU WANTED to machine a nice CNC's aluminum badge for your car then this example would be of no use to you for programming a CNC machine.

I sense that there is something good about Haxe. There are a lot of things that look good from my (newbie) POV. But, frankly, and with no disrespect meant, the documentation or tutorials or whatever sucks from a newbies POV.

I hope that you can all stop your own unique interests in what you're working on to consider the future viability of Haxe, et.al. and work together to get more than 1 in 5000 programmers to use Haxe. Even 1 in 1000 would put you at 500% growth. The Tiobe #50 has 0.199% of the market, that's 1 in 502 programmers.

best regards,
Daryl


Nicolas Cannasse

unread,
Jan 19, 2015, 3:05:10 PM1/19/15
to haxe...@googlegroups.com
Le 19/01/2015 19:07, Daryl Spitfire a écrit :
>
> I'm a total newbie to *Haxe *and all of the add-ons like NME, OpenFL,
> Flixel, Lime, etc., etc., etc., And I am _both discouraged and
> encouraged_ by all of this thread (which I have read every post of). It
> is discouraging that there is not greater unity in the overall area.
> I've been looking for language and related tool(s)/suites for a few
> months now.
[...]

Just to quickly answer (I'll try not to go into details).

Overall you're right : existing programming languages will all disappear
in the long term, but it will take MUCH more time for the ones which are
popular, so success is key to longevity.

That's the reason Haxe Foundation was established : in order to maintain
Haxe in the long term and make sure it becomes as successful as it can
be. As you have noted we still have a high margin of progression.

Regarding NME/OpenFL/etc. : Haxe Foundation does to take direct part in
decisions regarding how things are handled there. We have focused our
efforts on maintaining the Haxe compiler, standard library, and tools
(such as haxelib). Anything else is "third party".

That's both a good thing - since it allows us to concentrate on core
technology - and a bad one - since the long term success of Haxe is more
likely dependent of these "third party" high level libraries.

We are aware of the problem but we don't have a solution right now for
it, expect trying to make sure people collaborate in the best possible way.

It's of course not realistic to prevent programmers for programming and
keeping inventing (or sometimes reinventing) new libraries, so
complaining about too many choices won't really help here I guess.

Best,
Nicolas

Daryl Spitfire

unread,
Jan 19, 2015, 4:34:37 PM1/19/15
to haxe...@googlegroups.com
Nicolas = Red
Daryl's reply = Black


Just to quickly answer (I'll try not to go into details).

Overall you're right : existing programming languages will all disappear
in the long term, but it will take MUCH more time for the ones which are
popular, so success is key to longevity.

Yes, absolutely, success is key.

That's the reason Haxe Foundation was established : in order to maintain
Haxe in the long term and make sure it becomes as successful as it can
be. As you have noted we still have a high margin of progression.

Yes, absolutely, and that margin to be progressed == "success", thus longevity, stability, etc.

Regarding NME/OpenFL/etc. : Haxe Foundation does to take direct part in
decisions regarding how things are handled there. We have focused our
efforts on maintaining the Haxe compiler, standard library, and tools
(such as haxelib). Anything else is "third party".

This is as it should be, or only can be. I understand that resources are limited.
 
That's both a good thing - since it allows us to concentrate on core
technology - and a bad one - since the long term success of Haxe is more
likely dependent of these "third party" high level libraries.

I'm not sure I agree 100%, perhaps 80%. Third parties can be pretty good at developing all manner of associated libraries. Let them! If the language and core are good, stable, reliable and "accessible" (to newbies) then the language will "progress" and there will be enough third parties to keep Haxe up high.
 
We are aware of the problem but we don't have a solution right now for
it, expect trying to make sure people collaborate in the best possible way.

I'm trying to give you (IMHO) an answer. People, third parties and those already "in" to Haxe, while they may debate, ARE developing and evolving. That's a good thing. But without that "success" you mention (which I read as a higher Tiobe ranking and greater reverence in the programming community at large) Haxe will remain at the back of the pack and that saddens me. The answer is to increase the Haxe population. That cannot be done by catering to the existing Haxe community, they are already Haxers. It can only be done by engaging and educating and retaining newbies (myself included). And THAT is the answer. Then someday we (former newbies) might contribute (to the core, libs, etc.) too.

It's of course not realistic to prevent programmers for programming and
keeping inventing (or sometimes reinventing) new libraries, so
complaining about too many choices won't really help here I guess.

Absolutely! Let programmers program whatever they like. Games, libraries or anything else. What the Haxe people need to do to assure "success" is not to cater to each other but to proliferate the language.  Catering to each other is great, fine, support your peers. Keep up the forums, by all means, by third parties. But someone, e.g. you and the core developers, should just let that aspect of Haxe be self-sufficient (the forums, GitHubs, etc.) by the third parties, and focus on the issue of making that progression to success.

regards,
Daryl
 

Justin L Mills

unread,
Jan 19, 2015, 6:25:59 PM1/19/15
to haxe...@googlegroups.com
Daryl

Openfl/NME/AIR is a tricky one, untill you realize you can use the same code base! Flambe seems quite different untill you realize that haxe game engines like awe6 probably allow the same game logic to be used.  Haxe just gives you as much flexibility and power as you need.

Now in terms of Tiobe it's actually very interesting, because Haxe is a next generation language and it is already nearly covering all of the current top 10 places on Tiobe and Github, taking the github list as an example..

1) Haxe Javascript  ( better than dart, typescript etc... and certainly more suitable than untyped js ).
2) Haxe Java ( More flexible, haxe is great to create some quick swing, slick2d or java terminal code, but when speed becomes a problem, we are not stuck with java, we can just retarget another language, also Haxe has macros and is a bit more Scala ish with some functional influences )
3) Haxe Python ( Well we need some Haxe python graphics support, but otherwise we can tick this box ).
4) Haxe Ruby ( WIP - hopefully this will be the next big one to be added ).
5) CSS ( no difference just use CSS with haxe js )
6) Haxe PHP ( Haxe has Neko can be used when you can afford a VPS, or Node, but most Haxe code works the same in PHP or Neko )
7) Haxe C++ ( Haxe c++ runs slower but allows much more rapid development and you can mix and match via FFI to remove botte necks but hit deadlines )
8) Haxe C ( on the way )
9) Shell ( Haxe compiler offers some quick -cmd use, and sys accross all backend targets offers lots of tools, format also useful so haxe is definitely complementary with the shell )
10) Haxe C#/Mono/Unity ( yep Haxe does this as well!!! )

When you look at Haxe like this you realize it really is an amazing tool, and it is at the forefront of next generation languages, how long it will take for Haxe to reach large popularity is hard to tell, certainly my own experiance is that companies are often very conservative and like to see a comercial multinational backer, but we know that PHP and Ruby faced these same challenges and grew from the coding and hobbist grass roots and gave these people advantages. So really the only question you need ask is if the tech ready or should you wait, well I think it's ready but then again I have tried it, and the question we should always ask people that dismiss it... have you actually tried it, because that is when you will be plesently surprised.

I urge you to give Haxe a good go, it's really is a top tool, but rather than worry about these abstract issues, try coding get on IRC and ask code specific questions and see how much you can create.

Best

Justin

Daryl Spitfire

unread,
Jan 19, 2015, 9:10:25 PM1/19/15
to haxe...@googlegroups.com
JLM, I'm expecting that 100% of what you say  about Haxe is true, except that I'm looking at it from a different viewpoint which is about 180 degrees out of phase with yours. I do not know Java or javascript or Ruby or CSS or PHP. I do know python, C, Basic, Forth, Lisp and a few others such as VB6. I don't consider myself a full time or professional programmer, although I've done several commercial programs. I'm an engineer and I've written numerous programs (still under a million lines total in my lifetime) for engineering problem solving, some GIS mapping, aeronuatical simulations and data acquisition and DSP. I suspect there are many thousands of people with similar skills looking for a "programming truck". One of the things that appeals to me (and why we are 100% in agreement about the viability of Haxe; and why I haven't turned away yet) is exactly what you said about Haxe from the beginning of your post to your #10.

We also 100% agree about your 3rd paragraph except the last sentence: " So really the only question you need ask is if the tech ready or should you wait, well I think it's ready but then again I have tried it, and the question we should always ask people that dismiss it... have you actually tried it, because that is when you will be plesently surprised. "

I'm not a Haxe expert, I'm a newbie to Haxe.

I cannot definitively answer your question about "...is the tech ready...?" because I AM and newbie. Based on my experience (40+ years) it looks promising. But I don't know for sure. I don't know you (even though you seem like a good guy) and THAT's the problem ! It's a catch-22: how will I know if it is good for me unless I already know the language and tools; but I'm not willing to invest a ton of time getting up to speed to the point of finding out that answer.

I have downloaded everything and tried it. It worked. I made "Hello World" pop up in neko and Windows(C++) desktop apps and I made an apk and it ran fine on my Android tablet. But guess what... so did several other languages/tools/suites that I've been looking at.

If I go to a Ford dealer to buy a pickup truck I'm sure he'll tell me theirs is the best. If I go down the street to the Chevy or Dodge or Toyota dealers they will tell me the same thing. My neighbor would be happy to sell you some desert land in south Florida, very very cheap, he'll even send you a sample of sand.

So how does Haxe progress to succeed?  How do you escape the catch-22 debacle ?

IMHO you get the interest of newbies, entice them to try it (as you say), show them the benefits and tools front to back, and most important you hold their hands until they are pleasantly surprised to reach the same conclusion that you are touting: that Haxe is the programming truck for them. Some of these pieces are already more or less in place, at least composed. Other pieces are woefully lacking, namely the aspect of taking a test drive in Haxe. The feature lists, your #1 thru #10 list (excellent points by the way) screenshots of the tools, finished programs to show final capabilities and performance are all good, static, info to present albeit presently a bit fragmented. The lacking is in Haxe lessons. I hate the word "tutorial" because everyone has a different idea about what that entails. I like "Lessons" because it means learning. I will have to learn by a logical progression of lessons to use Haxe. Start from scratch. Fix the context to Windows 7/8 and FlashDevelop because that's either on hand or available to the largest audience. The lessons should assume nothing that was not taught in prior lessons. Each lesson can only build on what was in prior lessons and you cannot (should not confuse issues) with "...but if you used XYZ then you can just do ABC or this"%^%$F*VI" from the command line...". My other pet peeve about trial or "getting started" "tutorials" is the "Hello World" examples. Examples do NOT teach! They allow someone with some apriori level of knowledge to figure something out or they allow that person to cut and paste without learning. I could train a monkey to do most "getting started" "Hello World" "tutorials". They all just say type this, then type that, then set this environment variable, then run that compiler, then link it, then double click the icon, then "see...it works....isn't this great !" In other words it teaches nothing except how obtuse or unfriendly the whole shebang is. That's NOT what you want for making progress to success. And frankly, as a newbie, it shows me that AS a newbie, an outsider, a Haxe dummy, that I should look elsewhere.

Like I said before, I sense there is something good about Haxe and so (I am VERY stubborn) I have stuck around and stuck my neck out on some forums.

And you, and Nicolas and other Haxers (is that a word?) are probably all 101% right about the good attributes of Haxe (et.al).

But I'm still flying at 50,00 feet --- that's my point of view and I don't see any cohesive, logical, sequential, unassuming, progressive lessons that I can use to properly test drive Haxe. Okay so maybe I'm only at 20,000 feet, I still don't see the lessons. I've done the Android Studio "Hello World", the QT5.3 "Hello World" the Oracle JDK8 "Hello World", and the "Hello World"'s of another 8 or 10 Tiobe_top_50 tools. Most are effectively the same. Most are bumpy at best. For example the Android Studio 'getting started' version of 'Hello World' was very difficult, it failed, errored-out --- I had to mess a day or so with it to get it to compile & run on my own. When I asked on the AOSP forum they said 'oh, that tutorial was written for Eclipse, so no wonder it was hard to follow on Android Studio" ; well duhhh --- and these are "commercial, multinational" tools. BTW I had never used Eclipse before. You Haxers can and should do better!

Like in the movie "Field of Dreams"... if you build it (good Haxe lessons and documentation), they (torrents of newbies) will come.

best regards,
Daryl


JLM

unread,
Jan 21, 2015, 4:52:25 AM1/21/15
to haxe...@googlegroups.com
Daryl

Please start a new thread about what you feel is missing in terms of tutorials after revising the current offerings.

Maybe you can help address it properly, but please bear in mind that many of the developers involved in Haxe are not paid and have limited time maybe after work or at weekends which may also be taken up with families and friends. But first please take a look at the old haxe site maybe we can re-organize some of the current tutorials in a way that would better address users needs, certainly the Haxe manual mostly the work of Simn is an excellent technical reference, but as a community we are well aware that while it provides a professional programming reference, it probably does not address the needs of all backgrounds of new Haxe users.

So please take a look through all the tutorials on the old site, and the external ones linked.
http://old.haxe.org/doc#tutorials

It's quite hard to know exactly what users need or want and many of us know Haxe at different levels, for instance I would like to think I know haxe flash quite well but am probably lacking in many other areas but I have tried in the past to put down notes in areas as I learn about them but have only ever used Flash haxe in any commercial project, but some of th stuff I have put on the old wiki in the past...

http://old.haxe.org/doc/haxe_instructors/justinfront
http://old.haxe.org/doc/java/graphics2d
http://old.haxe.org/doc/java/lwjgl
http://old.haxe.org/doc/flash/peer2peer
http://old.haxe.org/doc/flash/byexample
http://old.haxe.org/doc/js/win8
+ probably loads more.

and even updating older tutorials for new targets with newer sys stuff
http://old.haxe.org/doc/sys/io/fileio

But often I am not technical enough on some of the details so I am often a bit reluctant to put too much effort in when I am unsure if anyone actually uses it and if it's of a high enough standard, but if you have ideas and requirements and really want to get involved in putting some tutorials together with the help of more experienced users then as I said start a new thread.  But if you just want it all done... well that's kind of not how opensource works, it more a case that it's up to the users to get stuck in and improve things and it's probably worth it as Haxe is really good language with a hot future, it very easy to pick holes, but once you start putting some effort in then it's easier for others to really listen when you make these points, but at the moment your just saying you want stuff improved but not really thinking about what commitment to opensource means... getting stuck in and helping ! :) or just using what's there or contributing monies to get someone else working on it eg: http://haxe.org/foundation/support-plans.html

But the Haxe community of Haxer's is normally very helpful so if there is anything specific then feel free to ask.  But there is only very limited funding from the few companies that already really value Haxe and while some of that has gone into the manual it also spent on improving haxe and haxelib etc.... but most work in relation to Haxe is donated time by passionate users.

Best

Justin



Daryl Spitfire

unread,
Jan 21, 2015, 10:52:17 AM1/21/15
to haxe...@googlegroups.com
Gosh darn !!! Justin, you said the right stuff !!!

I do feel there is somethings missing in existing resources. Like I said before when I have stuck my head out on these forums before (and I was fearing that I was being a pest, but I was wanting to see some sparks), I am a newbie to Haxe. But I've been around the block a few times in the computer industry and now that I see the sparks that I was hoping to see: I:m on-board.

Justin, I too have other duties, but I will take a percentage of my time to do the following:
1) I'll go through all of the links you provided above.
2) I'll put together a rough draft of a syllabus for "Haxe for Newbies" for you guys to consider & edit.
3) I'll find some examples (as short as possible yet consistent with our purpose [to progress toward success by increasing the Haxe population])
4) I'll be the alpha guinea-pig for much of it (the 'lessons')
5) I'll review whatever material people would propose to fill out the lessons before they are posted; warning if it's too salty I'll say it's too salty. please re-write

I'll start a new thread and copy this posting there. It will be "Progress to Success for Haxe"

best regards,
Daryl

bloognoo

unread,
Jan 22, 2015, 1:15:21 PM1/22/15
to haxe...@googlegroups.com
It's in the top of the generated readme file for openfl projects in HaxeDevelop; Given the widespread recommendation to use FD, and with it's becoming half way usable with crossover, the plugin needs its default text fixed pronto. 

Though this thread has ruffled many feathers, it's further clarified for me the relative states of the projects.

<strained metaphor>
 I don't like it when mum and dad fight. They ought to know they both make brilliant cake, and I eat both, and get very excited when there's new cake to be eaten.
</strained metaphor>

Thank you all.

H

bloognoo

unread,
Jan 22, 2015, 2:19:01 PM1/22/15
to haxe...@googlegroups.com
I've been bitten by my autocorrect.That should have read 'FlashDevelop' rather than haxeDevelop. I'm very sorry for not proofreading my post.

H

Hugh

unread,
Jan 22, 2015, 11:24:21 PM1/22/15
to haxe...@googlegroups.com
bloognoo, to strain you metaphor further, we are not fighting, we are amicably divorced.  OpenFl has got remarried to Lime, and Nme is living a bachelor life.
You kids can got to either house, and you will be spoiled with different treats.

Hugh

Tarwin Stroh-Spijer

unread,
Jan 23, 2015, 1:02:44 AM1/23/15
to haxe...@googlegroups.com
Haha, thanks for that Hugh :D



Tarwin Stroh-Spijer
_______________________

phone: +1 650 842 0920

Developer at Fanplayr Inc. (Palo Alto)
Original at Touch My Pixel (touchmypixel.com)
_______________________

--

tondy

unread,
Jan 23, 2015, 3:24:08 AM1/23/15
to haxe...@googlegroups.com
it's a "announcement problem" :)
joshua did not announce that he will fork nme.
hugh did not announce that nme is still alive.
joshua did not announce that he will rewrite/replace  api/source etc etc.
i see right now nekovm offer some native ui widgets. the next step probably is to offer opengl access.
and when this happens all these libraries /nme,openfl,snowkit/ will disappear.
this conversation is storm in cup of water...

p.s. i assume that in next 1-2 years all devices will be opengl powered

Samuel Batista

unread,
Jan 23, 2015, 2:05:25 PM1/23/15
to haxe...@googlegroups.com
I used to believe fragmentation hurt the Haxe community. But now I no longer think so. OpenFL, NME, kha, awe6 are all great solutions for developers. They may all overlap in terms of functionality and the types of problems they solve, but that's not a bad thing. In my opinion, what Haxe is lacking is advanced tooling (debuggers, IDEs, developer services).

The biggest problem is that there aren't enough developers turning their projects into successful businesses that help Haxe programmers work more efficiently for a small fee.

Make better tools and sell them to me!

Jeff Ward

unread,
Jan 23, 2015, 2:45:37 PM1/23/15
to haxe...@googlegroups.com
> ... what Haxe is lacking is advanced tooling ... there aren't enough developers turning their projects into successful businesses ...

This is a good point (though a bit of a tangent from this topic), and a difficult issue. For a highly open-source and sharing community, how does one build a sustainable model around tools? I'm building a profiling tool, HxScout, in my spare time and loving it, but with a full time job and 4 kids, how long can I keep that up?

Does one decide to create a Patreon account and devote hours accordingly? Or split the product into a free and paid version? Or try to sell support or (shudder) ads? Or, most likely for many projects, let the poor project shrivel away into disrepair?

The "business" of open source software is a certainly a tricky one.

Jeff Ward

unread,
Jan 23, 2015, 2:56:30 PM1/23/15
to haxe...@googlegroups.com
BTW, and on topic, as a new Haxe user I naively considered Haxe and <whatever framework had the coolest showcase at the time> as synonymous. To me it felt like NME had disappeared and OpenFL was the replacement.

But Haxe has a fascinating problem in communicating itself as being nearly anything to anyone, being applicable in countless different ways and workflows. So after a lot of different posts (Haxe macros are great, Haxe compiler is great, Haxe->SWC is great, Haxe->JS is great, OpenFL/NME/Snow are great, etc, etc) - one starts to build a more holistic view.

I think the best course of action is - just keep communicating how great Haxe is at whatever you're doing with it, throw in some cross-pollination love to others in the ecosystem, and realize it's a difficult system to understand for new folks.
Reply all
Reply to author
Forward
0 new messages