Neues Entwicklerportal für Fuchsia OS

Fuchsia OS: Entwicklerportal gestartet

Google hat ein neues Entwicklerportal für Fuchsia OS ins Leben gerufen. Unter der Website fuchsia.dev finden Programmierer umfangreiche Informationen zu dem modularen und rechtebasierten Betriebssystem. Dabei wird betont; dass Fuchsia nicht Linux ist. Die Seite bietet eine Einführung in die grundlegenden Konzepte des Mikrokernels Zircon und anderer Systemkomponenten und ebenfalls die Anbindung über gängige Programmiersprachen.



Hardware: Architektur & Entwicklersysteme


Auf der Architekturseite ist Fuchsia auf AArch64 und x86-64 ausgelegt. Bei Intel-CPUs gilt die Broadwell-Miniarchitektur als Minimalvoraussetzung. Allerdings wird Google Patches aufnehmen um die Nehalem-Architektur anzubinden. Für AMD ist kein aktiver Support vorgesehen jedoch auch dafür werden Patches akzeptiert um den korrekten Bootvorgang zu gewährleisten.


Für die konkrete Umsetzung bietet die Site eine Dokumentation zur Entwicklung auf Intel NUC-Systemen (Next Unit of Computing). Daneben findet sich eine Anleitung zur Installation von Fuchsia auf dem Pixelbook.



Programmiersprachen von C bis FIDL


Aus Entwicklersicht sind vor allem die bevorzugten Programmiersprachen interessant. Neben C/C++ sind unter anderem Rust und Go gelistet. Damit sind sowie Mozillas als auch Googles systemnahe Programmiersprache im Startaufgebot vertreten. Außerdem schickt Google Dart ins Rennen, anschließend es nach der anfänglichen Euphorie recht still geworden ist um den JavaScript-Herausforderer.


Die Dokumentation zur Python-Anbindung ist noch äußerst rudimentär und zahlreiche Unterpunkte sind als To-do gekennzeichnet. Die unter Android bevorzugten Programmiersprachen Java & Kotlin fehlen in der Liste, eine vorinstallierte JVM ist dadurch wohl kaum vorgesehen. Fuchsia ist im Übrigen explizit auf Programmiersprachenvielfalt ausgelegt. Eine eigene Rubrik der Dokumentation erklärt – ebenso wie sich die Anbindung für neue Programmiersprachen gestalten lässt.


Eine Sonderrolle kommt der eigens entwickelten Fuchsia Interface Definition Language (FIDL) zu die nicht für eigenständige Programme ausgelegt ist, allerdings zur Beschreibung von Protokollen für die Interprozesskommunikation (IPC). Aufgrund der Mikrokernelarchitektur spielt IPC eine große Rolle und FIDL soll gewährleisten. Dass Kommunikation effizient und zuverlässig abläuft und sich einfach umsetzen lässt. Ein Codegenerator erstellt die benötigten IPC-Bindings. Die Dokumentation bietet zum Einstieg ein Tutorial und einige Codebeispiele.


Binärschnittstelle, SDK & Emulator


Das Fuchsia System Interface ist die Binärschnittstelle (ABI, Application Binary Interface) zum Mikrokernel. Programme können Systemaufrufe nicht direkt im Kernel absetzen, sondern arbeiten über ein vDSO (Virtual Dynamic Shared Object). Die Kommunikation findet weitgehend über IPC-Protokolle statt und die fuchsia.io-FIDL-Library bietet zahlreiche Schnittstellen für die hauseigene Programmiersprache von Fuchsia. Das System befindet sich freilich noch aktiv in Entwicklung sodass Entwickler die ABI nicht als stabil ansehen sollten. Die Dokumentation für die Binärschnittstelle zu den Treibern war beim Schreiben dieser Meldung noch leer.


Das Fuchsia-SDK ist ähnelt modular aufgebaut wie das Betriebssystem selbst. Das Core SDK ist unabhängig vom Buildsystem und enthält Metadaten um es für ein spezifisches System über das SDK-Backend anzupassen. Da sich das SDK in Entwicklung befindet, sind bis zum Release von Fuchsia 1․0 noch zahlreiche Änderungen zu erwarten. Zum Testen von Fuchsia-Anwendungen stellt Google eine angepasste Variante des Emulators Qemu für Linux und macOS bereit.


Das alles und noch viel mehr


Auch wenn die Entwickler-Site zu Fuchsia noch zahlreiche als To-do gekennzeichnete Rubriken aufweist, bietet sie bereits einen guten Einstieg für Entwickler die sich mit dem System vertraut machen möchten. Auf der Site findet sich eine umfassende Information über den Zircon-Kern inklusive Bibliotheken für c (libc) und für die POSIX-I/O-Schnittstelle (libfdio).


Neben Informationen zum Ansprechen von Storage und für Netzwerkfunktionen gibt es eine umfassende Übersicht zu den Grafikschnittstellen, darunter den Vulkan-Treiber Magma und den Renderer Escher. Zudem findet sich auf Fuschisa.dev ein Glossar und eine Übersicht über die typischen Arbeitsabläufe zum Entwickeln von Fuchsia-Applikationen.


Zuletzt aktualisiert am Uhr



Kommentare


Anzeige