Ruby Video
Talks
Speakers
Events
Topics
Leaderboard
Sign in
Talks
Speakers
Events
Topics
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Packing your Ruby application into a single executable by Minqi Pan Recent languages like Go compiles a project into a nice executable, why can't good ol' Ruby? We have built an packer for Ruby to do just that. It is 100% open-source, and can produce executables for Windows, macOS and Linux individually. By packing, distributing Ruby apps are made extremely easy, additionally with intellectual property protection. Auto-updating is also made easy, in that the executable only needs to download and replace itself. So, how we did it? How to use it? What goes under the hood? What future will this bring to Ruby? That's what will be unraveled in this talk!
Date
Summary
Markdown supported
In this talk presented by Minqi Pan at RubyConf 2017, the main focus is on packaging Ruby applications into a single executable for improved distribution and user experience. The video highlights a new open-source tool that simplifies Ruby application deployment by creating standalone executables for Windows, macOS, and Linux. This addresses common issues Ruby developers face when managing dependencies and installing environments across platforms, particularly emphasizing the challenges on Windows. ### Key Points Discussed: - **The Motivation for Development**: Minqi shared a personal experience of installing the GitLab CI runner, noticing its ease of deployment via a single executable created with Go. This highlighted the inefficiencies in how Ruby applications are typically distributed. - **Packaging Solution**: The Ruby Packer was introduced to compile Ruby projects into a singular executable, removing the need for users to install Ruby or manage complex dependencies. - **Deployment Features**: - Executables created with the Ruby Packer are lightweight (e.g., a GUI application compiled to around 40 megabytes). - The tool offers auto-update capabilities, enabling executables to check for and download updates automatically upon running. - **Technical Mechanism**: The speaker explained that resources are stored in a virtual file system within the executable alongside the Ruby interpreter, allowing access to the Ruby standard library without external dependencies. - **Examples and Scenarios**: Minqi demonstrated how to use the tool for compiling Ruby applications and shared experiences with packaging Rails applications to ensure smooth deployment, addressing issues like handling temporary files during execution. - **Future of Ruby Packaging**: The intent is to transition Ruby from source code distribution to streamlined executable distribution, akin to other programming languages, making it much easier for developers and end-users alike. ### Conclusions and Takeaways: - The Ruby Packer significantly simplifies the installation, update, and distribution of Ruby applications, potentially enhancing the Ruby developer experience. - The tool is openly available on GitHub, encouraging the Ruby community to adopt it for their projects. - Minqi expressed eagerness to see how developers leverage this tool in their Ruby applications, emphasizing its potential in transforming Ruby application deployment.
Suggest modifications
Cancel