profile

Fullstack Ruby

Design Patterns on the Frontend and You

Published about 2 years ago • 1 min read

Hello Ruby friends!

March seemed to run away from me, but I'm back on the scene and letting you know about not one, but two new resources published on Fullstack Ruby! Before we get into that however, I'd like to mention I'll be attending RailsConf 2022 in Portland, Oregon next month. If you plan on being there as well, I'd love to meet up with you! (email me to let me know!)

Now on with the news:

Podcast Episode 4: Design Patterns on the Frontend, History of MVVM, Web Components, and You

Design patterns on the frontend: this is a subject far too little discussed from what I can tell, yet with a fundamental awareness and regular usage of design patterns, you can dramatically uplevel your frontend code. Rubyists in particular will have a major leg up here over devs coming from communities which are more FP (functional programming) in nature, because the view layer of the web is inherently object-oriented.

Ready for a deep dive into the history of object-oriented views (predating the web!) and how we got to the modern web components world of today? Listen to the show!

Article: Transform Your Data Object-Oriented Style with Formatters

I admit it. I’m a design pattern nerd. I’ve been a massive fan of object-oriented design patterns ever since I read Patterns of Enterprise Application Architecture in the mid-2000s. One of the aspects which first drew me to Ruby, via Rails, was the in-depth adoption of so many of these patterns and how easy it is to write elegant Ruby code using OOP (Object-Oriented Programming) design patterns.

In this article, I talk about a variant of the Template Method design pattern I’ve used in a number of scenarios. I don’t know of a formal name for this pattern, so I like to call it the Formatter pattern. By executing a sequence of formatters, you achieve a process which I think of as a data pipeline. The data pipeline itself can also be represented as an object.

I truly adore this design pattern. Once you know it, you start to see its usefulness across a wide variety of scenarios, codebases, and even programming languages.

Read the Rest of the Article ▸


A little milestone to celebrate before you head off: the Fullstack Ruby podcast has passed 800 downloads! By the next episode I'm hoping it'll reach 1000+. This may not seem like a lot to some of you, but it's by far the most successful show I've ever done, so I just want to say thank you to the Ruby community. Y'all are amazing. 🙏

Fullstack Ruby

The hip place to be for a groovy take on developing web apps using this plucky language.

Join 400 of your fellow Rubyists and receive fresh updates from our podcast & blog:

Read more from Fullstack Ruby

Hello Ruby friends! OK, so it's been a minute. 😅 Fullstack Ruby was on hiatus last year, and I delve into the some of the reasons why in my new blog post as well as another post on the Bridgetown website. (post link) But the TL;DR is I've found a way to thread the needle back to feeling pumped about working in Ruby and on Ruby-themed projects again—most specially around the Bridgetown ecosystem as well as Roda, Sequel, and Rodauth which are increasingly playing a role in my business to enable...

about 1 month ago • 1 min read

Hello Ruby friends! ✌🏼 I hope you had a lovely St. Patrick's Day ☘️ weekend…certainly much fun was had here in Portland, Oregon with plenty of bagpipes and beer to go around. But that's not why you're subscribed to this newsletter. So let's talk about Ruby! Signalize, a Ruby Port of Preact Signals I'm excited to announce a new gem called Signalize. It's a direct port of the JavaScript package called Signals, brought to us by the fine folks at Preact. As it says on the tin, Signalize provides...

about 1 year ago • 3 min read

Greetings fellow Rubyists & happy Friday! I've got a couple of exciting bits of news for you. Bridgetown, the Ruby-powered site generator & fullstack framework of which I am lead maintainer, just celebrated its v1.2 release. Some of the new features include a new plugin configuration format, slotted content for templates and components, easier access to front matter and site-wide data, and bunch of quality-of-life improvements to i18n, helpers, SSR, and more. But if you aren't already a user...

over 1 year ago • 1 min read
Share this post