What do you dislike and want to improve in Haxe?

Have a way at Haxe compiler level to Turn ON Debug for ALL generated languages
Have a way at Haxe compiler level to Turn OFF Debug for ALL languages.
If can’t do ALL then do ALL that allow Debug or Release building!

  • YES
  • NO

0 voters

@RMax I’m not sure what you mean by that…

Say you want to Enable or Disable Debug Build for all compiled languages.
From Haxe Compiler Flags page

debug >>> Activated when compiling with -debug
no-debug >>> Remove all debug macros from cpp output

I guess C# got missed.

More support for multithreading. For example adding keywords (such as synchronized) to control and facilitate transpilation of multithreading code in supported target languages such as C#, C++ and Java.

  • Yes
  • No

0 voters

Btw, if you want multithreading for concurrency, there is a lib for it – GitHub - vegardit/haxe-concurrent: A haxelib for basic platform-agnostic concurrency support

3 Likes

I think you might be interesting in my feedback. I wanted to try Haxe for (game-)development but I failed for several reasons. Since, I really like the idea behind the haxe I want to provide some blockers that didn’t allow me to start to use Haxe for my small project.

I found out that tutorials don’t exist. There are pretty boring manuals and nothing else. Maybe good ones really do exist but I wasn’t able to find them. The Godot’s tutorials are pretty good ones, just for the reference. Also, I wasn’t able to find a Linux haxe-powered IDE which I can install and use from my repo (eclipse with plugins, qtcreator?). And, finally, I found out that I should use some IDE to write code in it and then to run the resulting code in another IDE. So, it seems that I can’t see my result immediately after hitting a Run button. Maybe, I am mistaken but that was my impression from what I saw on the Haxe site.

I hope my feedback will be useful.

For Linux you can use Visual Studio Code plugin for Haxe . Here is great Wiki page with instructions how to use it : Home · vshaxe/vshaxe Wiki · GitHub
About tutorials , nice examples have on code book here : https://code.haxe.org/
Maybe is good to mention what exactly you want to find in Haxe tutorials ? What you think is difficult or blocker to stop you from using Haxe ?
For game developing you can use OpenFL ( based on Flash API ) where you can find developers guide ( Introduction · GitBook ) and tutorials ( Tutorials )

No idea what you mean by that.

(from google transition )
I always wanted to use Haxe as the company’s main development language.
Game Services with HashLink
Management background with PHP
Web front end with Vue or MVC.Coconut
But I have encountered many problems
For now, the company does not have time to build a management back office from scratch, so it is necessary to use a large number of third-party open source libraries, but Haxe unfortunately has no way to provide a complete Wrap method to generate the corresponding extern method. If you manually rewrite the Extern interface
The workload is much bigger than using native language to build, so I hope that Haxe will automatically build and generate Extern batch tools to improve Haxe’s ecological promotion capabilities.

I don’t really know how it should be implemented but I have a good example. In godot-engine, you can download an IDE and run examples from it. That’s all. And tutorials are very clear and easy to start with. SDL2 was easy to me because I just needed to add -lSDL option and then use my favorite C++ IDE and follow the tutorial either from the site or from a book. But when I got into Haxe I am getting a bit confused. Basically, I don’t want to install VSCode or something which is not from my distro repository. And after that I have to find and install a plugin but will there be some examples?
So, you can imagine that I want to start to work with Haxeflixel. I go to their tutorial and I see that I need to install a Windows-only IDE.
Now, I want to try Kha. I can see that I need to download Kode Studio and go to steam and only Windows is supported. Though, after that I was able to download Kode Studio from Github. And here I am trying to follow get started guide and I am confused again. I don’t understand whether I have a good result or not because the guide doesn’t provide you with information on the expected result. I just have a black window.
So, mainly, there were unnecessary complications for me on the start.
My proposition would be:

  • to choose a flagship(s) products in different areas
  • to put those areas’ names in big buttons on the main page of the site
  • to develop a step-by-step tutrials like this is done in godot when they create a small game, users would be redirected to those tutorials when they press an area’s name
  • to add pre-installed examples to Kha (or to HaxeDevelop and port it to Linux).
    The idea would be to make a possible user’s start as easy as possible.
    So, the idea behind this proposition is the following. Since, Haxe’s main problem is lack of user-base, every new user should be lured to try Haxe. For example, a user opens haxe dot org because he wants to make a video game. He should be able to see a big button “Game making” (among other like “Mobile”, “Web”). He clicks that button and is redirected to the page with buttons “Try Kha (super cross-platform and fast game engine)”, “Try HaxeFlixel (a full-featured game engine)” and “Many others”. User chooses the first button and is redirected to the getting started page from which he can download the IDE, run it without installation and build a ‘hello world’ example, run it and have a joy of the first successful build. Then he is guided through a make-the-first-simple game tutorial.

