Token-Verkäufe (ICO)

R im Browser: WebAssembly Distribution eröffnet neue Möglichkeiten für Datenanalyse in JupyterLite

Token-Verkäufe (ICO)
R in the Browser: Announcing Our WebAssembly Distribution

Die Integration von R in WebAssembly ermöglicht das Ausführen kompletter R-Workflows direkt im Browser über JupyterLite. Damit verändert sich die Skalierbarkeit wissenschaftlicher Berechnungen und die Verfügbarkeit von R-basierten Analysen grundlegend.

Die Evolution der Programmierumgebungen hat in den letzten Jahren einen bedeutenden Schritt mit der Nutzung von WebAssembly (WASM) erlebt. WebAssembly ermöglicht es, Programmiersprachen, die traditionell nativ auf Rechnern oder Servern laufen, performant im Browser auszuführen. Eine der jüngsten und spannendsten Entwicklungen ist die Einführung von R – einer der populärsten Statistik- und Datenanalyse-Sprachen – direkt im Browserumfeld mit der neuen WebAssembly-Distribution emscripten-forge. Diese Innovation eröffnet vor allem für die wissenschaftliche Datenanalyse und interaktive Notebooks neue Aussichten. QuantStack, ein wegweisendes Entwicklerteam, hat unter maßgeblicher Federführung von Isabel Paredes und finanzieller Unterstützung durch die Bill & Melinda Gates Stiftung intensiv daran gearbeitet, den R-Sprachumfang für JupyterLite als Browser-basiertes Jupyter-Frontend zu ermöglichen.

Unter Einsatz von Technologien wie Emscripten und einem modernen Toolchain-Ökosystem wurde der R-Interpreter für das emscripten-wasm32 Ziel kompiliert. Damit verschwinden die bislang relevanten serverseitigen Restriktionen, da die Berechnung vollständig im Browser des Endnutzers ausgeführt wird. Die Bedeutung dieser Entwicklung ist insbesondere im Vergleich zu klassischen JupyterHub-Architekturen sichtbar. Dort benötigt jeder Nutzer eine eigene Server-Session, die hohe Ressourcen beansprucht und oft einen spezialisierten DevOps-Support erfordert, um hochskalierbar zu bleiben. JupyterLite verfolgt einen grundlegend anderen Ansatz: Es bildet die komplette Entwicklungsumgebung im Browser ab und setzt dabei auf WebAssembly-Kernels.

Die Vorteile liegen auf der Hand: Jeder Nutzer kann ohne Installation oder Backend-Abhängigkeiten eigene Notebooks ausführen – eine echte Demokratisierung der wissenschaftlichen Verarbeitung und ein enormer Schritt für die Zugänglichkeit von datenwissenschaftlichen Tools weltweit. Im Gegensatz zum Fokus auf Python, die traditionell das Herzstück der Jupyter-Community bildet, ist das JupyterLite-System von Anfang an sprachagnostisch konzipiert. Die Integration von R verdeutlicht diese Strategie und zeigt, dass das Ökosystem für weitere Programmiersprachen offen ist. So wird auch das Paketmanagement auf Basis von mamba und conda-forge zu einem zentralen Baustein, der über das Python-Universum hinaus Erweiterungen erlaubt. Die Cross-Kompilierung von R-Paketen für die WebAssembly-Plattform erlaubt dabei eine flexible und modulare Entwicklung von wissenschaftlichen Umgebungen im Browser.

Die Komplexität bei der Portierung von R basiert nicht zuletzt auf der Vielzahl an notwendigen Abhängigkeiten und der Programmiersprache selbst. R verwendet zahlreiche native Bibliotheken in C, C++ und besonders Fortran – etwa bei BLAS und LAPACK für numerische Berechnungen. Das Übersetzen dieser Komponenten nach WebAssembly erforderte eine ausgefeilte Toolchain. Der traditionelle C/C++ Cross-Compiler Emscripten wurde durch die Integration der Fortran-Compiler Flang erweitert. Flang, als Teil des LLVM-Projekts, leistet den entscheidenden Beitrag, die Fortran-Abhängigkeiten zuverlässig in WebAssembly ausführbar zu machen.

