New Haxe website
haxe.org
haxe.org
1. The Linux binaries on the new site are a tar.gz.gz, making `tar xf filename` fail, and besides that inconvenience, is probably a packaging error. You might want to fix that.
2. The OpenFL provided Haxe installer is broken, because it tried to download http://haxe.org/file/haxe-3.1.3-linux64.tar.gz, which is gone. Please either fix the OpenFL installer or make sure download links are backwards compatible by adding a redirect. (I'm assuming both projects are run by the same community)
I worked around problem #2 by modifying the installer script to use old.haxe.org, since the binaries on the new site are harder to use because of problem #1. But this could definitely dissuade newcomers to Haxe, despite all of its qualities (which, in my opinion, are many!)
I had a redirect for any 404s that existed on the old wiki to go to "old.haxe.org/$1", but it looks like it didn't work for the "/file/*" downloads. I'll look into it.
I'll submit a bug report re the packaging also.
The website itself is developed in Haxe, and all of the content is hosted on Github so we can encourage contribution but still keep an eye on the quality, unlike the wiki we had previously. There's a "Contribute" link at the bottom of each page that links you to the relevant file on Github.
If you have any questions let me know, I'm happy to answer. I hope you find it a valuable resource.
(heads up, these are returning 404s: http://haxe.org/support.html http://haxe.org/donate.html)
I use Apache/mod_neko on the server, though after the high traffic last night we might switch to nginx/mod_tora. Either way, these basically server ".n" Neko Bytecode files, and provide caching between requests [1].
I stayed away from using a database / ORM for this website, instead using Github for all the content. When we update we pull a repo and it references flat files. The site then transforms the HTML or Markdown, pops it in a template, and serves it up.
I used a library called ufront for the MVC environment on the server. You can have a look at what a controller looks like here [2]. I'm hoping to do a tutorial, ufront was written by Franco Ponitcelli and Andreas Sudderland a few years back, but I've done a lot with it in the last year and hope to release / document soon. I did do a talk at last year's conference if you're interested [3].
1: http://jasono.co/2013/09/11/neko-web-cachemodule/ 2: https://github.com/HaxeFoundation/haxe.org/blob/master/src/a... 3: http://www.youtube.com/watch?v=c6EwJ7iU-qo
The new URLs should be:
http://haxe.org/community/community-support.html http://haxe.org/foundation/support-plans.html http://haxe.org/foundation/donate.html
I'll have to dig around and find out where the broken links are coming from. They were not part of the old site, nor the new site, but were in the private development repo for a while. Probably my fault they're still around.
Thanks!
[1] http://haxe.org/documentation/introduction/compiler-targets....
You can literally pick it up without reading any documentation if you're familiar with C/C++, C# or Java, and the cross platform support is really good. They mostly use source-to-source compilation, but their implementations are really robust.
To top that off, they have an excellent cross platform library in OpenFL (previously NME) that is equally easy to pick up.
I like the end goal, but am confused why I haven't heard of it until today.
Personally I have built a student management system for 4 schools as a web app in Haxe, using it both on the server and on the client (JS). I have loved the language, but it has been a mixed affair. On the one hand some features (macros, remoting, code sharing between client & server) have sped up development hugely. On the other hand, sometimes libraries or tutorials just don't exist and you end up reinventing tools that would exist in other languages already.
The community is tiny, but really really helpful, friendly and intelligent. I recommend having a look. There is some hype and ridicule over the "run everywhere" claim but the underlying technology is a delight to work with. I hope it gets more popular support and more tutorials / libraries.
1: http://haxe.org/foundation/who-uses-haxe.html 2: https://github.com/tivo 3: http://massiveinteractive.com/
Source: http://en.wikipedia.org/wiki/Papers,_Please#Development
I wrote a blog post that talks about why we chose Haxe here: http://blog.proletariat.com/post/63004824563/choosing-a-deve...
It's a pretty great experience, I wrote a long post about it here: http://www.gamasutra.com/blogs/LarsDoucet/20140318/213407/Fl...
It focuses on the popular Haxe library OpenFL, but has a lot of information that pertains to Haxe itself as well.
EDIT: I think that impression came from reading this [1] article, possibly found here... or possibly some other article... anyway it talked extensively about AS3 and made comparisons against Haxe.
Personally I do web development in Haxe, using Neko or NodeJS on the server, and JS on the client. I've toyed with the Java and C++ targets, but so far haven't had a single project which compiled to Flash. I find the language on it's own has a lot of features that are appealing outside of the flash environment.
1: http://haxe.org/manual/introduction-haxe-history.html 2: http://www.openfl.org/
These days he is no longer the #1 contributor [1], but he maintains the "benevolent dictator for life" role and certainly still commits plenty of great code.
1: https://github.com/HaxeFoundation/haxe/graphs/contributors?f...
What's a good and up-to-date Haxe tutorial for making mobile apps, targeted at Mac developers?
But in particular macros [1], abstract types [2], algebraic data types [3] and static extension [4] are enough to keep me happy exploring new programming concepts etc...
1: http://haxe.org/manual/macro.html 2: http://haxe.org/manual/types-abstract.html 3: http://haxe.org/manual/types-enum-instance.html 4: http://haxe.org/manual/lf-static-extension.html
Although I'm not a fan of curly brackets and semicolons, it's the `var` keyword which annoys me the most!
JavaScript -> JScript -> ECMAScript?
I can understand e.g. people use CoffeeScript because JavaScript is more verbose. But why target Python from Haxe? Shouldn't it be the other way around?
It does seem slightly odd (many would prefer Python for the language, not the platform), but for those of us more familiar with Haxe, or with existing code/projects in Haxe, being able to target Python means having access to a wider array of libraries, which I guess is kind of cool.
You can however use any expression you want in them, and have macros read them and confirm they are correct, and do whatever you want with them. For example I do some validation on my models:
@:validate( _.length>0 && _.indexOf(' ')==-1 )
public var username:String;
As for the bigger question - they are limited in what they can add, but they have many features not in other languages, they just implement them in a syntax-heavy way on the languages that lack such features. Pattern matching is a good example [2].See http://haxe.org/documentation/introduction/language-features...
[1]: http://haxe.org/manual/lf-metadata.html [2]: http://haxe.org/manual/lf-pattern-matching.html
Please up your game a bit. I realize it's cool for the under-12 set.