Eine Auswahl von Tools, die dank WebAssembly jetzt im Web verfügbar sind.
Mit WebAssembly können Entwickler neue leistungsstarke Funktionen aus anderen Sprachen in das Web einbinden. In den letzten Jahren haben Entwickler diese Möglichkeiten wirklich genutzt. In diesem Beitrag werden nur einige der neuen Tools vorgestellt, von denen Sie profitieren können – teilweise dank WebAssembly.
Tools und Bibliotheken, die Sie jetzt verwenden können
Aber jetzt geht es los! :D
SQLite
Diese vollständige Portierung von SQLite bietet ein schlankes, eingebettetes relationales Datenbankverwaltungssystem. Weitere Informationen zu diesem unglaublichen Anschluss und seiner Verwendung findest du in diesem Blogpost.
FFmpeg.wasm
FFmpeg ist ein kostenloses Open-Source-Softwareprojekt, das eine Reihe von Bibliotheken und Programmen für die Verarbeitung von Video-, Audio- und anderen Multimediadateien und ‑streams umfasst. Hier finden Sie eine kompilierte WASM-Version (GitHub-Repository), mit der Sie alle diese Funktionen direkt im Browser nutzen können.
Universal Scene Description (USD)
Universal Scene Description (USD) ist ein Framework für 3D-Computergrafikdaten, das sich auf Zusammenarbeit, nicht destruktive Bearbeitung und die Möglichkeit mehrerer Ansichten und Meinungen zu Grafikdaten konzentriert. Es ist ein Branchenstandard, der von Unternehmen wie Pixar, Autodesk und Nvidia unterstützt wird. Der Websupport befindet sich noch in der Anfangsphase, aber Autodesk hat bereits einen webbasierten USD-Viewer als Open Source veröffentlicht, den Sie hier finden.
CanvasKit
CanvasKit ist Skia, die Rendering-Engine von Chrome und Android, die direkt in WebAssembly kompiliert wird. Sie erhalten damit über eine einfache JavaScript API Zugriff auf praktisch die gesamte Leistung der Skia-Rendering-Engine. Zu den Funktionen gehören komplexes Rendering, Textgestaltung, Animation und Zeichnen. Weitere Informationen finden Sie im npm-Paket und in der Kurzanleitung.
TensorFlow.js
TensorFlow.js bringt die Leistung von TensorFlow mit einer einfachen JavaScript-API direkt in den Browser. Im Hintergrund werden Modelle sowohl auf der GPU als auch auf der CPU optimiert (einschließlich SIMD-Optimierungen), um die Leistung zu maximieren. Sehen Sie sich den Einstiegsleitfaden oder einige Demos an.
OpenCV
OpenCV ist ein Branchenstandard für Programmierfunktionen, die hauptsächlich für die Echtzeit-Computer Vision verwendet werden. Hier finden Sie ein einfaches npm-Paket. Für Emscripten-Nutzer gibt es auch eine detaillierte Anleitung für einen vollständigen Build. Wie SIMD und Threads die Leistung dieser Arbeitslasten verbessern, sehen Sie in diesem Abschnitt des Vortrags zum Thema „Modern WebAssembly“ auf dem Chrome Dev Summit.
Cocos
Cocos ist eine leistungsstarke und beliebte Game-Engine, mit der Entwickler plattformübergreifende Spiele entwickeln können. Dazu gehört jetzt auch das Web. Es reiht sich in die lange Liste der Game Engines ein, die den Webexport über wasm ermöglichen. Öffnen Sie dazu den Cocos-Editor und folgen Sie dieser Anleitung.
Fazit
Neben diesen konkreten Beispielen gibt es noch viele weitere Gründe, sich auf WebAssembly zu freuen, da es das Tempo neuer Webfunktionen verändern kann. Chrome hat sogar den Advanced Web Apps Fund eingerichtet, mit dem Entwickler ihre Arbeit finanzieren können, um die Webfunktionen für alle Entwickler zu verbessern.
Hero-Image von Pexels, von Ann Marie Kennon