BeOS API – Wikipedia

before-content-x4

Das BeOS API, oft die genannt API sein Nach Be Inc. ist die Anwendungsprogrammierschnittstelle erforderlich, um grafisch native Anwendungen auf BeOS und damit auf Derivaten wie Haiku und ZETA zu schreiben.

Die API ist in eine Reihe von “Kits” unterteilt, die verwandte Klassen zusammenfassen und in irgendeiner Beziehung zur Bibliothek stehen, die den unterstützenden Code enthält.

Es handelt sich fast ausschließlich um C ++, mit Bindungen von Drittanbietern für die meisten Klassen in Python und einer winzigen Teilmenge von Klassen in Perl, die sich hauptsächlich auf Storage Kits beziehen.

Anwendungskit

Das Anwendungskit enthält die grundlegenden Klassen, die zum Starten einer BeOS-Anwendung erforderlich sind, sowie Unterstützung für die globale Zwischenablage, anwendungsübergreifende und interne Nachrichten, Zeitgeber, Dienstpläne und andere Funktionen, die zur Unterstützung jeder grafischen Anwendung erforderlich sind. Application Kit-Klassen werden von libbe.so unterstützt

Aufbewahrungskit

Das Storage Kit bietet Methoden zum Bearbeiten von Dateien, vom Erstellen und Verwalten von Symlinks bis hin zum Öffnen / Speichern von Dateien für grafische Anwendungen sowie zum Behandeln von Be File System-Attributen. Storage Kit-Klassen befinden sich hauptsächlich in libtracker.so, wobei Tracker der native Dateimanager auf dem Betriebssystem ist.

Interface Kit

Das Interface-Kit bietet eine große Sammlung von Widgets zum Erstellen grafischer Anwendungen von der Hauptfensterklasse bis hin zu Dialogfeldern, einschließlich Schrifthandhabung und Rendersteuerung. Der Großteil von libbe.so besteht aus diesem Kit.

Kernel Kit

Das Kernel-Kit bietet Threading, Semaphoren und die Möglichkeit, auf Systeminformationen zuzugreifen, und ist auch in libbe.so enthalten

Support Kit

Das Support-Kit bietet erweiterte Funktionen, die nicht ohne weiteres in ein anderes Kit fallen, z. B. unterstützte Speicherzuweisung und Listenunterstützung.

Netzwerk-Kit

Das Netzwerkkit bietet entweder eine rudimentäre (BeOS R5 und niedriger) oder eine fast vollständige (BeOS Dano und höher) Implementierung von Berkeley-Sockets und BIND sowie “native” Funktionen basierend auf der Nettle C ++ – Netzwerkbibliothek. libnet.so stellt die Berkeley-Sockets für R5 bereit, die später durch die häufigere Nomenklatur libsocket / libbind.so ersetzt werden. und libnetapi auf R5, das später durch libbnetapi ersetzt wurde, bietet die modifizierte Version von Nettle.

Mail Kit

Das Mail-Kit bietet ein natives E-Mail-Format sowie eine Möglichkeit, das System zum Abrufen und Empfangen von E-Mails mithilfe von Standardprotokollen (POP3 und SMTP) zu verwenden. Das Mail-Kit wird in libmail.so unterstützt

Übersetzungskit

Das Übersetzungskit bietet eine Methode, mit der sowohl Bilder als auch Nur-Text-Formate von Addons verarbeitet werden, sodass Anwendungen nur ein Format, ein natives Zwischenformat, unterstützen und in jedem von Addons unterstützten Format speichern / laden können. Die API ermöglicht auch Video- und Audioübersetzungen durch die Bibliothek, obwohl dies von BeOS R4 ersetzt und sofort deaktiviert wurde. Das Übersetzungskit wird in libtranslation.so unterstützt

Werbemöglichkeiten

Das Medienkit bietet eine Audio- und Video-Ein- / Ausgabe-Abstraktionsschicht, die auf steckbaren Addons basiert, sowie die Tonmischung, die Übersetzung von Audio- und Videoformaten und andere medienbezogene Funktionen. Media Kit-Funktionen werden von libmedia.so unterstützt

