Haxe (uitgesproken als "Hex"), is een open source, multi-platformtaal, geschikt voor het compileren naar verschillende talen, gericht op Windows, Flash Player, WebOS, Android, Blackberry en HTML5 (in bèta op het moment van schrijven). NME, dat hand in hand gaat met Haxe, is de bibliotheek die deze geweldige platformonafhankelijke actie mogelijk maakt.
Hoewel dit artikel is gericht op mensen met ervaring in programmeren en game-ontwikkeling, biedt het wel de tools en hulpmiddelen die iemand met weinig of geen ervaring nodig heeft om aan de slag te gaan met Haxe als hun eerste taal. In dit artikel zal ik u vertellen waarom Haxe moet worden gebruikt, u moet helpen Haxe en NME op uw machine te laten werken, u wijzen op het beste leermateriaal dat er is en u helpen uw voet tussen de deur te krijgen met de Haxe gemeenschap.
gerelateerde berichtenAls je betrokken bent bij het programmeren of ontwikkelen van games, of misschien zelfs een aanzienlijke hoeveelheid tijd op internet doorbrengt, heb je de zin "Flash is stervende" gehoord. Ik ga op dit moment niemand de tijd verspillen met dat debat, maar het idee houdt verband met mijn volgende gedachte. Als een game-ontwikkelaar, met name iemand die tot nu toe alleen maar geld heeft verdiend met Flash-spellen, was deze zin mij matig bezorgd.
Ik zal nu zeggen dat ik er niet van overtuigd ben dat Flash dood is of binnenkort dood zal gaan, maar ik wilde nog steeds een back-upschema. Ik heb nu een antwoord gevonden op mijn zorgen: Haxe.
Ik heb altijd met andere platforms dan Flash willen werken, maar de hoeveelheid werk die nodig was om te schakelen, leek altijd te groot om te rechtvaardigen of aan te pakken; Haxe verandert dit allemaal. Als taal is Haxe bijna identiek aan de AS3-code die ik al jaren schrijf. Beter nog, FlashDevelop (mijn favoriete editor voor Flash-games) heeft geweldige ondersteuning voor Haxe, dus ik hoef mezelf niet eens vertrouwd te maken met een nieuwe IDE. Niet alleen geeft Haxe me de zekerheid dat ik niet meer op Flash vertrouw, het stelt me ook in staat om nieuwe platforms te targeten.
In het verleden was het richten op meerdere platforms altijd een enorme pijn, tot het punt waarop ik gewoonlijk beweer dat de optie niet bestaat. Ofwel moet u uw code porteren naar een nieuwe taal (een die u misschien wel of niet kent) of rondkijken voor iemand die het voor u heeft geprobeerd en bewezen heeft. Ik heb eerder mobiele rechten op een van mijn games verkocht, maar zelfs na een voorafgaande betaling aan mij, ging de game nooit live.
Met Haxe kunt u naar verschillende platforms exporteren door simpelweg een vervolgkeuzelijst te wijzigen en een klein beetje voorwaardelijke code toe te voegen om het platform te detecteren en instellingen te wijzigen, zoals de modus Volledig scherm. Dat wil niet zeggen dat je niet af en toe een paar knikken hoeft uit te werken, maar uit ik heb gelezen, en de kleine ervaring die ik heb, zei dat knikken nauwelijks het vermelden waard is.
Het allerbelangrijkste dat u eerst moet doen, is dat u uw computer klaar maakt voor gebruik van Haxe en NME.
Haxe en NME aan de praat krijgen kan een beetje verwarrend zijn, maar ik heb een uitgebreide handleiding op mijn website geschreven om je stap voor stap te begeleiden. Ga je gang en volg mijn aan de slag met Haxe, NME en FlashDevelop-handleiding nu, en ga terug zodra je klaar bent. Merk op dat mijn gids FlashDevelop gebruikt en hoewel ik deze IDE ten zeerste voorstel, zijn er andere, dus voel je vrij om te experimenteren.
Als u geen Windows-computer gebruikt, heb ik helaas geen uitgebreide stapsgewijze handleiding. Dat gezegd hebbende, Haxe is compatibel met beide platforms en u kunt de installatieprogramma's en basisinstructies vinden op de Haxe-downloadpagina. Als je een specifiek probleem tegenkomt, raad ik je aan om over mijn Windows Haxe-handleiding te bladeren, omdat het misschien enig licht werpt op wat er mis ging. Als dat niet werkt, ga dan verder naar het gedeelte "Lid worden van de community" en neem contact op met Haxe via Twitter of e-mail voor verdere ondersteuning.
Nadat u uw werkomgeving hebt ingesteld, wilt u vertrouwd raken met de basissyntaxis van Haxe. ik zeer stel voor dat u dit doet door de Haxe Syntax Reference te lezen.
Als je je meer op je gemak voelt met de basissyntaxis van Haxe, ben je nu een spons, wachtend om alle kennis die Haxe te bieden heeft op te nemen. Op dit punt raad ik aan de volledige Haxe-referentiepagina te doorzoeken en alles en alles te lezen dat u opvalt. Het supportteam van Haxe heeft geweldig werk verricht door hun referentiemateriaal te bouwen en iedereen die er start, moet er goed gebruik van maken.
Of je nu afkomstig bent uit AS3, Java of een andere taal, porten naar Haxe is vrij eenvoudig. Omdat Haxe bijna alle functies ondersteunt die elke reguliere taal gebruikt, zit je in het algemeen gewoon vast met wat saaie syntaxiswijzigingen. Dat gezegd hebbende, elke moderne IDE ondersteunt find-and-replace (met FlashDevelop ter ondersteuning van "Find and Replace In Files", gericht op elk bestand in uw project), en met een beetje geduld kunt u uw project binnen een mum van tijd laten overzetten.
Als je projecten hebt waarvan je denkt dat ze geporteerd kunnen worden, raad ik je ten zeerste aan dit te doen, omdat de ervaring die je zult opdoen met het leren van de nieuwe syntaxis en foutcodes uiterst waardevol is. Zodra je de game hebt overgezet, kun je zelfs doorgaan en je game op andere platformen laten draaien door de kracht van NME - een heel mooie beloning voor al je harde werk. Op dit punt kunt u uw oudere projecten vervolgens indienen bij nieuwe platforms en mogelijk inkomsten genereren die u nog nooit had zien komen.
Als je op mij lijkt, ben je absoluut dol op bibliotheken. Hoewel ik perfect in staat ben om een game helemaal opnieuw te maken, zou ik veel liever een beproefde bibliotheek met volledige functies gebruiken. Vanwege het gemak van portering, de groeiende gemeenschap en de algehele awesomeness van Haxe, zijn er nogal wat bibliotheken die helpen de klus te klaren.
Haxe wordt geleverd met de verbluffende hHaxelib Haxe-pakketbeheerder, die alle beschikbare bibliotheken bijhoudt die aan de manager worden aangeboden. Hiermee kunt u op één handige locatie naar bibliotheken zoeken en zelfs alle geïnstalleerde bibliotheken op uw computer bijwerken naar de nieuwste versie, met behulp van de Haxelib-upgrade
commando binnen de opdrachtprompt.
Wanneer een nieuwe bibliotheek wordt gedownload en geïnstalleerd, moet u ervoor zorgen dat uw project het klassenpad van die bibliotheek bevat. Zoals uitgelegd in mijn startartikel bevatten alle Haxe-projecten een application.nmml
het dossier. In dit bestand is er een klein gedeelte van de code voor classpaths en haxe libs. Als we de HaxePunk-bibliotheek hebben gedownload en deze in ons project willen opnemen, voegen we eenvoudig het volgende toe aan onze application.nmml
het dossier:
Dit laat ons project weten dat we de HaxePunk-bibliotheek gebruiken, die de pakketbeheerder van Haxelib Haxe controleert. NME is ook een bibliotheek die wordt beheerd via Haxelib. Daarom ziet u het volgende in elk Haxe NME-project dat is gemaakt met FlashDevelop.
Net als voorheen laat dit ons project weten dat we de NME-bibliotheek gebruiken, die ook via haxelib wordt beheerd. Hoewel u handmatig een klassenpad voor een bibliotheek kunt definiëren, worden de meeste hoofdbibliotheken door haxelib ondersteund en is het systeem aanzienlijk meer georganiseerd.
Haxe heeft een nieuwe, maar bloeiende gemeenschap. Terwijl Haxe nog jong is, groeit het snel in populariteit. Toen ik bij Haxe kwam, leek het bijna alsof ik op de trein sprong, want overal waar ik keek, kenden steeds meer mensen die ik kende over Haxe; dit was natuurlijk puur toeval, maar het laat maar zien dat Haxe in de lift zit.
De gemeenschapsleden waarmee ik tot nu toe heb gewerkt zijn geweldig. Matt Tuttle doet geweldig werk met het beheren van HaxePunk op GitHub, de Haxe twitter-accounts reageren altijd snel op tweets en ik heb de laatste tijd steeds meer Haxe-gerelateerde blogposts gezien. Ik dring er bij je op aan actief te worden in de gemeenschap, omdat dit de absoluut beste manier was om hulp te krijgen en anderen te helpen met deze geweldige taal..
Haxe heeft een aantal Twitter-accounts die behoorlijk actief zijn en steeds meer ontwikkelaars komen dagelijks bij de community. Hieronder staan twee officiële accounts die ik sterk aanraad om te volgen als je in de Haxe Twitter-lus wilt blijven. Voel je vrij om ze alle vragen te tweeten, omdat ze heel snel reageren en altijd behulpzaam zijn geweest.
De Haxe Google-groep lijkt een van de meest actieve locaties op het net te zijn om een Haxe-gerelateerde vraag te stellen en een snel antwoord te krijgen. Als je de voorkeur geeft aan forums via een Twitter-reactie, word je lid van deze groep.
Nu je bent uitgerust met de mogelijkheid om te programmeren met Haxe en NME, zijn er eindeloze mogelijkheden voor jou als gameontwikkelaar. Met deze krachtige taal kunt u uw projecten nu over een groeiend aantal ondersteunde platforms duwen. Uw bankrekening groeit, uw reputatie zal floreren en u zult het allemaal met minder moeite dan ooit doen.
Ik hoop dat je veel hebt geleerd over Haxe via dit artikel, en namens de hele Haxe-community, ik kijk ernaar uit je te helpen deze geweldige community en taal te laten groeien.