Moin,
nun kommt die Fortsetzung zu meinem ersten Artikel in dem ich über meine Backstory mit dem QA Team und der Entwicklung im alt:V Team geschrieben habe.
In diesem Artikel geht es nun um meine ersten Erfahrungen mit der Entwicklung an den JS Modulen, und auch meine Erfahrungen mit den alt:V Entwicklern.
Als erstes muss ich erstmal sagen dass das ganze Gebiet für mich etwas komplett neues war. Ich habe bereits einiges an Programmiererfahrung, diese bezieht sich aber nur auf 2,5 Jahre JavaScript und 0,5 Jahre TypeScript. Durch meine Erfahrung in TypeScript hatte ich wenigstens schon einiges an Vorwissen wie man mit typesafen Sprachen arbeitet. Aber ich hatte mich vorher nie an etwas anderes als JavaScript oder TypeScript getraut, also war eine Sprache wie C++ eine neue Herausforderung.
Ich wollte mich dieser aber stellen, denn ich war schon lange auf der Suche meinen Horizont als Entwickler mit einer neuen Sprache vergrößern zu können, und aus diesem kleinen Webdev Kreis rauszukommen.
Die einzige Herausforderung war hier auch nicht nur C++ zu lernen, sondern auch V8. Ohne das Verständnis wie V8 (die JavaScript Runtime die bei NodeJS z.B. verwendet wird, aber auch beim clientside JS Modul) funktioniert, ist es nicht möglich an den Modulen zu arbeiten. Es war aber auch etwas was ich schon lange lernen wollte, denn ich benutze NodeJS schon lange, und da ist es dann natürlich auch interessant zu wissen wie das ganze eigentlich intern alles funktioniert.
Es gibt viele verschiedene Vorgehensweisen, wie man jetzt nun also eine komplett neue Sprache lernt und dazu auch noch eine riesige Library. Ich habe mich entschieden einfach direkt loszulegen, scheiß auf die Basics, ich kann sowas schnell lernen und am besten lerne ich indem ich einfach Sachen probiere und wenn es nicht funktioniert, finde ich heraus warum es nicht funktioniert. Also waren die ersten 3-4 Tage erstmal nur probieren, aber auch direkt an den Modulen selber. Ich gucke mir also anderen Code an und gucke was da so passiert und versuche selber kleine Sachen zu implementieren.
Ich hatte auch schon von den alt:V Entwicklern eine Aufgabe erhalten, an der ich mich versuchen kann; Die Player und Vehicle Klasse hatten einige fehlende Getter welche implementiert werden müssen. Also guck ich erstmal wie die vorhandenen Getter implementiert wurden, und drücke dann STRG + C und danach STRG + V. Geil man, neuer Getter! Aber um ehrlich zu sein war das echt nicht viel mehr, der Code war bereits viel mit Makros ausgeschmückt wodurch der Code für ein Getter aus ~5 Zeilen bestand. Erstmal war es mir auch egal wie genau das jetzt funktioniert, ich wollte die Getter implementieren und danach schaue ich mir genauer an wie das ganze funktioniert.
Nun kam aber die nächste Herausforderung; CMake. CMake wird bei (fast) allen alt:V C++ Projekten verwendet um diese OS unabhängig compilen zu können. Wie das funktioniert? Keine Ahnung. Ich wollte auch nur dass es funktioniert, und ich weiß auch heute immer noch nicht wie CMake wirklich funktioniert, aber das brauch ich auch gar nicht wissen, hauptsache es funktioniert.
Hier konnte mir aber zum Glück direkt von den alt:V Entwickler geholfen werden, als Mitglied des QA Teams habe ich Zugriff auf interne Channel bei denen die Entwickler natürlich schneller antworten als in einem öffentlichen Channel. Also konnte ich dies nutzen um dort bei Problemen zu fragen. Ich bin den Entwicklern auch immer noch sehr dankbar, da sie mir als komplettem C++ Noob den Einstieg doch sehr erleichtert haben indem sie mir bei meinen großen und kleinen Problemen geholfen haben.
Nun hatte ich also meine ersten eigenen Getter implementiert, nur hatte ich aber eigentlich gar keine Ahnung wie das überhaupt genau funktioniert. Also war es nun mal an der Zeit den Code genauer anzugucken. Was machen die Makros überhaupt? Wie wird aus meinem C++ Getter am Ende in JS ein funktionsfähiger Getter? Also mal wieder den Code angucken und versuchen zu verstehen und mich sonst in die V8 Documentation begeben, falls es mal nicht weiter geht.
Und so konnte ich einiges über die V8 Engine selber lernen, und konnte auch verstehen wie das ganze eigentlich funktioniert.
Ich hatte nun also in ungefähr einer Woche die Grundlagen von C++ und die Grundlagen von V8 gelernt. Also sehr erfolgreich! Nun konnte ich mich also mal etwas größeren Dingen widmen als zu copy&pasten.
Was ich nun also als nächstes so implementiert habe, gibt es dann im nächsten Artikel.
Bis zum nächsten Artikel,
Leon.
Kommentare 2
Neu erstellte Kommentare unterliegen der Moderation und werden erst sichtbar, wenn sie durch einen Moderator geprüft und freigeschaltet wurden.
Neu erstellte Kommentare unterliegen der Moderation und werden erst sichtbar, wenn sie durch einen Moderator geprüft und freigeschaltet wurden.
palwal
C++ Tutorials zur Software oder App Entwicklung wäre eine tolle Sache. Aber bitte dann mit Beispielen und Erklärungen
Exclusive FiveM Scripts
back dir nen keks