Michael Chan - React Is Not a Rails Competitor


Almost seven years ago I found an opportunity to Work in rails and it was it was. It was kind of like a I. I love closing loops. And so the idea of being able to transition into rails was like a really fun like oh well a guy could actually like come back and do this and learn it and I think at that point had finally had the appreciation to realize like what rails gives you like why having a framework why having an Orem. Why having a kind of these these constraints systems or super valuable especially in like a larger team right. I think that's probably the biggest thing to have. These contracts that are core to the framework like the ideas more than the framework itself. Even is such a good place to start When you have when it's not just you coating up some site in a room but it's like you and you know three five ten one hundred other people sharing code base. Yeah so lots of conventions and stuff that just make it easier for people to sort of communicate and have established patterns for solving problems. And Yeah Yeah I. It's hard for me now so I've been The work that I do now is is shared between like rails and react so we have you know we have like a product that is like thirteen years a Do Front and Architecture at a company called Planning Center we make Church software and we have all of our. Apps are isolated rails APPs. So that's how they do all of the database connection like the the. The data mapping all that kind of stuff. We have eight of them. They're all rails on the back and then they have some amount of react on top of that For things that are like particularly complicated or interactive relationships and each APP is different. You know some of them are like you know the have like a rails router rail stack but like every route just shows a react up but then we have some that are just like you know one little complicated form is in is in mounted with react. Yeah totally yeah and the rest is just rails rendered absolutely. Yeah it's it's kind of fun to see like to see different teams working in this kind of mixed stack And seeing like people's different people's comfort level with that but it is kind of like painfully obvious like how much convention there is in rails that kind of takes you further faster and how little there is an react where you kind of have to kind of make it up as you're going along and I think for me like so much of the way that I think about the development of pages indifferent to framework is formed by like rails. Right that idea of you have like show list Yep Create update new. Destroy like that languages so baked into head at this point that I think about that for like. That's my entry point into like any view like am I doing a show view a creature. Yeah same seems weird to like not have if you're just getting into it right now to not have that right like okay. Well I'M GONNA make a new. I'M GONNA make a new page or new view. What am I gonNA? Where do I start? It's like back to the PHP days again. Right where it's like has now. I'm just making a file and can be. Yeah so the place that you work now is that. Is that the same place that you started working out with rails or did you have a couple different sales jobs. Okay God Yeah No. I've been there for seven years now and it's It's it's been interesting. I've really I've learned a lot because of that split right like so using rails as a productive framework for actually managing an application. Then doing more and more react in kind of like seeing how that transition goes between like kind of something that's may be old and But stable and something that is like new and hot but like the wild wild west So okay where I think. This conversation really gets interesting and where I really wanted to dig in with. You is when I saw some of the replies to this tweet that I I'd beginning episode a couple. People were applying the kind of snarky replies. About like how I just do like crate. React up. Now you know and One of them. Replies that you said that was create racked up is one of many ways to generate a front end up with no connection to date or service and I thought I feel like finally. Somebody's like speaking to be like. This is the thing we're trying to understand because it feels like there's this like it feels like there's a lot of conversations that happen that it's never said explicitly but implicitly. It sounds like people are often looking at tools like react as like an alternative to a tool rails which I can't figure out how that even makes any sense because it feels like they do completely different things so I'm curious to get your perspective on that. Like why is it? Like I'm seeing these conversations where people are where people sort of talk about like react as like a framework for building websites. And I'M GONNA use react instead of rails now I'm whereas clearly you're still using rails react kind of integrated day to day. So what's happening there? I think I think a lot of people. Just like to fully give into the like hype. I don't know if this is like a personal. Branding hang around like an identity thing but like people to jump headlong into like. Oh No I M react developer. Now like just create react up done like that's my framework and then like push to the side or like diminish all of the things that are not in that so it's like you know like yeah you use create reactive but like in order to make anything meaningful like you had to make decisions about how to how to get data and like if you have an existing application like you're still using the framework like you're still using that thing. I think for us. It's like I freely admit that like the the lion share of what we're doing is still rails Kennedy's kind you know. We have these cute views that said on top of it but like the majority of the work is in a different framework. And I think that people maybe aren't intellectually honest about the fact that they are they're their first and major dependency. Is this huge application. That already exists that happens to have an API. That's a lot of these people that are like a lot of people. Doing a lot of worker react you think are mostly talking to existing. Api's that kind of exist before they even made the decision to build like a new front end with reactor to build like a new APP. That talks to that suffered react. I think I think so and I mean I can't talk everybody but I know that that's that's true for us. One of the huge successes of react is that there's a it's so easy to get started with right so like if you have a real. Is that like you know the first component that we built our company. I made just for fun. We had this thing it was like we have a transporter for music. And so you can just click up and down to like kind of Gaucher's the keys or whatever. Yeah Yeah and like at the time that was like the one of three demos that were on the The react dot org website. I'll I already have it in J. Query but like I just try and react lakes this is all about and I just kind of built that one little widget and react like included. You know an unnecessary amount of javascript to do that but it was. It was so it was so easy. 'cause you just include this like you. Md on your page and then like there it is. You're using react to some degree. It gets point. Zero zero zero zero five percent of the application. But we're using react and I think that's like that's the beauty of it is that you don't have to go through and rewrite everything to start using react like and from that point on. I was like a quote unquote like react Alabama. Because that one stupid and I think that's true right. I think that is like what makes things like Reacting views the same way like really interesting exciting as and I think like If you even if you look at facebook dot com right like yes. It's not a single page APP. It's not like a react. I mean I think the new one that I think some people are starting to see now is like a full blown react. Appa grab the hotness right but Traditionally even like where react was born is still like a server rendered. Php APP with a bunch of data. That's there when you go view source and look at like the rights that came back from the server and that server rendered but it's not like server rendered react that'd be talking about wrestling or whatever it's just a no it's just. Html made by a backup

Coming up next