Stablecoins

R in the Browser: Revolutionäre WebAssembly-Distribution für JupyterLite und Wissenschaftliches Rechnen

Stablecoins
R in the Browser: Announcing Our WebAssembly Distribution

Entdecken Sie, wie die neue WebAssembly-Distribution von R die Nutzung von R in JupyterLite ermöglicht und damit wissenschaftliche Workflows direkt im Browser skalierbar macht. Erfahren Sie mehr über die technischen Herausforderungen, innovative Lösungen und die Zukunft von R WebAssembly im Kontext moderner Datenanalyse und Jupyter-Ökosystem.

Die Welt der Datenanalyse und wissenschaftlichen Berechnungen steht vor einer bedeutenden Weiterentwicklung. Dank der neuesten Fortschritte im Bereich WebAssembly wird die Programmiersprache R nun direkt im Browser verfügbar gemacht. Dies markiert einen entscheidenden Schritt für die Nutzung von R innerhalb des JupyterLite-Ökosystems, einer browserbasierten Version von Jupyter Notebooks. Die Integration der R-Sprache in diese Umgebung eröffnet Wissenschaftlern, Lehrenden und Entwicklern völlig neue Möglichkeiten, R-Workflows ohne komplexe Installation oder leistungsstarke Serverumgebungen durchzuführen. Der Schritt, R mittels WebAssembly im Browser lauffähig zu machen, zielt auf die Skalierung wissenschaftlicher Anwendungen ab.

Klassische JupyterHub-Deployments auf Kubernetes setzen umfangreiche Serverressourcen und erfahrene DevOps-Teams voraus, um interaktive Umgebungen für viele Nutzer gleichzeitig bereitstellen zu können. Das Browser-basierte JupyterLite implementiert eine komplett andere Herangehensweise, bei der der komplette Kernel direkt im Webbrowser läuft. Dies reduziert Backend-Anforderungen drastisch und ermöglicht so eine potenziell nahezu unbegrenzte Skalierbarkeit auf Nutzerbasis. Die Integration von R in JupyterLite wurde durch das Team von QuantStack realisiert, das dank einer Förderung der Bill & Melinda Gates Foundation über das Projekt CourseKata maßgebliche Arbeiten in diese Richtung leistete. Die technische Herausforderung lag dabei überwiegend darin, das gesamte R-Ökosystem und seine Abhängigkeiten in das WebAssembly-Format zu portieren, das ursprünglich für Hochleistungs-Webanwendungen entwickelt wurde.

Ein großer Fokus lag auf der Kompilierung von Fortran- und C/C++-Code, denn insbesondere die Kernbibliotheken BLAS und LAPACK, die essenziell für lineare Algebraoperationen in R sind, enthalten umfangreichen Fortran-Code. Um diesen Herausforderungen zu begegnen, wurde die Emscripten-forge Distribution eingerichtet, eine Sammlung von conda-Paketen speziell für die WebAssembly-Plattform emscripten-wasm32. Hierbei kam eine moderne Build-Infrastruktur mit rattler-build und mamba zum Einsatz, die es ermöglicht, Pakete für WebAssembly auf konsistente und reproduzierbare Weise zu erstellen. Das Fortran-Tooling für WebAssembly wurde durch eine Kombination aus verschiedenen LLVM-basierten Compilern erweitert. Während LFortran viele Versprechen zeigt, war letztlich der Flang-Compiler das bevorzugte Werkzeug, da er eine breitere Unterstützung für Fortran bietet.

Allerdings mussten hierfür einige spezielle Patches eingebracht werden, um WebAssembly als Zielplattform zu ermöglichen und weitere Kompatibilitätsprobleme zu lösen. Die Komplexität der Portierung zeigte sich auch bei der Vielzahl der R-Abhängigkeiten. Während grundlegende Bibliotheken wie libiconv, zlib, bzip2 und pcre2 problemlos portiert wurden, stellte die Netzwerkbibliothek libcurl eine besonders große Hürde dar. Aufgrund ihrer Abhängigkeit von systemnahen Socket-Operationen ist libcurl nicht mit der Sandbox-Umgebung von WebAssembly kompatibel. Dies erforderte das Ausschalten von libcurl in der R-Distribution, was jedoch auch bedeutete, dass einige Internet-fokussierte Pakete wie etwa internet derzeit noch nicht nutzbar sind.

Die grafischen Fähigkeiten von R wurden ebenfalls berücksichtigt. So konnten wichtige Bibliotheken wie libpng, libtiff, cairo und pango erfolgreich für WebAssembly aufbereitet werden, was die Darstellung von Grafiken und Diagrammen innerhalb von R-Notebooks ermöglicht. Besonders aufwendig war die Cross-Kompilierung von glib, einer zentralen Abhängigkeit von cairo und pango, die dank gezielter Patches und der Deaktivierung von Multithreading in dieser speziellen Umgebung möglich wurde. Der eigentliche Bauprozess von R unter WebAssembly zeichnet sich durch einen zweiphasigen Cross-Compile-Ansatz aus. Aufgrund des Bootstrapping-Mechanismus von R, bei dem zunächst eine minimal lauffähige Version erstellt wird, die dann weitere Build-Schritte ausführt, müssen zunächst Linux-Binärdateien für R auf dem Hostsystem gebaut werden.

