CBWIRE is a ColdBox module that makes building modern, reactive CFML apps a breeze without the need for JavaScript frameworks such as Vue or React, and without the hassle of creating unnecessary APIs.
Are you tired of the challenges that come with building modern CFML apps? ColdBox makes server-side app development a breeze, but sometimes the client-side is a whole different story. With powerful JavaScript frameworks like Vue and React, it can be a difficult and time-consuming process to create your web apps.
But what if you could have the best of both worlds: the power of Vue and React with the simplicity of CFML? Impossible, you say? Think again!
Introducing CBWIRE: Power up your CFML and make your app dreams a reality!
Let's create a counter...
Install , then from our terminal, run:
Next, add wireStyles() and wireScripts() to our layout. This is required for CBWIRE to do it's magic.
Let's also insert a counter element into the page using wire( "Counter" ).
Let's define our counter .
Finally, let's create a for our counter Wire. Notice that we've added a wire:click to our button.
Refresh the page. You now have a reactive counter that increments when you click the plus button without any page refreshing!
What!? How?
CBWIRE renders our Counter Wire template. Our counter value defaults to 0.
When a user clicks the plus button, CBWIRE detects the event and makes an XHR request to the server.
CBWIRE picks up the XHR request and invokes the increment action.
Awesome, right?
We built a reactive counter with no page refreshing.
We didn't write any JavaScript.
We didn't use webpack or mess with JavaScript compilation.
CBWIRE is transforming the way we build CFML applications, and we think you're going to love it also!
Credits
CBWIRE is built on and wouldn't exist without ( creator of , ) and the PHP community.
The CBWIRE module for ColdBox is written and maintained by , , and .
Project Support
Please consider becoming one of our lovingly esteemed .
Resources
CBWIRE Examples:
ForgeBox:
GitHub Repository:
The increment method updates the counter state by 1.
CBWIRE re-renders the template and returns the updated HTML in the XHR response
CBWIRE detects any state changes and uses Livewire to mutate the DOM.