MIDI Kit

Das MIDI-Kit bietet eine MIDI-Hardware-Ein- und Ausgabe-Abstraktion sowie einen Software-Synthesizer (bereitgestellt von Headspace in BeOS R5). libmidi.so bietet die alte MIDI-API der BeOS R3-Ära, libmidi2.so die R4 + -API.

Game Kit

Das Game-Kit bietet eine Reihe von Soundformaten, die für die Audioausgabe von Computerspielen geeignet sind, sowie die Möglichkeit, Vollbildanwendungen auszuführen und Video-Overlays zu verwenden.

OpenGL Kit

Das OpenGL-Kit bietet eine Implementierung von OpenGL sowie unterstützende Klassen, um die Verwendung in nativen Anwendungen zu ermöglichen. In BeOS R5 war die unterstützte OpenGL-Version 1.1 und wurde durch Software beschleunigt, obwohl das Kit hardware-neutral war und tatsächlich viele Hardware-Implementierungen übertraf, die auf konkurrierenden Plattformen ausgeführt wurden, die aufgrund zugrunde liegender Ineffizienzen keine ähnliche Latenz- / Bandbreitenleistung liefern konnten in ihrer Gestaltung oder Umsetzung.[1]

Gerätekit

Das Gerätekit bietet plattformabstrakten direkten Hardwarezugriff auf serielle und parallele Ports sowie auf den berüchtigten GeekPort von BeBox.

Gebietsschema-Kit

Das Locale Kit bietet Klassen zum Lokalisieren von Anwendungen in verschiedenen Sprachen, Zeitzonen, Konventionen zur Formatierung von Zahlen usw. Das Kit ist nur in der Haiku-Implementierung der BeOS-API enthalten.

Service-Kit

Das Services Kit bietet eine einfache direkte Verbindung zu Webdiensten. Das Kit ist nur in der Haiku-Implementierung der BeOS-API enthalten.

Web Kit

Das Web Kit bietet Möglichkeiten zum Rendern von Webseiten und ist eine Abzweigung des Apple Webkit. Das Kit ist nur in der Haiku-Implementierung der BeOS-API enthalten.

Paket Kit

Das Package Kit bietet die Möglichkeit zur Paketverwaltung. Das Kit ist nur in der Haiku-Implementierung der BeOS-API enthalten.

Nicht-BeOS-Implementierungen[edit]

Der Großteil der Be-API wurde von Haiku für den Open-Source-BeOS-Ersatz neu implementiert, obwohl in dem Bestreben, die dazwischen liegenden Jahre seit BeOS R5 nachzuholen, einige zusätzliche Funktionen hinzugefügt wurden, die von großen Änderungen am Mail-Kit bis zur Unterstützung reichen IMAP, verschlüsselte Verbindungen und mehrere Konten sowie die Umstellung auf OpenGL 1.5-Unterstützung über Mesa 3D.

Alternative Systeme haben versucht, sich von der BeOS-API inspirieren zu lassen (Silbe), versuchen jedoch nicht, eine Basis für Portanwendungen bereitzustellen.

Ein privater Port eines Großteils der API auf Microsoft Windows und später Linux (unter Verwendung von GTK +) wurde von Gobe Software durchgeführt, um es ihnen zu ermöglichen, ihre Gobe Productive Office-Suite von BeOS, wo sie ursprünglich entwickelt wurde, auf diese Plattformen zu portieren.

Dokumentation[edit]

Die gesamte API wurde wie in der Phase von BeOS Revision 3 in zwei Papierbüchern dokumentiert – dem Be Developer Guide und den Be Advanced Topics, die 1997/8 von O’Reilly Media unter dem Namen Be, Inc veröffentlicht wurden. Zusätzlich wurde eine digitale Darstellung davon bereitgestellt und mit BeOS selbst aktualisiert. Im Jahr 2007 veröffentlichte ACCESS Co Ltd, die Eigentümer des geistigen Eigentums von Be, Inc, den Text unter einer Creative Commons-Lizenz.[2]

Verweise[edit]


after-content-x4