Diese dienen dann dazu, die WebAssembly-Version zu generieren. Ein besonderes Problem dabei war das Erzeugen von internen Datenbankdateien und Indexen innerhalb von R-Paketen, was einen aufwändigen Austausch von Bibliotheken zwischen den Plattformen erforderlich machte. Neben der Kern-Distribution sind eine Vielzahl von R-Paketen für WebAssembly portiert worden. Dank der Nähe zu conda-forge, einem der größten Paketmanagement-Ökosysteme, konnten viele rein in R geschriebene Pakete ohne weitere Anpassungen genutzt werden. Für Pakete mit kompilierungsbedürftigem Code wurden spezifische Rezepte erstellt.

Damit steht Anwendern eine breite Palette an Funktionen zur Verfügung, die von Datenmanipulation über graphische Darstellungen bis hin zu statistischen Methoden reicht. Neue Pakete können durch die Community eingebracht werden, was eine stetige Erweiterung und Aktualisierung ermöglicht. Um die Interaktivität in der JupyterLite-Umgebung zu gewährleisten, kommt der Xeus-R Kernel zum Einsatz. Er stellt eine moderne Implementierung des Jupyter-Protokolls für R dar, basierend auf der C++-Bibliothek Xeus. Im Gegensatz zum verbreiteten IRkernel, welches auf ZeroMQ basiert, ist Xeus-R speziell für die Integration mit JupyterLite ausgelegt.

Dabei werden umfangreiche Display-Funktionalitäten durch die Nutzung der bekannten R-Pakete IRdisplay und repr sichergestellt, sodass die Nutzer ein ebenso reichhaltiges und vertrautes Interface erhalten. Die Paketverwaltung im Browser wird über das innovative mambajs realisiert, eine Javascript-basierte Umsetzung des mamba-Package-Manager-Stacks. Dadurch können conda-Pakete direkt im Frontend heruntergeladen und in das speicherinterne Dateisystem von JupyterLite eingebunden werden. Das ermöglicht flexible Anpassungen und Erweiterungen der Arbeitsumgebung für Endnutzer ohne serverseitigen Aufwand. JupyterLite selbst wird bereits als integraler Bestandteil großer Projekte genutzt, darunter die Startseite von NumPy, die SymPy-Projektseite sowie die offizielle Jupyter-Website.

Diese Anwendungen zeigen exemplarisch, wie WebAssembly Umgebungen Millionen von Nutzerinnen und Nutzern wissenschaftliche Rechenplattformen bereitstellen kann, ohne Backend-Ressourcen zu beanspruchen. Mit der R-Integration wird dieser Trend nun auf eine der meistgenutzten Sprachen im Daten- und Wissenschaftsbereich ausgeweitet. Die Zukunft von WebAssembly für R und andere Sprachen im Browser ist vielversprechend. Geplante Features für die R-Distribution umfassen zum Beispiel die Unterstützung interaktiver Jupyter Widgets, die das Nutzererlebnis weiter verbessern sollen. Zudem wird an einer Verfeinerung der Paketstruktur gearbeitet, um die Basisfunktionalitäten von xeus-r und IRkernel weiter zu synchronisieren, was eine bessere Kompatibilität und Erweiterbarkeit erwarten lässt.

Darüber hinaus wird die Paketmanagement-Infrastruktur dahingehend erweitert, dass die dynamische Installation von Paketen direkt im Browser möglich wird. Dies betrifft nicht nur R, sondern auch andere Xeus-Kerne wie Python und Lua, was das gesamte Ökosystem flexibler und benutzerfreundlicher macht. Die offene Natur des Projekts lädt Entwickler und Anwender gleichermaßen zur Mitgestaltung ein. Wer eigene R-Pakete benötigt oder den Build-Prozess verbessern möchte, kann sich über die Plattform emscripten-forge beteiligen. Dies stärkt die Zusammenarbeit innerhalb der Community und sorgt für eine schnelle Weiterentwicklung der Umgebung.

Die Unterstützung durch Förderstellen wie die Bill & Melinda Gates Foundation verdeutlicht, wie wichtig es ist, leistungsfähige, zugängliche und skalierbare Werkzeuge für die datenwissenschaftliche Bildung und Forschung zu entwickeln. Projekte wie CourseKata setzen diese technischen Innovationen gezielt ein, um interaktive, forschungsnahe Lehrinhalte bereitzustellen, die vielen Menschen weltweit den Zugang zu quantitative Wissenschaften eröffnen. Zusammenfassend markiert die Bereitstellung von R als WebAssembly-Distribution in JupyterLite einen Meilenstein in der Entwicklung von wissenschaftlichen Computern im Browser. Die Verbindung von moderner Compilertechnik, innovativem Package Management und Jupyter-Integration schafft eine Plattform, die Zugänglichkeit, Skalierbarkeit und Benutzerfreundlichkeit vereint. Dadurch ist es möglich, Datenanalyse, Statistik und Programmierung in R an neuen Orten und für eine deutlich größere Zielgruppe bereitzustellen.

