
HaxeDevelop 5.3 – Application development on Windows - markknol
http://haxedevelop.org/haxedevelop-5.3.html
======
baldfat
I really like Haxe as a higher level typed language. My Nephew who is in his
20s has wanted to learn programming and he was able to go from "Hello World"
to a decent 2D game he was thinking about for a few years in a few months
working off and on.

Now my preferred method would have been him learning Racket with Realm of
Racket and then Haxe but he was still able to get things done. He used
HaxeDevelop and pretty much used Haxe like a flash replacement with OpenFL.

Here are the popular Indie Games made with Haxe:

Papers Please

EvoLand

Dead Cells

Defenders Quest

A ton of Kids games

EA's Madden Mobile

[https://haxe.org/use-cases/games/](https://haxe.org/use-cases/games/)

~~~
ido
Why Racket?

Having worked in the games industry for years (and as a programmer in other
industries & hobby game dev before that) I've longed realised tools matter
much more (especially for beginners) than languages - something like unity,
godot or GameMaker are so much easier to get started with and you see results
much faster.

~~~
baldfat
Racket makes you a better programmer. Especially if someone goes through "How
to Design Programs."

John Carmack taught his 10 year old son Racket just for this same purpose. The
whole system is great for teaching. You run DrRacket and you have an IDE that
is geared towards beginner programmers and just have them code.
[https://www.itworld.com/article/2978142/development/why-
john...](https://www.itworld.com/article/2978142/development/why-john-carmack-
thinks-racket-is-aces-for-beginning-programmers.html)

~~~
ZenoArrow
> "Racket makes you a better programmer."

Any practical language that is sufficiently different from the ones you
already know will make you a better programmer.

~~~
baldfat
Except Racket was from its foundation built to be a great teaching tool.

~~~
ZenoArrow
Scheme has it's roots in the classroom, that much is true, however that
doesn't make what I stated previously any less true, nor does it automatically
mean that Racket is a better vehicle for improving the code quality of its
students over other languages outside a programmer's comfort zone.

In other words, learning Racket can make you a better programmer, but so can
learning Smalltalk, Forth, Coq, an assembly language, etc... All languages
outside your comfort zone that are designed for practical purposes (i.e. not
languages like Brainf __k, Malbolge, etc...) are potentially rich sources of
information. Putting Racket at the top of the pile doesn 't seem appropriate.

~~~
ido
And of course, the question needs to be asked if becoming the best programmer
you can be is the actual goal?

There are a lot of developers much more succesful than myself that have gotten
their success using GameMaker and a good enough understanding of scripting it.

It's not all about programming!

~~~
chii
If your goal was to make a working end product, then yes, it's not all about
programming. But for somebody trying to learn programming, the other things
like tools for building, packaging, and any other kind of polish is just a
distraction.

If you are learning math, using very long and arbitrary floating point numbers
instead of nice, simple integers, would just add an extra level of cognitive
overhead. But if you're building a house or bridge, the measurements needed
rarely is nice, and real world issues overwhelms the simple model in a math
question. But those are unimportant to learn until the simple stuff is learnt.

------
Keyframe
I've seen Haxe around for years now, even toyed with it for a bit eons ago. I
see it's now branded as for cross-platform development. I'm reading use-cases
on their site. So, I have a question. Is it possible to utilise it for writing
an app that works both on mobile and desktop, not just cross-mobile or cross-
desktop-os?

~~~
nudpiedo
It is a toolkit to generate code not a framework, that means yes and no at the
same time:

\- no, it won't abstract the semantic differences across platforms differences
for you.

\- yes, since you can create complete libraries which can be trivially ported
to each system (also the standard library is cross platform).

\- yes, haxe language has some frameworks which aim to achieve that

\- but no haxe framework is mature enough to just code and run everywhere
cleanly abstracting all API's and UI's as most of developers would expect
nowadays

So, you still will need to appropriately architecture your application and
know how your target platforms works and abstracts everything.

~~~
really-dinosaur
The easiest way to explain Haxe, is it compiles C#/Java-like code into
platform specific code, usually javascript nowadays.

The Haxe syntax itself, is quite peculiar. You can get proper classes,
properties, constructors (which are always forced... sigh), and there is the
possibility of macros, which lets you do C# style annotations on classes.

The problem is, most of the time, you have to do a bit of special work to get
Haxe to play nice with your modern front-end frameworks.

Also, HaxeDevelop hasn't really picked up on the trend towards simpler,
pleasant to use IDEs. There is a lot of good functionality in there, but you
should be able to get Haxe code working with VS Code.

So what could HaxeDevelop do better? I think it looks too similar to VS2010,
whilst everybody else is having a mad dance party over in Metro land. The
distraction free IDEs nowadays, really make it easier to get in the zone, and
you can configure snippets super easy nowadays.

Offer some _really_ good themes out of the box. I shouldn't have to go into
the settings to make my code look nice.

But an actually honest to god redesign I would love. As long as they don't do
what is so common right now and use redesigns to cover up for technical debt.
And make sure your users never have to worry about DPI.

Electron apps are like so hot right now...

------
speps
Why not put all efforts on good integration into VS Code for example? I ask
also because FlashDevelop was a poor IDE, seems like it's based off it.

~~~
johnhattan
HaxeDevelop is a rebranded version of FlashDevelop. While it's built in .NET,
apparently enough of it was built with Windows-only code that porting wasn't
in the cards.

HaxeDevelop's best (IMHO) feature was that it could switch targets easily and
integrated seamlessly with the Flash runtime's debugger. So you could build
and debug quickly using the Flash runtime and then compile your project to
native code for production.

But yeah, in a perfect world VSCode integration would be the way to go
forward.

~~~
jdonaldson
The Haxe community is made up of a lot of folks interested in general cross-
platform dev, but there's also a ton of folks from the Flash diaspora.
Accordingly, many tools and frameworks are evolutions of the "Flash way"
(HaxeDevelop, OpenFL), while other tools and frameworks are starting from
scratch, or adapting to other ecosystems (vscode-haxe, Kha).

There's always been calls to "unify" the frameworks, tooling, etc., but I
don't think that's a healthy environment for Haxe. Haxe exists as a way to
avoid ecosystem lock-in. It's a bit antithetical if the community imposed
restrictions on how to develop with Haxe.

~~~
camus2
HaxeDevelop isn't going to run on Linux or Mac, that's the point. Programming
communities should focus on writing language servers and let developers use
their favorite IDE instead of forcing people to use a specific IDE.

~~~
markknol
There is a language server build by the Haxe team.
[https://github.com/vshaxe/haxe-
languageserver](https://github.com/vshaxe/haxe-languageserver) HaxeDevelop
consumes that.

If you want a cross-OS IDE, or something that works on mac/linux, then use
vscode + vshaxe.

