Posts (12) in front end:

Not as you'd expect: how React persists state across renders

A few months ago we released a new version of our checkout page, one of the first Big Projects we’ve built with React. The ability to power the views by state makes it easy to reason about the various flows and has drastically improved our ability to make changes on the page. We ran into some problems when we accidentally reused the form state across multiple inputs because of how React compares virtual DOM renders. Read more

Atomic Architecture

Atomic design has a lot of strong proponents in the community and a lot of information is readily available. There is less information around how to write and structure modular code around the same pattern; it seems to me this is something a UX or design team will pick up and force their developers to find a way to make it work. In our case everyone is onboard and we want to make sure everything needed by an atom, organism, or template lives side by side. We took a few weeks to create some proof of concepts based on React, came close to breaking some promises we made to our UXers, and have arrived at a structure I call Atomic Architecture. Read more

Commanding the CLI with Node

Prior to Node v0.12, writing a command line tool in Node was a rather difficult proposition. There was no way to execute a command synchronously, so tools like ShellJS worked around this by blocking the event loop until a 'done' file was created on the filesystem signifying that the command... Read more

Learning from the Design Community

Last month I attended Mountain West JS and learned a lot from some excellent speakers. Several of the talks introduced me to new concepts or perspectives, and one in particular inspired me to think about what we do as developers in a whole new way. Whitney Williams gave a talk... Read more

DenverScript - yet another JavaScript meetup

Yes, we created another Denver JavaScript meetup. There have been similar meetups before us, but they have mostly gone inactive or focused on very broad topics that go beyond JavaScript. We wanted to create a meetup that fills a void with an active, community-driven JavaScript meetup that focuses on intermediate... Read more

Yo Dawg, I Heard You Like Blogs

When the team was getting together initially to talk about a blog redesign, three notions stood out as being most important: responsiveness, faster load time, and a join/login flow that was better integrated with the mothership. And so, when we finally started digging into (what was then) the blog’s current... Read more

Safari vs Internet Explorer :: Round 2

We are attempting to determine whether making a one-to-one comparison between Apple Safari and Internet Explorer is a fair one. That is, can we rightly use the phrase “Safari is the new IE”? Note that the parameters we’re examining are primarily related to UI/UX and Front End Development--those disciplines where... Read more

Taming DOM Events - A better way to listen for JavaScript events

How much time have you spent trying to find specific event listeners in your code? Some frameworks such as AngularJS and Ember.js have specific locations where listeners are created, usually in the framework’s controller layer. Others such as jQuery and Backbone.js let developers manage events but don’t really care where the event listeners are created. At Craftsy we used to just put event listeners in the HTML or a relevant JavaScript file already on the page. This structure - or lack thereof - led to quite a bit of wasted time; at one point I spent close to half an hour locating a specific piece of code for the “Add to Cart” button on our class pages. Read more

Safari vs Internet Explorer :: Round 1

In a previous Enginerd post, Clint Milner talked about how lucky we are that we don't have to support IE 8. But that post got us all talking about a browser that does give us a few headaches: Safari. At Craftsy, we support Safari. A lot. As of last count,... Read more

How We Won the Developer Lottery ( aka: Dropping Support for IE8 )

Microsoft's Internet Explorer - the bane of most every web developer. If it's not the security issues, it was the box model rendering issues and laundry list of hacks that are needed to get IE to render a simple page. Unless you're super lucky, more than likely you're including a... Read more