Four students in our remote program wanted to work with Facebook’s exciting and popular frameworks React and Flux. After tinkering with these technologies, they found that they were impressively speedy and organized, but also, like many new technologies, there were unnecessary hurdles and complexities that bogged down the process of coding and raised the barrier to entry. In response, they built Tuxedo.js, a framework on top of React and Flux. Tuxedo.js gained immediate recognition, ranking in the top three posts on the popular aggregator Hacker News, and the framework is already being used by developers in real-world projects.
“We experimented with building apps with React and Flux, which are both really performant and great frameworks that help you render information to the DOM [Document Object Model] really quickly,” explains Pat Lauer, who built Tuxedo.js with Gunnari Auvinen, Dmitri Rabinowitz and Spencer Stebbins. “That said, we found that there was a lot of unnecessary boilerplate complexity, that made it hard to get started for early adopters such as us, and so we really wanted to solve some of those pain points, but still capitalize on the performance benefits.”
The programming community immediately took to Tuxedo.js.
"Building applications with React and Flux can be a little daunting at first because there are a lot of moving parts,” says Tyler McGinnis, Lead Instructor at Dev Mountain, owner of the React.js newsletter and a Hack Reactor alum. “Tuxedo.js does a fantastic job of adding only necessary abstractions on top of Flux which makes developing quicker and arguably more enjoyable."
By abstracting regular processes used in React and Flux, Tuxedo allows for cleaner, less cumbersome code. For instance, Flux requires coders to repeatedly write out similar blocks of code.
“It’s easy to introduce bugs, because you have to move through many different files and write out all this boilerplate code,” Rabinowitz notes. “It’s a pretty fragile process.”
The team benefited from having two members, Auvinen and Rabinowitz, who were experienced with React and Flux, and two, Lauer and Stebbins, who were not. While the team could draw from Auvinen and Rabinowitz’s experience, they also had the fresh eyes of Lauer and Stebbins, who were able to identify specific pain points.
“We started by building an example chat app as a group,” Stebbins describes, “documenting pain points as we ran into them. Once we had a list of issues we prioritized them and decided which ones to tackle first.”
This exercise provided a key experience to draw from as the team built Tuxedo.js.
“I really learned the importance of the user experience,” says Lauer. “Going through these pain points [that we documented] I could ask myself, ‘does this make it easier for me two weeks ago, building this chat app?’”
Flux is especially popular for its unidirectional data flow, which allows for a more organized understanding of one’s own app or webpage. React speeds up performance by limiting interactions with the DOM.
“Because React puts everything in a virtual DOM, there are extreme benefits for client side rendering,” Stebbins notes.
“You can use React for anything,” Auvinen adds. “You can use it for an entire webpage or you can use it for a single aspect of it.”
The project capped a great experience for these four members of our second Remote Beta cohort.
“We received outstanding support from the whole Remote Beta team,” says Auvinen.
“The turnaround time on feedback was unbelievable,” adds Lauer. “It’s a testament to how great a job Hack Reactor does.”
Our remote and onsite programs are currently accepting applications, as is recently acquired MakerSquare. Apply today!