What Livewire Is All About

Oct 18 10:02

To me, Livewire is much more than the package on GitHub. It represents a change in my thinking and a prescription for the overwhelmed developer.


So before I talk about what Live Wire is all about I think it's worth noting that I don't control Live Wire Live Wire controls me. So I want Live Wire to become what it's going to become sounds kind of crazy and weird. But but really I try not to have too strict of a vision for it because. I want to be able to roll with how with what emerges you know, like as people use it as I use it the vision for it's going to change good use cases for are going to change we're going to be informed as we go so live Where could change form?

I don't know. I want it to be fluid at this point rather than you know have a very strict idea of what I wanted to be. I want it to kind of I don't know. Evolve on its own it sounds kind of weird but what is live, we're all about. So I think what I want to say here is the things about Livewire that have nothing to do with Live Wire itself.

Because Live Wire represents change in my thinking and my development habits and really a core belief that came from you've heard me say it a thousand times. My journey has been from you know little I don't know newbie developer making apps and codeigniter and jQuery and using bootstrap and admin templates and all that stuff and then.

Getting into layer cast leveling up learning object orientation feeling like a badass and then watching that view series getting into view going deep into view and feeling like a god developer. Not really but feeling like a pretty capable developer feeling like I can you know, I have a place at the at the table at meetups.

You know that are all talking about hot JavaScript things. You know, I'm in the hot JavaScript stuff and full sack and microservices and Json apis and rest and all that stuff. I don't know. I felt I felt like I don't know like that there that was in some way sort of a peek. For me, but really that I mean that that seam and it's I think a lot of people follow that same path but like, you know, and you've I started started talking about 20% time the podcast that Daniel nice to host at the time and my Lair can talk two years ago called embrace the back end where I started to really question.

Some of the ideas or some of the ways that I've been developing my apps like I'd gone a little bit too far. Everything was a jack stand. I had like separated the back and in the front end and really just ended up with apps that are just way freaking more complex than they need to be Point Blank.

And so the rest of the so the journey down from that Hill the journey sort of down from JavaScript Mountain down to reality going back to like native form submissions and blade and stuff like that little inline scripts and inline Styles and things like that. And that's where live where sort of comes in is live.

Where is just a piece of that puzzle on that journey and live or is about about the whole journey, like that's it's a tool that represents that way of thinking so I don't necessarily expect that everybody who thinks this way is going to use Live Wire because it's not for everybody. I think it solves a very specific need and it solves it really well and I think it's a good accessory tool.

Like I don't think people need to start writing their entire apps with Livewire. If you know the way I would write an app is I would start with out live wires far as I could. And then when I needed to add it, I would because you know, there is such thing. As you I demand you do need a certain level of UI fanciness to sometimes that's the that provides the best user, you know experience, but that's you know, I try to resist even live wire as complexity, you know.

Stick with straight HTML and CSS so far I can get with that native form submissions stuff like that. Then as soon as I need some Dynamic functionality. I'm not looking for a whole page reload, you know live wires away to get a quite a bit of a bang for your buck and then beyond that, you know, you know, my thoughts behind that so really what Live Wire is all about is more than then a framework that allows you to.

JavaScript type stuff in PHP and uses Ajax and whenever it's about resisting the complexity of the whole JavaScript ecosystem and it's pretty freaking ridiculous where it's gotten I think in my opinion, there's not enough voices out there. These sort of preaching the evils of I'm going to get religious about this preaching the evils of these these huge tools and these huge tools these big bad tools like react and view the things that everybody uses and every app.

It's crazy. Like all the jobs are for these tools everybody you write an app. Yeah, what are we going to write the front of know we write in react right into you? It's ubiquitous. Everybody's doing this. It's crazy. It's so crazy and people feel bad about Native form submissions. You feel like a dope.

I don't know. I there's a part of me that does and if you're what your page reloads. Like that somehow some sort of like Marv on your front end like it's not an SP a it's not buttery smooth. It's not perfectly JavaScript templated Ideal World you actually like interact with a real Dom or use a real Dom API like dot class list or something or use a polyfill or something like that.

Those things have all become. I don't know like bad in some way and that you know, these pure beautiful built everything. Modular bundle of fide webpack parcel purple blue pink I don't know react view world is that's just been created is absolutely Bonkers and there's tons of power in it. No doubt.

These paradigms are huge the things they teach us are huge. And what they can do is huge but I think honestly They're just causing more harm than good for the average web app. There is an end of the spectrum where they are a godsend and there's another end of the spectrum where they're not where they are way way Overkill and that's that's what live where is all about is that that end of the spectrum the middle ground the github's.

The base camps the I don't know the coin basis the banking apps the everything but a giant social media platform or some like desktop app style site. You know what I'm saying? Like like Pocket Casts. I don't know any like podcast management app every like 90% of the web apps that I use don't need that stuff.

And so I'm writing this talk for full stack. You called right less.js and I wrote basically dislike dashboard with like account management stuff and a bunch of forms and stuff like that. I wrote it as a view SBA just to kind of like we demonstrate to myself. What it's like, you know and man it does feel good.

Actually. It feels there's a lot about it. That feels really good. Like it's really clean. But you cannot deny the amount of extra code. I had to write the amount of code that is now untested unless I get in a JavaScript testing and the amount of logic. I have to maintain not to mention all the accessibility concerns like not adding form tags not you know modal's that are just hand-rolled without like our your labels and Aria roles and.

So many things that you're just doing yourself that I don't know. It's just crazy. So anyway, and then like the whole kind of right less.js talk for full saki you I take this app and I work it back to just plain HTML and CSS and a little bit of JavaScript and form submission stuff like that and just show how like freaking simple.

It is compared to the other way and how you get more test coverage more accessibility or usability. But it actually feels the same way like I use the app and it feels the same way. I pop in some turbolinks and I do some extra fun stuff and basically we end up with two apps that behave the exact same way except one has a whole bundle build process with npm and isn't you know, like I you know on my whole like speech like the front end stuffs not tested because it's you know, template it in JavaScript, whatever.

Anyway, that's kind of a ramble but basically. Basically, I'm just being reminded that we've been drawn in by both by half one part UI fanciness meaning like instead of just a like an input type file we have. Drop Zone JS craziness and view plugins that everything's just fancy as hell instead of just like native stuff that just works on all browsers all the time because we're kind of afraid of it or feel like it's like gross or something.

I don't know we pull in view select for the simplest things. I know I do. Yeah, so there's that. It's like one part you I Fancy Pants - and then it's one part developers liking new tools that feel Sleek clean modern ideal all of those things. They're all good feelings, like view feels very good in that way.

Where you can kind of get this just vague sense that the Dom is old school and I don't know you have to cater to Old browsers and stuff like that. Like it definitely get that there's that exists but at the end of the day like if we're talking about developer productivity. Accessibility user experience all that stuff like men.

You cannot deny the productivity gain when you step away from those big tools, and I don't know that's just been speed. It's been like drilled into my brain more and more. Yeah, so that's what live wires all about Live Wire is a piece of that of that that picture. I don't know. It's just a piece of that.

It's not the whole thing. So, it's 10 minutes. Thanks.