Dabei mussten umfangreiche Anpassungen vorgenommen werden, die unter anderem die Codegenerierung für das WebAssembly-Ziel sowie die Datenstrukturgrößen betreffen. Diese Patches tragen nachhaltig zur Verbesserung von Flang für zukünftige Anwendungen bei. Ein weiteres technisches Hindernis war die Entwicklung einer geeigneten Laufzeitbibliothek für Fortran, die mit Emscripten kompatibel ist. Die erfolgreiche Integration von libflang sichert die korrekte Ausführung zahlreicher R-Pakete, die Fortran-Code enthalten. Die Kombination aus Cross-Compiler, Laufzeitbibliothek und fertigen Paketrezepten bildet die Grundlage für eine stabile R-Umgebung im Browser.

Doch die Herausforderung geht weit über das reine R-Basis-System hinaus. R erfordert vielfältige Bibliotheken wie libiconv, zlib, bzip2 und viele mehr, die ebenfalls für WebAssembly portiert und auf die EmScripten-Plattform angepasst werden mussten. Besonders Problematisch erwies sich libcurl aufgrund seiner socket-basierten Netzwerkarchitektur, die nicht mit der sandboxed Umgebung von WebAssembly kompatibel ist. Daher musste libcurl forciert deaktiviert werden, was Einschränkungen für bestimmte R-Pakete nach sich zieht, die auf Netzwerkzugriffe angewiesen sind. Auch grafische Fähigkeiten von R wurden mit eingebracht.

Für die Darstellung von Grafiken wurden Bibliotheken wie libpng, cairo und pango erfolgreich cross-kompiliert. Die Cross-Kompilierung von glib, einer tiefen Abhängigkeit hiervon, war aufgrund seines Threadings-Mode sehr herausfordernd. Allerdings sorgten community-getriebene Patches dafür, dass Multithreading deaktiviert wurde und Emscripten kompatibel ist. Der Bauprozess von R selbst erwies sich als besonders anspruchsvoll, da R einen sogenannten Bootstrap-Ansatz verfolgt und während des Compilierens R-Skripte ausführt, um weitere Komponenten zu generieren. Dies funktioniert normalerweise nicht in einer Cross-Kompilierungssituation, weil die erzeugten binären Dateien für WebAssembly nicht nativ auf dem Hostsystem laufen.

Deshalb wurde ein zweiteiliger Build-Prozess realisiert, bei dem zunächst R und Rscript auf dem Hostsystem erzeugt werden, um anschließend R selbst für WebAssembly zu kompilieren. Dieser Ansatz ermöglicht die korrekte Erzeugung aller internen Datenbank- und Indexdateien. Parallel dazu mussten Systemaufrufe und Features, die WebAssembly nicht unterstützt, entfernt oder deaktiviert werden. Beispielsweise wurde die Nutzung von Xlib durch cairo abgelöst, um eine funktionale Bitmap-Grafikausgabe zu gewährleisten. Insgesamt wurden verschiedene Patches angewendet, die R zur WebAssembly-fähigen Plattform umgestalten.

Die Paketvielfalt von R ist essenziell für den produktiven Einsatz. Viele Pakete sind rein in R implementiert und daher problemlos auf emscripten-forge lauffähig. Für Pakete mit kompilierter Komponente werden spezifische Rezepte entwickelt. Dank der Mitwirkung der Community stehen bereits zahlreiche populäre Pakete zur Verfügung, wodurch ein vollwertiges Ökosystem entsteht. Die meisten Pakete lassen sich problemlos mit simplen Kommandos cross-kompilieren, manche erfordern geringfügige Anpassungen.

