Blog Posts

Resume

More than seven months ago, after Livewire 3 was introduced to the world, I began porting this new version to Magento. I wanted to take a completely different approach with this version, having learned from the previous one that porting features can be extremely challenging when trying to adhere to Magento standards while also being tied to certain expectations set by Livewire. As a result, Magewire 1 became a strange mix where I quickly realized that making certain features compatible in a way that allowed them to evolve alongside Livewire updates was almost impossible.

To realize this new vision, I had to fully understand the architecture of Livewire 3, which led to weeks of research. Afterward, I began considering how to implement this in Magento and quickly concluded that, in some areas, I simply had to step away from the "Magento" standards. Instead, I needed to explore whether I could make Livewire 3 work within Magento. There's a long story behind this, but in short: it worked. No, it wasn’t easy, and it requires certain tools, but the result is that approximately 80% of all the code remains the original Livewire code.

Magewire 1

Magewire 1 has reached the end of its journey. Yet, it deserves full credit, as I’ve seen how this version has helped many agencies build features with minimal effort—work that would normally take hours, if not days, to complete. I still receive weekly messages from agency owners, developers, and even merchants expressing how happy they are with Magewire.

We also can’t overlook the success of Hyvä Checkout. Magewire plays a crucial role in delivering all its features. Thanks to Hyvä Checkout, Magewire has now surpassed 400,000 downloads via packages. In recent weeks, downloads have seen a significant boost, reaching around 1,500 per day. Impressive results, if you ask me, and I hope we can keep this momentum going into 2025.

Promotion

In 2024, I focused on promoting Magewire to a wider audience. As part of this effort, I had the privilege of presenting the upcoming Magewire 3 version during MageTitans in Groningen (NL). In this presentation, I gave a select group a brief look at the expected improvements and the optimizations in the pipeline. The feedback was overwhelmingly positive, providing a motivational boost to keep pushing forward.

Additionally, I collaborated with Jisse Reitsma from Yireo to organize several hackathons, bringing together Magewire enthusiasts to work on Magewire 3. The first hackathon had its challenges, as it took some adjustment—especially since Magewire 3 was still very much under development at the time. Fortunately, the second hackathon went much more smoothly, and another is already scheduled for January 2025. You can find more information about it on the Yireo website.

Currently

It has been a long journey with many obstacles to overcome to get Magewire 3 to where it is today. In the meantime, I’ve also received the wonderful news that I’m going to become a parent. As you can imagine, I haven’t been idle, and my goal is to release a first alpha version to the public before the baby arrives.

If that succeeds, the next phase will involve processing feedback and reviewing pull requests. The plan is to tag the first version in March or April. I’m optimistic this timeline is achievable, but I’ll need your help with testing to make it happen.

What to Expect

Magewire 3 takes a significant leap forward while retaining much of its backwards compatibility. However, if you've built features that push the boundaries of the architecture, some adjustments may be required. If you've primarily relied on the frontend API, changes will be minimal—for example, updating wire:model to wire:model.live, as all models will now be deferred by default.

Performance optimization has also been a key focus. Loading Layout XML is now significantly faster, and features like request bundling make this version highly efficient. Bundling is applied when a Magewire update request returns from the server and multiple components need refreshing. Previously, each component triggered a separate XHR request, but now these are combined into a single request. These optimizations address one of Magewire 1's biggest bottlenecks, giving me confidence that this challenge has been resolved.

I'm also excited to share that Magewire 3 will work natively in the admin panel. While this currently relies on a somewhat hacky implementation—due to AlpineJS not being loaded in the backend by default—I'm actively exploring ways to solidify the JS integration. The initial tests with Magewire 3 in the backend have been promising, and I’m enthusiastic about the opportunities this opens up.

Lastly, I've been developing a completely new feature called View Instructions. This allows developers to craft frontend instructions in a fluent manner using PHP. For example, you could attach a click listener to a button to trigger a specific action. While still in its early stages, this feature looks incredibly promising and will be a game-changer for both backend and frontend developers. View Instructions will be available in themes and the admin panel, making it a versatile tool for building backend-driven features.

