Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
http://rubykaigi.org/2016/presentations/drbrain.html mruby and mruby-cli makes it possible to ship single binary command-line tools that can be used without setup effort. How can we make these easy to write too? Existing libraries for making command-line tools are built for experienced rubyists. This makes them a poor choice for porting to mruby. In this talk we'll explore how to build a command-line tool with mruby-cli along with a design and philosophy that makes it easy to create new commands and maintain existing commands even for unfamiliar developers. Eric Hodel, @drbrain Eric Hodel is a ruby committer and maintainer of many gems. He works at Fastly on the API features team maintaining and building ruby services that customers use to configure their CDN services.
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
The video titled 'Building maintainable command-line tools with mruby' features Eric Hodel discussing the advantages and methodologies of utilizing mruby and mruby-cli for creating lightweight command-line tools. Hodel, a Ruby committer and maintainer of many gems, highlights several key concepts throughout his presentation: - **Introduction to mruby**: Mruby is a lightweight implementation of Ruby, allowing developers to deploy Ruby in environments with limited resources. This makes it particularly suitable for building command-line tools that can run without the need for extensive user setup. - **Transitioning from CRuby to mruby**: Hodel discusses his experience migrating a command-line tool from CRuby to mruby, emphasizing the ease of creating a single binary executable with mruby's CLI capabilities. He outlines that while mruby offers many similarities to CRuby, developers must be cautious due to differences in the standard libraries and the absence of certain globals, which may require adjustments during the porting process. - **Building and Testing with mruby-cli**: He explains the process of using mruby-cli to manage dependencies and compile applications for multiple platforms (Linux, OS X, Windows). Hodel notes key aspects of the build system, including structured rake tasks and the challenges of cross-compiling external C libraries. - **Development Patterns and Documentation**: Hodel stresses the importance of maintaining clear documentation within command-line tools, which simplifies understanding and enhances user experience. He presents a design approach inspired by RubyGems, where subclasses help organize commands and associated tasks effectively. - **Challenges Faced**: Various challenges are noted, including debug difficulties due to inaccurate stack traces, testing setup complications, and the learning curve in adapting to the differences between mruby and CRuby. He provides recommendations for future improvements for both mruby and mruby-cli, like better documentation, refined backtrace accuracy, and enhanced integration processes. - **Conclusion and Key Takeaways**: Hodel concludes with the perspective that mruby CLI allows Ruby developers to leverage their existing knowledge to build efficient command-line tools without needing to learn a new programming language. He urges developers to consider adopting mruby for its capacity to maintain clean and manageable command-line solutions. This comprehensive overview emphasizes not just the technical capabilities of mruby, but practical insights towards making command-line tool development more accessible and maintaining high software quality.
Suggest modifications
Cancel