Very low number of Haxe [Target] books || tutorials

Hi,

I just switched to Haxe two weeks ago and the kick start was OpenFL because of my AS3 and Flash API background, but after digging more targets i found out that there are very low number of resources out there and most of them are two to three years old in terms of tutorials books, blogs etc. for example i tried Haxe Php haxephp and get to know that the good guy who manage to wrote the series is no longer using the target and those tutorials are getting no upgrades, mean while Haxe is getting mature but those tutorials aren’t reflecting the new apis. same thing with most of the libraries are just sitting in github without any proper readme file. And i think this can be a reason Haxe is getting low visibility i didn’t even know that Haxe can output php, how come i use it. one more thing i noticed is that old.haxe have good amount of material regarding tutorials and usages but it is not coming up in google searches that much.

please ignore my English mistakes :smiley: as i am not a native English speaker. thanks

3 Likes

I don’t know, Haxe has very extensive and up-to-date manual on the official website, as well as generated standard API documentation and the Cookbook is often updated with new mini-articles.

But yeah, more quality content in the format of tutorials would be very welcome.

Speaking of tutorials, what’s the status on the Haxe MOOC? It sounds interesting but I don’t think I’ve seen anything since it was originally announced.

+1 from me…
I think that now a days developers expect to a lot of "how to"s and get started thoroughly tutorials, and IMHO here we as a community not doing good.

Haxe, as of now, requires a lot of effort and motivation to really get into. Yes, you can get some basic program working quickly, but then you wouldn’t be using the true power of the language without truly understanding the typing system, structural sub-typing, unification, macros and specially how all of this maps to a productive workflow. So people often fallback to languages / toolchains that have a lower barrier of entry.

I’ve been lurking around for years, and only recently started using Haxe for a couple of projects of mine, and there are many things that I’m still grasping, gradually - stuff that’s not obvious and not well documented - the myriad [compiler] meta tags, for example. It’s not easy to choose between Ruby (Rails) vs Haxe when the reason you’re using Haxe is because you prefer the language. Business constraints and scarce resources and lack of time calls for better supported stacks, unfortunately. However, I’m betting in it, but that’s why it requires some pretty strong motivation.

Luckily the community - albeit small - is very beginner friendly and there’s always some good soul to help, and I’m specially grateful to @nadako, @back2dos and @kevinresol, which have been helping me a lot lately.

We’re in a much better state now than years ago when the old wiki/site was still up though, and it’s getting better. I guess it’s up to use to contribute as well, if we’re able to.

That being said, yes, I’d love to see more Haxe books. I’m in no position to write a Haxe book at this point, but @back2dos, I’d buy an Haxe book from you right away - and there are many subjects to get into - Haxe in general, metaprogramming (macros) Haxe for the web (much needed topic to more widely covered), etc.

2 Likes

This is a good point. Rust is similar in that it is a difficult language to get into, but so far it seems like the community is helpful and growing quickly. I wonder if there’s anything about their approach that we could learn from? (Of course, Rust is different because it’s premise is to make a safer language for systems programming, as opposed to Haxe where the premise is to reduce code duplication)

Should we be making a list of topics that ‘need some love’? Haxe does so much, I think a tangible list of objectives would be useful.

2 Likes

That’s a good idea. I have some ideas of subjects I would like to contribute to/see more of. Should we post them here or start a new topic?

A new topic might be good to keep everyone in the spirit of spit balling tutorial ideas vs discussing if its a problem. Even if anyone disagrees about the state of Haxe tutorials, there is no one that doesn’t have an idea for something else they’d love to use Haxe for.

I think in the end we just need to come up with a list of topics for cook book articles to make that part of the haxe page something to behold. The current ones have been fantastic and I’d love to see even more of them!

1 Like

My two cents

The first obstacle to learning Haxe is the temptation to try and learn everything about the language. Honestly, I used Haxe for years without understanding all its features, and that was before new features were added. There’s a subset of Haxe that’s needed for most everyday use. That’s something tutorials and lessons may be able to help with (helping you know what you need to know). When you walk into a Lowe’s, Home Depot or other large hardware store, who tries to understand every tool in the store? That idea makes the learning curve seem more daunting.

The second biggest obstacle (other than not having more big names behind the language) is the sheer scope of what may be accomplished with Haxe. Think of it, you make a “2D platformer game engine JS” and you know have a very well defined set of tutorials and use cases to meet. Each new developer is on the same platform, running in a similar environment, trying to accomplish similar goals, so the language + framework result in a very natural focus of the community.

Languages themselves are obviously broader than frameworks, but generally speaking, you take a language such as PHP, and you can assume everyone is attempting to use MySQL, implement mem-caching and other problems you naturally work to solve in a certain environment.

C and C++ are much broader, but still (normally) do not run in a web environment, so there’s still some limits to the scope. However, despite the huge success of these languages, I do not find there are many great resources for learning them. C++ and OpenGL, sometimes it feels like you are just assumed to understand already.

For this reason, Haxe is sometimes best learned if certain assumptions are made about who you are, and what you are trying to accomplish. We should have better learning resources at the OpenFL level, for example

3 Likes

Makes me wonder if the best thing wouldn’t be a ‘get started guide’ for some of the less utilized use cases of haxe. The web use cases are probably the first thing I think of as being a major reason to try haxe in the first place (having server and client code shared), but writing server code isn’t something we have as much to offer in terms of tutorials as we do game development.

A boat load of documentation would be pointless at this point, but we could certainly use a couple examples of getting started with a web server or command-line tools.

3 Likes

Web Server/Client is definitely one of the items I was considering. I’m thinking of creating a tutorial for making a simple TODO app with tink_web that is backed by some sort of database. I think that would be a decent overview of building a website with haxe (but it might also be too much work for me to handle).

6 Likes

I agree, I think the Target Details is way too short. It’s mostly for externs (which is great) but is missing more concrete use case. For example, in php/js a “simple” CMS made with Haxe.
At the moment, we juste have a: hey you can code everything with Haxe, it exports to the correct platform! But since you might not be very familiar with this platform, you will start to learn more from it reading its original language. And Haxe will only be a barrier somehow.

If anyone wants to make tutorials / series, I invite you to write it on code.haxe.org. It is meant to be community driven and is free to access. Contribution is easy, just edit markdown files on Github. It also contains lot of beginner topics. As for target specific documentation, we need help on that too. The problem with documentation is that you never have enough :slight_smile:

1 Like

Btw books are waste of environment and are hard to update.

4 Likes

Things are moving so fast today (especially in js), that books are becoming obsolete very fast.

This is the strength of a community.

1 Like

I am working on several aspects for Haxe documentation for while now, I can confirm it can be the strength of the community, but since Haxe community is relative small its hard. All docs and tools are open source and easy to edit but seems not attractive enough, otherwise this post wouldn’t be created :slight_smile:

But like I said, everyone is welcome to contribute topics/articles/api docs/target details/snippets etc etc! Id love to help getting it online!

3 Likes

If we come up with a topic list I’d love to help.

I recently started learning Go and I found their “Tour” to be excellent, Haxe should try and do something similar. I literally got most of the language figured out in a matter of hours.

The good thing about the tour was how easy it was it pick up the basics of the language and then nuances, all while you have live samples running where you can play and make adjustments.

Check it out here: A Tour of Go - Step through the “Welcome”, then directly into the first lesson.

1 Like