Shout out

2024 has brought its fair share of challenges, which haven’t always allowed me to fully focus on Magewire 3. Yet, the enthusiasm of contributors and sponsors (agencies and freelance developers) has continually given me the boost to keep going.

I’ve noticed—and continue to notice—that adopting new open source techniques within our community is, to say the least, far from easy. I look forward to a future where our community becomes a even more unified bubble. There’s so much great work happening, and I hope we can come together to embrace and support these innovations rather than letting them slip by.

One of my key goals for the new year is to continue supporting this progress and fostering collaboration.

Contributions

If you’re excited and eager to contribute to Magewire 3, feel free to reach out. I’m looking for core contributors to help the framework excel and maintain its growth. It doesn’t need to be a large group—just a few individuals could add tremendous value.

Thank you!

In many ways, I’m looking forward to 2025, and I’d like to take this opportunity to wish you a Merry Christmas and a prosperous (and technically exciting) new year. Here’s to a year full of innovation!

Magewire 3 has been a work in progress for quite some time, evolving through periods of on-and-off development. While my sponsors have been receiving bi-monthly updates on the progress and upcoming features, it’s now time to share what I’ve been cooking up over the past few months with everyone else.

We held our second Magewire hackathon on Wednesday, May 29th, which I had eagerly anticipated, especially after gathering and processed the feedback from the first hackathon. Additionally, I still had one significant obstacle to overcome, and I felt it would be beneficial to address it during the hackathon, hoping that we could collectively brainstorm and find a solution. Once this obstacle is resolved, I can proceed smoothly with the current build.

Current State

It's difficult to pinpoint exactly where I am currently regarding the current status of Magewire v3. This new version cannot be compared in any way to the current Magewire version, as v3 has been completely rewritten based on the Livewire v3 architecture.

I am currently very busy working out the final architecture, which will ultimately allow me to more easily port features since the architecture is built on so called Mechanisms and Features.

Simply put, this means that the puzzle is divided into different pieces that theoretically are not dependent on each other. This may ultimately result in the fact that the first alpha release may not cover all features immediately.

Getting Together

It was great to see some familiar faces join us again. Additionally, we were fortunate to welcome some new faces, which I was pleased about. I notice that promoting Magewire is quite a challenge, as our community tends to be very cautious when it comes to new things.

We essentially picked up where we left off last time. During the last session, I noticed that installing the development version was quite a struggle. Thankfully, with the processed feedback, it went smoothly this time, and (almost) everyone could get started quickly.

I gave a brief introduction again to explain to everyone what they could work on. This could include porting features, brainstorming architectural obstacles, or simply learning from the current setup to understand the direction we are heading.

In the end, we made great progress together, and I am very pleased with the new insights, the issues we were able to tackle, and especially the camaraderie that was present.

Hopefully, we can have another hackathon soon!

Moving on

At the moment, I'm busy tackling the last obstacle, where I've unexpectedly received tremendous help from Justin van Elsts, who came up with a crucial contribution. We're currently fine-tuning this, and I expect, thanks to this contribution, to be able to make significant progress soon.

Additionally, I am forced to seek more financial resources to continue this endeavor. Over the past few months, I have invested countless hours to reach the point where it is now. It is impossible for me to keep doing this without some form of compensation. My current sponsors, Vendic and Zero-1, are already doing their best, and I hope to expand this list in the near future to create a win-win situation.

First, there's a move planned that will take up a lot of my time in the coming period. Despite looking forward to this, settled in my new home office, I will immediately continue with Magewire afterward, aiming to come up with a stable and fully backward-compatible version later this year!

We held our second Magewire hackathon on Wednesday, May 29th, which I had eagerly anticipated, especially after gathering and processed the feedback from the first hackathon.