Damit Anwender R komfortabel im Browser nutzen können, ist ein Jupyter-Kernel notwendig. Der populäre IRkernel basiert auf ZeroMQ, welches im WebAssembly-Umfeld nicht nutzbar ist. Daher wurde Xeus-R favorisiert, eine Konzeption, die auf einem nativen Jupyter-Protokoll aufsetzt und speziell für JupyterLite entwickelt wurde. Xeus-R besitzt die gleiche Funktionalität für reichhaltige Darstellungen und wird durch die Nutzung der IRdisplay und repr R-Pakete ergänzt. Das Zusammenspiel von Xeus-R und JupyterLite ist ein Musterbeispiel für moderne Softwarearchitektur, da der Kernel nicht nur mit R-Code arbeitet, sondern auch ein in-memory-Dateisystem im Browser verwaltet.

Die Installation und Verwaltung von Paketen erfolgt mit mambajs – einer JavaScript-Implementierung des Paketmanagements –, die On-Demand Pakete aus conda-Umgebungen in das JupyterLite-Dateisystem lädt. Dieses Verfahren ist äußerst innovativ und wurde maßgeblich von der Python-Community mit Pyodide inspiriert und auf R übertragen. Für die Community und Entwickler gibt es vorgefertigte Vorlagen und Tools, um eigene JupyterLite-Deployments mit dem R-Kernel und individuellen Paketen auf GitHub Pages zu erstellen. Die Anpassung erfolgt durch einfache environment.yml-Dateien, welche die gewünschten Pakete definieren.

So können maßgeschneiderte R-Umgebungen für verschiedenste Lern-, Forschungs- oder Präsentationszwecke bereitgestellt werden. Die laufende Arbeit bei QuantStack und Partnern zielt darauf ab, weitere Features in Xeus-R zu integrieren, beispielsweise interaktive Jupyter Widgets. Ebenso steht die Modularisierung der Kernkomponenten an, die eine bessere Verzahnung mit etablierten Lösungen wie IRkernel ermöglichen soll. Außerdem werden weitere Programmiersprachen unter Verwendung derselben WebAssembly-Paketmanagement-Infrastruktur vorbereitet. Diese innovative WebAssembly-Distribution von R markiert einen bedeutenden Meilenstein auf dem Weg, statistische und datenwissenschaftliche Werkzeuge weltweit einfach und ohne technischen Mehraufwand verfügbar zu machen.

Die Kombination aus moderner Compiler-Technologie, umfangreichen Paketen und einem browserbasierten Entwicklungsframework wie JupyterLite bietet Forschern, Lehrenden und Studierenden neue Möglichkeiten, Daten direkt im Browser zu analysieren und zu visualisieren, ohne sich um Installation oder Infrastruktur kümmern zu müssen. Die offene Entwicklung, bei der die Community zum Mitwirken eingeladen ist, und die Unterstützung durch Förderinstitutionen wie die Bill & Melinda Gates Foundation betonen die gesellschaftliche Relevanz der Bemühungen. Mit R in der Browserumgebung wird ein weiterer Schritt für die Demokratisierung der Datenwissenschaft und die Beschleunigung von Forschung und Lehre realisiert – eine Entwicklung, die in den kommenden Jahren sicherlich noch weitreichende konzepte prägen wird.

Automatischer Handel mit Krypto-Geldbörsen Kaufen Sie Ihre Kryptowährung zum besten Preis

Als Nächstes
Spot Bitcoin ETFs Hit $128B AUM as Crypto Funds Gain $882M; Hyperliquid Open Interest Hits $5.6B
Dienstag, 17. Juni 2025. Spot Bitcoin ETFs erreichen Rekordwert von 128 Milliarden Dollar – Kryptowährungsfonds verzeichnen massive Zuflüsse

Aktuelle Entwicklungen im Bereich der Spot Bitcoin ETFs zeigen ein starkes Wachstum mit einem neuen Rekord von 128 Milliarden Dollar verwaltetem Vermögen. Kryptowährungsfonds erfreuen sich steigender Zuflüsse, während die Handelsplattform Hyperliquid mit einem neuen Rekord im Open Interest von 5,6 Milliarden Dollar überzeugt.

