Menu
Sign In Search Podcasts Charts People & Topics Add Podcast API Pricing

Andy Maleh

👤 Person
308 total appearances

Appearances Over Time

Podcast Appearances

Ruby Rogues
Building Better Ruby Apps: Glimmer's Component Slots and More - RUBY 653

If you want to package your app as a Mac app or a Windows app, this library does have two options for doing it. Its Windows option works very well. Its Mac option is very new. There's a guy that packaged it on the Mac just a few months ago. And I documented what he did. He actually documented what he did in a blog post that I linked to.

Ruby Rogues
Building Better Ruby Apps: Glimmer's Component Slots and More - RUBY 653

If you want to package your app as a Mac app or a Windows app, this library does have two options for doing it. Its Windows option works very well. Its Mac option is very new. There's a guy that packaged it on the Mac just a few months ago. And I documented what he did. He actually documented what he did in a blog post that I linked to.

Ruby Rogues
Building Better Ruby Apps: Glimmer's Component Slots and More - RUBY 653

So it does offer some packaging options, but they're not the most complete or comprehensive today. I have other libraries like Glimmer DSL for SWT lets you package your apps as real native apps with like an EXE or MSI installer on Windows or DMG file or PKG file on Mac. or even Debian files on Linux or RPM.

Ruby Rogues
Building Better Ruby Apps: Glimmer's Component Slots and More - RUBY 653

So it does offer some packaging options, but they're not the most complete or comprehensive today. I have other libraries like Glimmer DSL for SWT lets you package your apps as real native apps with like an EXE or MSI installer on Windows or DMG file or PKG file on Mac. or even Debian files on Linux or RPM.

Ruby Rogues
Building Better Ruby Apps: Glimmer's Component Slots and More - RUBY 653

So that one, if people want to build a more serious app, I would recommend Glimmer DSL for SWT. But if they're building a very quick productivity app or small app that will show a table that is summarizing data from a database, I would recommend Glimmer DSL for LibUI.

Ruby Rogues
Building Better Ruby Apps: Glimmer's Component Slots and More - RUBY 653

So that one, if people want to build a more serious app, I would recommend Glimmer DSL for SWT. But if they're building a very quick productivity app or small app that will show a table that is summarizing data from a database, I would recommend Glimmer DSL for LibUI.

Ruby Rogues
Building Better Ruby Apps: Glimmer's Component Slots and More - RUBY 653

Yeah, one cool thing that I've been doing is actually whenever I add features to say Glimmer DSL for Live UI that I think are useful, I end up also adding them to Glimmer DSL for web. Like one such a feature is component slots. So now if I build, for example, a name and address form, like I mentioned earlier, as an example, I can provide add slots in it and people can contribute components

Ruby Rogues
Building Better Ruby Apps: Glimmer's Component Slots and More - RUBY 653

Yeah, one cool thing that I've been doing is actually whenever I add features to say Glimmer DSL for Live UI that I think are useful, I end up also adding them to Glimmer DSL for web. Like one such a feature is component slots. So now if I build, for example, a name and address form, like I mentioned earlier, as an example, I can provide add slots in it and people can contribute components

Ruby Rogues
Building Better Ruby Apps: Glimmer's Component Slots and More - RUBY 653

or like markup inside those slots. In a desktop app, there would be contributing controls. So that way people can, for example, add a message at the top of the name and address form between the name and the address that can inform people of something or they can add another form like a nested form within it or do stuff like that. So, I mean, this feature is called component slots.

Ruby Rogues
Building Better Ruby Apps: Glimmer's Component Slots and More - RUBY 653

or like markup inside those slots. In a desktop app, there would be contributing controls. So that way people can, for example, add a message at the top of the name and address form between the name and the address that can inform people of something or they can add another form like a nested form within it or do stuff like that. So, I mean, this feature is called component slots.

Ruby Rogues
Building Better Ruby Apps: Glimmer's Component Slots and More - RUBY 653

It's borrowed from the web component slots standard, like on the web and the HTML web component standard, they do have the idea of slots. So it's kind of borrowed from that. It's also borrowed from, I think, Vue component, the Rails library has slots as well. So anyways, that's something that I ended up adding to Glimmer DSL for lib UI first, and then I added it to Glimmer DSL for web.

Ruby Rogues
Building Better Ruby Apps: Glimmer's Component Slots and More - RUBY 653

It's borrowed from the web component slots standard, like on the web and the HTML web component standard, they do have the idea of slots. So it's kind of borrowed from that. It's also borrowed from, I think, Vue component, the Rails library has slots as well. So anyways, that's something that I ended up adding to Glimmer DSL for lib UI first, and then I added it to Glimmer DSL for web.

Ruby Rogues
Building Better Ruby Apps: Glimmer's Component Slots and More - RUBY 653

And it works very well because then it enables any, like if you take any component, you're not limited by what the people who built the component did in it. You can actually open it up. It follows the open-close principle. You can open any component up without touching its code. So it's closed for modification, but it's open for extension.

Ruby Rogues
Building Better Ruby Apps: Glimmer's Component Slots and More - RUBY 653

And it works very well because then it enables any, like if you take any component, you're not limited by what the people who built the component did in it. You can actually open it up. It follows the open-close principle. You can open any component up without touching its code. So it's closed for modification, but it's open for extension.

Ruby Rogues
Building Better Ruby Apps: Glimmer's Component Slots and More - RUBY 653

And you can add anything to that component in the slots that are designated for the changes for anything to add.

Ruby Rogues
Building Better Ruby Apps: Glimmer's Component Slots and More - RUBY 653

And you can add anything to that component in the slots that are designated for the changes for anything to add.

Ruby Rogues
Building Better Ruby Apps: Glimmer's Component Slots and More - RUBY 653

Nights and weekends. Especially long weekends like Labor Day weekend or whatever, any long weekends. I end up using them for this, but it's my passion project. And also, in my opinion, I really, really think the current front-end development experience in Rails is very, very bad. Every time I receive a PR on a React component at work, I'm like, wow, this code is absolutely awful.

Ruby Rogues
Building Better Ruby Apps: Glimmer's Component Slots and More - RUBY 653

Nights and weekends. Especially long weekends like Labor Day weekend or whatever, any long weekends. I end up using them for this, but it's my passion project. And also, in my opinion, I really, really think the current front-end development experience in Rails is very, very bad. Every time I receive a PR on a React component at work, I'm like, wow, this code is absolutely awful.

Ruby Rogues
Building Better Ruby Apps: Glimmer's Component Slots and More - RUBY 653

And it's the best code they could write, by the way. I'm not faulting any whoever wrote the code. It's the React way. But React's code is so absolutely awful. And I mean, so I dabbled with other approaches. Like I was going to consider recommending Svelte or Vue.js at work. But then that's when I thought about Glimmer and Ruby. And I'm like, wow, I could even do better than Svelte and Vue.

Ruby Rogues
Building Better Ruby Apps: Glimmer's Component Slots and More - RUBY 653

And it's the best code they could write, by the way. I'm not faulting any whoever wrote the code. It's the React way. But React's code is so absolutely awful. And I mean, so I dabbled with other approaches. Like I was going to consider recommending Svelte or Vue.js at work. But then that's when I thought about Glimmer and Ruby. And I'm like, wow, I could even do better than Svelte and Vue.