Flexible React Components at Any Scale

I’ve been working with React components for about the last 3 years now, with a variety of different state-management conventions being employed, from internal state to object literals to Backbone models to Redux. One of the things I enjoy the most about React is the simplicity of swapping out templates based on whatever logic you want to use. You can have functions that are conditionally called and output template fragments, you can inline your logic as part of a template itself, or you can have entirely different components to render your output conditionally, based on some logic determined by a parent component.
Continue reading

Do you even learn, bro?

ES5 is fairly mainstream at this point, but a lot of real-world developers still have to deal with the likes of IE8 or other legacy support, and shims and polyfills to add missing and expected functionality. ES6 has been pretty heavily fleshed out, and is starting to gain adoption amongst some of the evergreen vendors, but still has a long way to go. ES7 is still very much in the proposal stages.
Continue reading

Evolving jQuery UI For Web Components

My job centers around writing reusable javascript components. As a result, I spend a lot of time reading, a lot of time writing code, and a lot of time revisiting those things I’ve previously written, and trying to improve upon them. In recent months, I’ve been obsessed with performance improvements, both with rendering state as well as optimizing them for the browser’s paint cycles. There are, by now, plenty of articles out there about window.requestAnimationFrame(), deferred objects and promises, development patterns, up-and-coming Web Components proposals, etc. This article is going to be an attempt to marry a lot of those disparate concepts in the context of the jQuery UI Widget Factory, which is one of the more widely used frameworks out there for reusable UI components.
Continue reading

My descent into AMD…

Asynchronous module definition. It almost sounds like something out of science fiction. What is this relatively newfangled concept, and why shouldn’t you just hike your pants up to your nipples and tell it to stay off your lawn? I, myself, had to be dragged into it kicking and screaming, and now that I’m familiar with it, I can’t imagine how we didn’t come up with the concept even sooner. Continue reading

The Javascript Console

Most web developers are familiar with some of the available developer tools out there in various browsers at this point. However, most people don’t use them anywhere near their full potential. The goal of this post is to explore the javascript console in a bit of detail, describing some of the features and techniques of using it, but without duplicating effort on the part of some other good blog posts. I’m sure I’ll miss some items that people deem appropriate or necessary, so please feel free to fill in the gaps in the comments below. I’ll mostly be speaking from the context of the Chrome developer tools, unless I specify otherwise, as I find them to be one of the more (if not the most) robust offerings currently. Continue reading

Never Stop Learning!

“It’s easy to sit there and say you’d like to have more money. And I guess that’s what I like about it. It’s easy. Just sitting there, rocking back and forth, wanting that money.” — Jack Handey

I love Jack Handey, and you know what else I love? Knowledge. Learning. Experimenting. Successes and failure both. I think it’s easy in this industry, for one to rest on his/her laurels, and not seek out any information on items outside of their immediate scope of work. I interview a lot of candidates that, when asked why they’re looking to leave their current job, or what they’re looking for in their next job, they say they’d like more opportunities to learn. Continue reading

My First jQuery Conference Presentation

So, I did my presentation for the Austin jQuery conference earlier today. Being my first time presenting at anything like this, and being fairly introverted, I think it’s being generous to say I was merely nervous. “Scared shitless” might be a more accurate phrase, which is good, because being shitless, I couldn’t crap my pants right there on stage. My voice was shaky throughout, my breathing was uneven, and I was sweating buckets by the end of it (a combination of the heat-lamp spotlight and my nerves), but I got it done, and got everything out that I wanted to say. Continue reading

To Bootstrap, or Not to Bootstrap…

We have a new product we’re apparently looking to spin off here at work, and as part of that conversation, someone threw out the words “Twitter Bootstrap“. For those of you not familiar with Bootstrap, it’s a predefined set of (both stylistic and javascript) visual components¬†and layout scaffolding that makes it fairly quick and easy to prototype websites, and is pretty snazzy in appearance to my developer’s eye, though you might hear differently from designers. Continue reading