Die Weiterentwicklung dieses Projekts verspricht, die Rolle von WebAssembly in der wissenschaftlichen Community weiter zu festigen und innovative Anwendungen über die Grenzen bisheriger Desktop-basierten Lösungen hinaus zu ermöglichen.

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

Als Nächstes
The New Amazon Robot That Can Feel What It Touches [video]
Dienstag, 17. Juni 2025. Der neue Amazon-Roboter: Wenn Maschinen fühlen lernen

Der innovative Amazon-Roboter mit taktiler Wahrnehmung revolutioniert die Logistikbranche. Mit der Fähigkeit, Berührungen zu erkennen und darauf zu reagieren, setzt er neue Maßstäbe in Effizienz und Sicherheit für Lager und Versandzentren weltweit.

Can the Anthropic computer use tool be used to play the Chrome T-Rex Runner game
Dienstag, 17. Juni 2025. Kann das Anthropic Computer-Use-Tool das Chrome T-Rex Runner Spiel autonom spielen?

Ein detaillierter Einblick in die Möglichkeiten und Herausforderungen des Einsatzes des Anthropic Computer-Use-Tools zur autonomen Steuerung des beliebten Chrome T-Rex Runner Spiels.

Coinbase CEO Brian Armstrong Believes Traditional Banks Launching Own Stablecoins 'Not Necessarily The Best' Path— Pitches USDC As Option
Dienstag, 17. Juni 2025. Brian Armstrong von Coinbase: Warum traditionelle Banken eigene Stablecoins nicht unbedingt selbst starten sollten

Brian Armstrong, CEO von Coinbase, äußert sich kritisch zu der Idee traditioneller Banken, eigene Stablecoins zu lancieren, und präsentiert USDC als vorteilhafte Alternative für mehr Interoperabilität und Netzwerkeffekte im Finanzwesen.

Bitcoin ETF inflows hit $442M on April 24 as IBIT leads – Institutional demand fuels BTC rally
Dienstag, 17. Juni 2025. Bitcoin ETF Zuflüsse erreichen 442 Millionen Dollar: IBIT führt die Rallye an – Institutionelles Interesse treibt Bitcoin Kurs nach oben

Die jüngsten Zuflüsse in Bitcoin ETFs markieren einen Wendepunkt für den Kryptomarkt und spiegeln ein wachsendes institutionelles Vertrauen wider. BlackRocks iShares Bitcoin Trust (IBIT) steht dabei im Mittelpunkt und signalisiert eine nachhaltige Nachfrage, die den Bitcoin Preis maßgeblich beeinflusst.

Bitcoin‑Boom: Goldman Sachs stockt massiv auf
Dienstag, 17. Juni 2025. Bitcoin-Boom: Wie Goldman Sachs mit massiven ETF-Investitionen den Krypto-Markt revolutioniert

Goldman Sachs setzt mit einem Großinvestment in Bitcoin-Spot-ETFs ein starkes Zeichen auf dem globalen Finanzmarkt und zeigt damit das wachsende institutionelle Interesse an Kryptowährungen. Die Entwicklungen deuten auf einen fundamentalen Wandel im Umgang großer Finanzinstitutionen mit digitalen Assets hin.

Goldman Sachs erwartet 45 % Chance auf US-Rezession und stockt Bitcoin-Position auf
Dienstag, 17. Juni 2025. Goldman Sachs prognostiziert erhöhte Rezessionswahrscheinlichkeit und setzt verstärkt auf Bitcoin

Goldman Sachs hat die Chance auf eine US-Rezession auf 45 Prozent angehoben und passt seine Wirtschaftsprognosen entsprechend an. Trotz der wirtschaftlichen Unsicherheit investiert die Bank verstärkt in Bitcoin-ETFs, was das steigende Interesse an Kryptowährungen als Absicherung widerspiegelt.

UK sets out new laws to regulate crypto exchanges and dealers
Dienstag, 17. Juni 2025. Neue Regulierungen im Vereinigten Königreich: Zukunft der Krypto-Börsen und Händler unter Kontrolle

Das Vereinigte Königreich präsentiert neue Gesetze zur Regulierung von Kryptowährungsbörsen und -händlern, um den Schutz der Verbraucher zu erhöhen und die Integrität des Finanzmarktes zu sichern. Diese Maßnahmen markieren einen bedeutenden Schritt in der Steuerung des wachstumsstarken Krypto-Sektors und setzen Maßstäbe für eine sichere und transparente digitale Finanzwelt.