But this is only my vision.

There’s absolutely no need to go to Steam (and I have no idea what gives you the idea that only Windows would be supported), that is purely an option and even Kode Studio itself is optional. We have easy guides (at http://kha.tech and Home · Kode/Kha Wiki · GitHub) and you can just follow them. Samples are at Kha-Samples · GitHub (plus there’s kodegarden.org) and I don’t see a need to bundle them. And yes, all of that could be improved in numerous aspects but there’s a finite amount of time I can spend. Also, actually, I don’t care that much - I’m mainly thinking about ways to attract more experienced developers, attracting more beginners doesn’t help me in moving Kha forward and I even try to scare users away who are bitching too much (you know, people who write things ala I don’t want to install vscode because it’s not in my random distro) because I want myself and the existing users to have a nice time working on or with Kha.

All of that though is kind of off-topic. Haxe itself is just a programming language and going too much into a “try this framework” direction would confuse people about that even more.

6 Likes

Haxe is largely setup so you can create a project using any simple editor and an hxml build file you can run from your terminal. I would highly advise doing this before getting into a specific toolkit ecosystem with it’s preferred workflow. Visual Studio Code is ideal working on linux, windows, and mac, Haxedevelop is quite nice on windows but any other options will work atom, sublimetext, textmate, vim… it really does not matter. Start with some hello world examples and then start to create a src folder and bin folder and adjust your hxml file as you start to learn options.

Ideally just open up a terminal and run the hxml file for your project. This may seem rather low level but if you start coding python, ocaml or any opensource language you don’t start with a power editor.

Start with creating some Javascript Canvas interactions without toolkits, if you get stuck my htmlHelper might be useful, most of the classes are pretty standalone and you just patch them together to make some basic experiments.

Then perhaps have a go at building something more backend I suggest perhaps take a look at hxcpp, java and python targets to get a feel for how you can use the same code, I would explore using the format library and doing stuff like reading and writing images or ascii. Take a look at some of the build xml files that hxcpp uses.

Once you have a feeling for basic use, and perhaps started to see some of the changes required for targets ( like nodejs is often a bit different ) - only then explore a toolkit.

ALL the toolkits are pretty powerful so depsite the advertising it really does not matter you can write a multiplatform game on any of them.

But sometimes thier setup and approaches can be confusing and sometimes the setups break, but if you have faith that the tech is robust it’s much easier to persist and debug a platform issue like an NDK change, a good understanding of bare Haxe is really worthwhile in establish faith, basics and grounding - before you jump into a games ecosystem.

Commonly people jump into a toolkit first, and then if they decided to try another one it’s like starting again! For a game or application your either using Shader, Canvas or DOM or mixed approach and processing json/xml, text files and loading images, all this is feasible to explore without toolkits first.

Your concept of separating getting started for game developers, web developers, database developers is actually totally at odds with the way Haxe allows you to move seamlessly between uses, front/backend/mobile/web and between operating systems. It’s far more important to just think in terms of how an indifference approach to platform targets is quite healthy - like black boxes in OOP, look at libraries like thx, format and tink that provide more general tools. Haxe is an abstraction from the target once you realize that then it becomes more important to explore the limitation of that extraction than limiting yourself to one toolkit solution.

Perhaps Haxe site should say “Try Haxe without a Toolkit first!” after all the toolkits are just there to provide a consistant wrapper to graphics and speed up development so they are just what Haxe enables rather than the toolkit/engine being the reason to use Haxe, well from my view point atleast, perhaps one that will give you the inspiration to take a deeper look.

2 Likes