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 manage CSS separately, you can, or you could use it. And then the JavaScript aspect got replaced by Ruby. So any JavaScript logic code can always be written now with Ruby instead of JavaScript. And anything that you could do in JavaScript, you could do it with Opal Ruby.

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

If you want to manage CSS separately, you can, or you could use it. And then the JavaScript aspect got replaced by Ruby. So any JavaScript logic code can always be written now with Ruby instead of JavaScript. And anything that you could do in JavaScript, you could do it with Opal Ruby.

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

So Glimmer DSL for web is not limited whatsoever, given that you can integrate with any available JavaScript library out there. Uh, for example, I built a sample selector app that lets people visit a rails app that gives them a bunch of glimmer samples. Um, and then they select one and then they see the code syntax highlighted, and then they can launch it in the web because it's a web app.

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

So Glimmer DSL for web is not limited whatsoever, given that you can integrate with any available JavaScript library out there. Uh, for example, I built a sample selector app that lets people visit a rails app that gives them a bunch of glimmer samples. Um, and then they select one and then they see the code syntax highlighted, and then they can launch it in the web because it's a web app.

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

Uh, it's, it's a web user, like front end apps, and then they can launch it directly in the, in the browser. So the syntax highlighting aspect, I didn't have to implement it myself from scratch. I used a library called highlight JS. And I was able to like integrate it very, very quickly. Like it took me just a few minutes or maybe a bit more than 10 minutes.

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

Uh, it's, it's a web user, like front end apps, and then they can launch it directly in the, in the browser. So the syntax highlighting aspect, I didn't have to implement it myself from scratch. I used a library called highlight JS. And I was able to like integrate it very, very quickly. Like it took me just a few minutes or maybe a bit more than 10 minutes.

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

But so, yeah, so I mean, I was able to, after I experimented with the idea for quite a while, I took a page, like one of the sophisticated pages in my work website, By the way, I work for Lexop, which is a debt collection agency based in Montreal that uses web technology to reach people that are late at paying their bills, either by email or SMS messages. So we have a Rails app, basically.

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

But so, yeah, so I mean, I was able to, after I experimented with the idea for quite a while, I took a page, like one of the sophisticated pages in my work website, By the way, I work for Lexop, which is a debt collection agency based in Montreal that uses web technology to reach people that are late at paying their bills, either by email or SMS messages. So we have a Rails app, basically.

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

We're a Rails shop. And right now, we've been using React for the last number of years. But I built a proof of concept where I rewrote a React page that had table of data with pagination, sorting, and filtering. I was able to rewrite it in Glimmer DSL for Web in about one day. But also the performance was just fast enough. I didn't feel like performance was too slow or anything like that.

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

We're a Rails shop. And right now, we've been using React for the last number of years. But I built a proof of concept where I rewrote a React page that had table of data with pagination, sorting, and filtering. I was able to rewrite it in Glimmer DSL for Web in about one day. But also the performance was just fast enough. I didn't feel like performance was too slow or anything like that.

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

It was fast enough. The code was amazing. I was able to cut the total code by about half. And also the main React component was about 500 lines of code. And in Glimmer, Glimmer has a very friendly OOP approach of following MVC and MVP patterns. And with MVC and MVP, the React component mixes a lot of data concerns.

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

It was fast enough. The code was amazing. I was able to cut the total code by about half. And also the main React component was about 500 lines of code. And in Glimmer, Glimmer has a very friendly OOP approach of following MVC and MVP patterns. And with MVC and MVP, the React component mixes a lot of data concerns.

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

It has state hooks and effects, and it mixes business concerns with the presentation of the view. Whereas when I rewrote it in Glimmer, it shrunk from 500 lines to 50 lines or something like that. So it was the one, yeah, it became a 10th of the size and all of the data management stuff that React lets you do with state hooks and effects got extracted into logic and a presenter or a model.

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

It has state hooks and effects, and it mixes business concerns with the presentation of the view. Whereas when I rewrote it in Glimmer, it shrunk from 500 lines to 50 lines or something like that. So it was the one, yeah, it became a 10th of the size and all of the data management stuff that React lets you do with state hooks and effects got extracted into logic and a presenter or a model.

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

So like I had an MVP pattern where there's a view, a model and a presenter. The presenter is kind of like a controller, like MVP is a variation on MVC. But yeah, the code became a lot better because then I can manage the code with standard OOP for anything that is not view related. That's just mostly logic or

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

So like I had an MVP pattern where there's a view, a model and a presenter. The presenter is kind of like a controller, like MVP is a variation on MVC. But yeah, the code became a lot better because then I can manage the code with standard OOP for anything that is not view related. That's just mostly logic or

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

So yeah, I did a demo of this to my coworkers at work and the CTO, and they were pretty impressed. I'm going to be doing another demo soon to that engineering manager of the company and engineering department manager, sorry. And we're going to be looking into an idea for rolling it out if the demo goes well. I hope it would go well. And one idea for rolling it out is... It's not a big bang thing.

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

So yeah, I did a demo of this to my coworkers at work and the CTO, and they were pretty impressed. I'm going to be doing another demo soon to that engineering manager of the company and engineering department manager, sorry. And we're going to be looking into an idea for rolling it out if the demo goes well. I hope it would go well. And one idea for rolling it out is... It's not a big bang thing.

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

You don't have to do it everywhere at once. Like the nice thing about front ends on the web is that every web page is a self-contained front end app in a way. So that means for any new web page that we build, we could use Glimmer and keep all the older web pages and whatever old technology we had. Uh, but, but that's not even how we're going to start with it.

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

You don't have to do it everywhere at once. Like the nice thing about front ends on the web is that every web page is a self-contained front end app in a way. So that means for any new web page that we build, we could use Glimmer and keep all the older web pages and whatever old technology we had. Uh, but, but that's not even how we're going to start with it.