Ruby Video
Talks
Speakers
Events
Topics
Leaderboard
Sign in
Talks
Speakers
Events
Topics
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
RubyConf AU 2016: This presentation will be about the challenges of building large Ruby web applications and how to maintain existing ones. I will use examples adapted from real applications that I worked on during my 10 years of experience with Ruby outlining: technical limitations of the language, how to use a modular dependency structure to enforce boundaries in complex domains.
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 presentation "Build and Maintain Large Ruby Applications" at RubyConf AU 2016, Enrico Teotti discusses the complexities and challenges of developing substantial Ruby web applications. He emphasizes that there is no single tool or silver bullet for success; rather, effective application development results from a combination of team diligence, the use of local Ruby gems, and automated testing. Teotti illustrates his points with insight from his decade-long experience in Ruby development, focusing on managing complexity within applications that evolve over time. Key points from the presentation include: - The notion that while Ruby can be challenging for large applications, with the right practices, it is possible to successfully build and maintain them. - The importance of clear organization within Ruby projects, comparing Ruby files to ingredients in a recipe, which should be easy to identify for both current and future developers. - The case of Kadeem, an Italian street snack, serves as a metaphor for clarity in the development process. Teotti discusses how poor organization (grouping classes by design pattern) can hinder navigation and understanding within larger applications. - He advocates for the use of namespacing to maintain clear boundaries and reduce confusion among different components within an application. - Local Ruby gems are positioned as valuable building blocks that enhance organization and clarity, reducing cognitive overload and improving developer onboarding. - Teotti shares his experience of a real application where a lack of proper dependencies and organization led to confusion and fear among developers, ultimately resulting in changes to improve clarity. - He suggests implementing a structured dependency flow to prevent circular dependencies and to allow teams to operate more efficiently as they scale. - The talk concludes with the significance of automated testing and a culture of continuous improvement, highlighting the necessity of adopting local gems to foster productivity and learning. This presentation ultimately stresses that while Ruby has limitations, strong organizational structures, thoughtful dependency management, and a dedicated team can result in effective and maintainable large applications.
Suggest modifications
Cancel