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

Yeah, sure. I mean, I mean, I personally experienced building desktop apps with Glimmer for quite a while now. And it's very quick to build any idea I have. Like one day I needed the metronome. I actually play drums as a hobby. And my phone metronome app got a bug in it after the latest update. So I ended up building my own metronome with glimmer as a desktop app. And I built it.

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

Yeah, sure. I mean, I mean, I personally experienced building desktop apps with Glimmer for quite a while now. And it's very quick to build any idea I have. Like one day I needed the metronome. I actually play drums as a hobby. And my phone metronome app got a bug in it after the latest update. So I ended up building my own metronome with glimmer as a desktop app. And I built it.

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

I bet I built the first MVP version in 10 minutes. And it was like, so amazing because of Ruby. Ruby is so awesome. And so, so, I noticed that I don't have the same productivity in web front-end interface development using JavaScript, not even close. Like JavaScript is so cumbersome.

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

I bet I built the first MVP version in 10 minutes. And it was like, so amazing because of Ruby. Ruby is so awesome. And so, so, I noticed that I don't have the same productivity in web front-end interface development using JavaScript, not even close. Like JavaScript is so cumbersome.

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

Even the newest versions of JavaScript are so like over-engineered and they focus on premature optimizations that are not important whatsoever. So because of all of that, For example, JavaScript makes you worry nowadays about const versus let, which to me, as a Rubyist, that's the least of my concerns when I'm building a business app.

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

Even the newest versions of JavaScript are so like over-engineered and they focus on premature optimizations that are not important whatsoever. So because of all of that, For example, JavaScript makes you worry nowadays about const versus let, which to me, as a Rubyist, that's the least of my concerns when I'm building a business app.

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

I just want to focus on the business concerns, not on low-level details like that. They also have an import-export system, which... on the surface sounds great, but in reality, it's not like practically in Ruby, we don't, it's a lot simpler because we don't have that import export system and we don't care. Like it works fine enough for us without it. Ruby works pretty well for us.

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

I just want to focus on the business concerns, not on low-level details like that. They also have an import-export system, which... on the surface sounds great, but in reality, it's not like practically in Ruby, we don't, it's a lot simpler because we don't have that import export system and we don't care. Like it works fine enough for us without it. Ruby works pretty well for us.

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

So there are a lot of differences between JavaScript and Ruby as far as productivity. And, uh, There are huge differences. I mean, I know every once in a while DHH says online on Twitter or something that he thinks that JavaScript, after they updated it to ECMAScript, has become a great language. But honestly, I don't find it a great language at all. I think he's wrong.

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

So there are a lot of differences between JavaScript and Ruby as far as productivity. And, uh, There are huge differences. I mean, I know every once in a while DHH says online on Twitter or something that he thinks that JavaScript, after they updated it to ECMAScript, has become a great language. But honestly, I don't find it a great language at all. I think he's wrong.

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

I think he's kind of caved in to what the popular choice by people is instead of actually... being a leader and being like, no, we could do even better with Ruby. So a lot of those aspects are what prompted me to explore building a Glimmer using a front-end Ruby technology. And today in 2024, we do have front-end Ruby technologies.

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

I think he's kind of caved in to what the popular choice by people is instead of actually... being a leader and being like, no, we could do even better with Ruby. So a lot of those aspects are what prompted me to explore building a Glimmer using a front-end Ruby technology. And today in 2024, we do have front-end Ruby technologies.

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

Like we have Opal Ruby, which just won a Fukuoka Ruby Award in 2023. So it's a pretty impressive library that gives you a JavaScript to Ruby transpiler. So that way you can write code that will run as JavaScript in your website and consumers of your website will not know that it's Ruby. But you actually wrote the code in Ruby first and it got transpiled to JavaScript. So that's one technology.

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

Like we have Opal Ruby, which just won a Fukuoka Ruby Award in 2023. So it's a pretty impressive library that gives you a JavaScript to Ruby transpiler. So that way you can write code that will run as JavaScript in your website and consumers of your website will not know that it's Ruby. But you actually wrote the code in Ruby first and it got transpiled to JavaScript. So that's one technology.

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

Another one is Ruby Wasm. which compiles Ruby into like Wasm low-level code. And it basically gives you like all the features of Ruby 3.1 or 3.2 nowadays in the browser. And then there's also Ruby to JS is a third option, but that one is not as comprehensive as the first two options. I don't think you can build everything with it.

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

Another one is Ruby Wasm. which compiles Ruby into like Wasm low-level code. And it basically gives you like all the features of Ruby 3.1 or 3.2 nowadays in the browser. And then there's also Ruby to JS is a third option, but that one is not as comprehensive as the first two options. I don't think you can build everything with it.

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

But yeah, so I ended up choosing Opal as a start for building Glimmer DSL for web. And I wanted to try the idea out. I tried it out in another project. I had a project called Glimmer DSL for Opal in the past. which is retired now, it's archived. And I was able to prove to myself that I can do everything that Glimmer does on the desktop in a web user interface on the web.

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

But yeah, so I ended up choosing Opal as a start for building Glimmer DSL for web. And I wanted to try the idea out. I tried it out in another project. I had a project called Glimmer DSL for Opal in the past. which is retired now, it's archived. And I was able to prove to myself that I can do everything that Glimmer does on the desktop in a web user interface on the web.

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

And after I proved that idea, I built Dlimmer DSL for web starting last year. And it took that approach of being more friendly towards people that know HTML very well or know JavaScript or CSS very well. So it has DSLs that are very close to them, to those languages. So it basically does give you an HTML DSL, a CSS DSL, which is optional.

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

And after I proved that idea, I built Dlimmer DSL for web starting last year. And it took that approach of being more friendly towards people that know HTML very well or know JavaScript or CSS very well. So it has DSLs that are very close to them, to those languages. So it basically does give you an HTML DSL, a CSS DSL, which is optional.