BitGo Receives MiCA License From BaFin in Germany to Expand Institutional-Grade Crypto Services to Banks and Asset Managers Across EU
Dienstag, 17. Juni 2025. BitGo erhält MiCA-Lizenz von BaFin: Wegbereiter für institutionelle Krypto-Dienstleistungen in der EU

BitGo hat die begehrte MiCA-Lizenz von der deutschen BaFin erhalten, was dem Unternehmen den Eintritt in den europäischen Markt für institutionelle Krypto-Dienstleistungen ermöglicht. Dieser Schritt markiert eine bedeutende Entwicklung für Banken und Vermögensverwalter, die nach sicheren und regulierten digitalen Asset-Lösungen suchen.

 Bitcoin all-time high cues come as US-China deal sends DXY to 1-month high
Dienstag, 17. Juni 2025. Bitcoin erreicht neue Höchststände: US-China-Deal katapultiert den US-Dollar-Index auf ein Monatsmaximum

Bitcoin erlebt einen bemerkenswerten Anstieg und nähert sich historischen Höchstständen, während ein bedeutendes Handelsabkommen zwischen den USA und China den US-Dollar-Index (DXY) auf ein Monatshoch hebt. Veränderungen in diesen globalen Wirtschaftsbeziehungen beeinflussen maßgeblich die Kryptomärkte und eröffnen Investoren neue Perspektiven.

Goldman Sachs stockt Bitcoin-Wette kräftig auf
Dienstag, 17. Juni 2025. Goldman Sachs intensiviert Engagement im Bitcoin-Markt – Ein Zeichen für institutionelles Vertrauen

Goldman Sachs erweitert seine Position im iShares Bitcoin Trust deutlich und setzt damit ein starkes Signal für den Kryptowährungsmarkt. Die Investmentbank wird zum größten institutionellen Investor, was die zunehmende Akzeptanz von Bitcoin bei Großinvestoren unterstreicht.

Time For Complete Alphabet breakup To Boost Google Stock, Says Analyst
Dienstag, 17. Juni 2025. Alphabet vor der Zerlegung: Wie ein Komplettumbau den Google-Aktienkurs beflügeln könnte

Ein führender Analyst fordert die vollständige Aufspaltung von Alphabet, um den Shareholder Value von Google zu maximieren, während das Unternehmen unter kartellrechtlichem Druck steht und sich neuen Wettbewerbsherausforderungen gegenübersieht. Die geplante Aufspaltung könnte erhebliche Auswirkungen auf den Aktienkurs und die zukünftige Entwicklung des Tech-Giganten haben.

Ramit Sethi Reveals How You Can Tell If You Are In Survival Mode: 'One Unexpected Expense Can Throw Your Whole Life Into Chaos'
Dienstag, 17. Juni 2025. Ramit Sethi erklärt: So erkennen Sie, ob Sie im Finanz-Survivalmodus stecken und wie Sie herauskommen können

Erfahren Sie, wie Finanzexperte Ramit Sethi den Survivalmodus definiert, welche Anzeichen darauf hindeuten und welche Strategien Ihnen helfen können, finanzielle Stabilität zu erreichen und langfristig Vermögen aufzubauen.

Tapestry raises FY25 outlook as Q3 sales surge 7%
Dienstag, 17. Juni 2025. Tapestry mit starkem Wachstum im dritten Quartal 2025: Erhöhte Jahresprognose trotz globaler Herausforderungen

Tapestry, Muttergesellschaft von Coach und Kate Spade, zeigt im dritten Quartal 2025 beeindruckende Umsatzzuwächse und optimiert seine Jahresprognose. Die globale Expansionsstrategie und die starke Performance im Direktvertrieb treiben den Erfolg voran, trotz turbulenter Handelsbedingungen und erhöhter Zölle.