bg_image
header

HHVM - HipHop Virtual Machine

HHVM steht für "HipHop Virtual Machine" und handelt sich um eine virtuelle Maschine, die von Facebook entwickelt wurde. HHVM wurde ursprünglich entwickelt, um die Leistung von PHP-Anwendungen zu verbessern, insbesondere für große und komplexe Anwendungen, die auf der Facebook-Plattform liefen. Hier sind einige wichtige Informationen über HHVM:

  1. Ziel und Zweck: HHVM wurde entwickelt, um PHP-Anwendungen effizienter auszuführen. PHP ist eine weit verbreitete Skriptsprache, die häufig für die Entwicklung von Webanwendungen verwendet wird. HHVM sollte die Leistung von PHP-Anwendungen steigern, insbesondere für High-Traffic-Websites wie Facebook.

  2. Just-In-Time (JIT)-Kompilierung: HHVM verwendet eine JIT-Kompilierung (Just-In-Time-Kompilierung), um PHP-Code in maschinenlesbaren Code zu übersetzen. Dies ermöglicht eine schnellere Ausführung von PHP-Code im Vergleich zur traditionellen Interpretation.

  3. Hack-Programmiersprache: Parallel zur Entwicklung von HHVM hat Facebook auch die Programmiersprache Hack entwickelt. Hack ist eine statisch typisierte Erweiterung von PHP, die auf HHVM ausgeführt wird. Hack fügt PHP zusätzliche Funktionen hinzu, wie z.B. statische Typisierung, und erweitert die Möglichkeiten zur Fehlererkennung und -vermeidung.

  4. Facebook-Anwendung: HHVM wurde ursprünglich für die Ausführung von Facebook-Anwendungen entwickelt und war ein wichtiger Bestandteil der Facebook-Infrastruktur. Es half Facebook, die Ausführungsgeschwindigkeit von PHP-Anwendungen erheblich zu steigern und den Ressourcenverbrauch zu reduzieren.

  5. Open Source: HHVM ist ein Open-Source-Projekt, das der Öffentlichkeit zur Verfügung steht. Entwickler können es herunterladen und verwenden, um ihre eigenen PHP- oder Hack-Anwendungen zu beschleunigen.

Es ist jedoch zu beachten, dass Facebook sich entschieden hat, HHVM für die Ausführung von PHP-Anwendungen nicht mehr aktiv zu verwenden. Stattdessen konzentrierte sich Facebook auf die Verwendung von PHP 7 und späteren Versionen, die selbst erhebliche Leistungsverbesserungen brachten. Dennoch wird HHVM weiterhin als Open-Source-Projekt gewartet und von anderen Entwicklern und Organisationen verwendet, die von seinen Funktionen profitieren möchten.

 


GraphQL

GraphQL

GraphQL ist eine Abfragesprache und Laufzeitumgebung, die entwickelt wurde, um effizientere, flexiblere und performantere APIs (Application Programming Interfaces) zu erstellen. Es wurde von Facebook entwickelt und erstmals 2012 intern verwendet, bevor es 2015 der Öffentlichkeit zugänglich gemacht wurde.

Im Gegensatz zu traditionellen REST-APIs, bei denen der Client verschiedene Endpunkte aufruft, um verschiedene Ressourcen abzurufen oder zu bearbeiten, ermöglicht GraphQL dem Client, genau die Daten anzufordern, die er benötigt, und zwar in einer einzigen Abfrage. Dies minimiert Overfetching (zu viele Daten abrufen) und Underfetching (zu wenige Daten abrufen), was die Netzwerklatenz reduziert und die Effizienz der Datenübertragung erhöht.

GraphQL bietet folgende Hauptmerkmale:

  1. Flexibilität: Der Client definiert die benötigten Daten in der Abfrage. Dies ermöglicht es, genau die Felder abzurufen, die benötigt werden, und verschwendet keine Bandbreite oder Radezeit für unnötige Daten.

  2. Typsystem: GraphQL definiert ein Schema, das die Datenstruktur beschreibt. Dies ermöglicht es, klar zu definieren, welche Daten abgefragt werden können und welche Beziehungen zwischen den Daten existieren.

  3. Abfragen und Mutationen: Mit GraphQL können Abfragen (Lesen von Daten) und Mutationen (Ändern von Daten) in einer einzigen Abfragegruppe zusammengefasst werden, was die Konsistenz und Leistung verbessert.

  4. Echtzeitkommunikation: GraphQL unterstützt Subscriptions, die es ermöglichen, in Echtzeit auf Änderungen zu reagieren und Push-Benachrichtigungen von Servern zu erhalten.

  5. Entwicklungswerkzeuge: GraphQL bietet leistungsstarke Entwicklungswerkzeuge wie Introspektion, die es Entwicklern ermöglichen, das Schema zu erkunden und zu überprüfen.

GraphQL wird von vielen großen Unternehmen und Plattformen verwendet, darunter Facebook, GitHub, Shopify und mehr. Es hat sich als eine leistungsfähige Alternative zu traditionellen REST-APIs erwiesen und wird oft in modernen Anwendungen und Diensten eingesetzt, um die Effizienz und Flexibilität der Datenabfrage und -manipulation zu verbessern.