I Finally Feel Great About Livewire
I'm prepping for my Laracon Online talk tomorrow (and launching 1.0), and just wanted to stop for a minute and express how great I feel about the framework.
AlpineJS | Project-L | Building Trello With Livewire (My Revelation)
I'm pretty pumped about a lot of things, let me tell you about them...
Project X
A common question I get is: what do I do for small interactions like dropdowns and modals if I want to use JavaScript for them instead of Livewire. (presumably to save on network requests, or get instant feedback). Well, the answer is here: Project X
The BIG Update
Livewire just got a pretty major update. I made some tough decisions on this one, but ultimately, think we'll be better off.
Choose Invisibility
Today we talk about decisions where I choose the "invisible" option (the option that feels invisible to the user). Along the way, I discover a trade-off between "invisibility" and "transparency". It's good times.
Hard Validation Problems
Today we talk about getting past some hard validation problems. I'm really happy with the result!
Wrapping Your Arms Around A Big Tree
Sometimes, trying to work on a codebase feels like trying to wrap your arms all the way around a big tree. Today I talk about this experience and push the analogy to it's limits.
A Lovely Refactor
After being away for the Livewire codebase for a while, coming back to it was kind of painstaking. Instead of slogging through it, I decided to "make the change easy". Here's the story of a fun refactor I just made.
My Biggest Struggle As A Web Developer
The hardest thing about being a developer for me might surprise you to hear, but it's a message we all should be reminded of.
How I Cured My Fear Of Public Speaking
I've recently hit a BIG milestone in my life: I'm currently not afraid to speak in front of large groups of people. It's been a long road, but here's how I got there.
My History With The Fear Of Public Speaking
Today I talk about my long, hard relationship with speaking in front of people.
The Value Of A Reputation
Today, I reflect on the value of having a good developer reputation, and how at times I lose sight of that. If Livewire never makes a penny, it won't be at all a loss.
Using Vue With Livewire
A long long time ago, I decided Livewire needed to work well with Vue. This episode describes the journey I made to get there and my current thoughts and questions about the future. Will Livewire continue to support Vue? I'm less and less confident!
Why I Believe In Livewire
Let's get a little more concrete. Here is the actual, tangible reason I believe Livewire is extremely useful and "good" for most projects.
What Livewire Is All About
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.
Be Patient With Abstractions
There is a file in the Livewire codebase FULL of duplication. There certainly is an abstraction just begging to be made. Why can't I find it? What do I do about that?
Submit Pull Requests
Today I talk to my past self. Telling him to submit more pull-requests, and not fear being "seen" as a bad developer.
Change Your Environment (On Silencing Twitter)
Today, I talk about a significant change I made to my life: unfollow everyone on Twitter.
Open The Black Box (The Solution To My DOM Diffing Woes)
Sometimes, you just have to do the hard thing, put your thinking cap on, and open the black box. In my case, I had to really sit down and understand how Livewire's DOM-diffing algorithm works, and THEN I was able to clear my head and move forward.
SFP: The Single File Principle
Let's chat about a super practical pattern I use in everyday life. Often when I'm adding a feature or a "concern" I try to isolate the entire changeset to one file. It's surprisingly effective.
My DOM Diffing Woes
Now that you understand DOM diffing, you can commiserate with me, and help brainstorm a fork in the road I'm dealing with. Do I keep improving an existing package? Or REWRITE!!!
How DOM Diffing/Patching Works
Words like "virtual dom", "dom diffing and patching", "vDom", and "render functions" are all intimidating (spoiler: they're not actually). However, they are a HUGE part of any front-end framework, and Livewire is no exception. Therefore, we will be diving into what they mean, and how Livewire uses them, so we can lay a foundation for future episodes.
New Design Pattern: The Plugin Pattern
I'm sitting in my office, about to make a decent size refactor to Livewire's core, and thought I'd tell you about it!
Smart Polling
Livewire aims to be thrifty when it comes to resource usage (ajax requests being the biggest). Here is an example of a little feature I recently implemented with a really clever extra bit thrown in there.
Not On NPM
I want Livewire to require as little configuration as possible. The fewer things the user has to do to get up and running and productive, the better. Here is an example of a cross-roads I came to, and then how the direction I picked is telling of the framework.
The Evolution Of Validation
Often times, the obvious interface for a feature is not-so-obvious when you're writing it. The process of not settling for less is invigorating to me, and this episode is a perfect example of that.
The Evolution Of The Make Command
The "make:livewire" command is one of the first things a new Livewire user types. It feels natural, and lacking in surprise. Surprisingly, it was quite a long road that led me here. Let's walk down that road.
The Name
Naming things is really hard. Livewire is no exception. Today we'll talk about where the name came from, how it's evolved, and how it is still evolving.
But Does It Scale?
The question that has haunted me since the beginning, and how I overcame the fear of it.