Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In the talk titled "RubyGems on ruby.wasm" presented by Yuta Saito at RubyKaigi 2024, the focus is on the advancements made in RubyWasm, a project that enables Ruby to run in WebAssembly environments. Saito introduces his background, including his role as a master's student and committer for the C and Swift projects. He highlights the importance of WebAssembly in the Ruby community, noting the increase in related talks at the event and the need for a Ruby ecosystem that embraces WebAssembly. The presentation covers the main components of RubyWasm, which include a Ruby interpreter compiled to WebAssembly, a packaging system, and an interlibrary for JavaScript. Saito demonstrates how Ruby can run in a web browser and interact with JavaScript, showcasing its versatility across various platforms including Docker and AWS Lambda. Saito then delves into RubyGems, explaining its critical role in the Ruby ecosystem, particularly its gem installer and runtime loader, the latter of which is now supported in RubyWasm. Key points discussed regarding RubyGems include: - **On-Demand Installation:** This method installs gems at runtime, requiring network access and is similar to Python's micropip, though it lacks first-class support due to network concerns. - **Preinstallation Support:** Preinstallation of gems allows deployment without runtime network access, enabling versions of pure Ruby and C extension gems to be bundled ahead of time, enhancing performance and deployment efficiency. The highlight of the talk is a demo where Saito showcases a Rails application (Mastodon) running in the browser, emphasizing the operational capability of Ruby in this new context. He underscores the technical challenges faced such as packaging gems, cross-compiling C extensions, and the need for linking shared libraries. Additional technical advancements discussed include: - The introduction of a new command 'rwm build' for packaging gem sources. - Enhancements to 'mkmf' for better cross-compilation support. - Development of a dynamic linking mechanism via the WebAssembly Component Model, which will streamline the build process and improve overall system performance. In conclusion, Saito emphasizes the ongoing evolution of Ruby alongside WebAssembly technologies and extends an invitation to the community to collaborate on making Ruby a more WebAssembly-friendly language. He thanks the Ruby Association for their support, highlighting a future filled with opportunities for RubyGems within the RubyWasm project.
Suggest modifications
Cancel