After having a blast during the first official Magewire hackathon last April, I'm pleased to announce a second Magewire hackathon has been scheduled for May 29th. Again, together with Jisse, we've planned another hackathon to continue the path that we've endeavored during the previous hackathon. No, this certaintly doesn't mean you've missed out; it means we really encourage you to join us in hacking your way into the deep dungeons of this new version.

Previous version

I have to admit, getting everyone up to speed during the previous event was quite an undertaking. This was largely because, apart from myself, none of us had seen a single line of code from Magewire 3. As Jisse already mentioned, the codebase is vastly different from what you're familiar with in Magewire 1. Thanks to Jisse's transparency, this is due to the architectural decision I made to closely adhere to the original codebase of Livewire itself. In simple terms, I chose not to reinvent the wheel (again) but rather to aim for a true port of what was already there.

Behind closed doors

While I'm keen on involving people, I also prefer to keep some aspects behind closed doors for now. Certain elements are still subject to change, and based on the excellent feedback from the previous hackathon, I can certainly reveal more details after this second iteration. Moreover, I believe it would become overwhelming for me if I were to make everything public at this stage. It's safe to say that depending on the feedback gathered from the upcoming hackathon, I aim to unveil more about the current architecture, its advantages, and some exciting new features that accompany it.

Required knowledge

I believe it's safe to say that for those interested in joining us (again) during the hackathon, having some prior knowledge of Magewire is beneficial. I received feedback from the previous event indicating that some attendees were there to learn more about Magewire itself. This was a miscommunication on my part, and I should have clarified this better. The Magewire hackathon primarily caters to individuals who enjoy exploring how a particular framework operates and endeavor to port existing Livewire features and solutions with the assistance I can provide during the event.

See you there?

The day will start at 09:30 and conclude at 16:30.

More details can be found here.

I'm again looking forward to it immensely.

Hopefully, I'll see you there!

Excited to announce the second Magewire hackathon on May 17th! Join us with your coding prowess as we delve deeper into this new version. Don't worry if you missed the first one; it's your chance to hack your way into the deep dungeons of Magewire!

Alongside Yireo, I'm excited to announce a special Magewire hackathon scheduled for the 17th of April. Jisse has graciously offered his course space to gather with a great group of enthusiasts for a full day of hacking on Magewire. But this isn't just any version of Magewire; it's the version that remains unseen, built upon Livewire 3.x.

You read it correctly, Magewire is getting a complete new version, where I've decided to align it with the latest major version of Livewire. In other words, Magewire will skip version 2.x and be released as 3.x.

History

Over the past few months, my main focus has been on understanding the concept behind Livewire 3. Since this has become a complete rewrite, it was quite a puzzle to adapt the architecture to Magento. In comparison to the current Magewire version, I've decided to stay a lot closer to Livewire this time.
Main reason for this decision is that I've noticed porting features in the current version was always quite a challenge, encountering numerous barriers, which resulted in some features never making it through. My goal with this version is to significantly lower this threshold to simplify contributions.

Hackathon

The concept of the hackathon is to divide the participants into multiple groups according to their preferences. This setup allows for various activities, such as porting features, brainstorming sessions on the new architecture, and exploring solutions for specific challenges.
Additionally, there will be discussions on implementing unit and playwright testing. In short, there's a wide range of options available to cater to everyone's interests.

Naturally, Jisse and I will be present throughout the entire day to offer assistance and provide context to everyone. We'll kick off the day with a basic introduction to the new architecture, then break into groups to dive into the tasks, all while enjoying coffee, tea, and refreshments.
The aim of the day is to give people a unique glimpse into Magewire's future direction and actively engage them in shaping it. Ultimately, as with any hackathon, the goal is to inspire and have fun. In other words, your knowledge and experience don't matter — everyone is welcome to participate.

See you there?

The day will start at 09:00 and conclude at 17:00.

The entrance fee is 25 euros.

I'm already looking forward to it immensely. Hopefully, I'll see you there!

Join us for a special Magewire hackathon on April 17th! Dive into the unseen version built upon Livewire 3 and lets shape the future of Magewire together!