Ruby on Rails is good at generating vanilla HTML and JSON, but a good website requires visual appeal, intuitive interactions, and a reliably positive user experience.

How does Chip rate his own front-end abilities?

1 Answer

As a solo developer, Chip had to interact with the whole stack. It's great that Ruby on Rails just handles the server and data flow automagically, but if the site looks terrible and is difficult to navigate even the developer won't want to use it.

In the early days of Rails 3, Chip tasked himself with writing most of his own CSS so as to better understand the concepts.
Rails (and Ruby even more so) seemed like it could be very mysterious "under the hood" and Chip wanted to take a different approach with CSS: learn the hard way instead of relying on magic methods.

Chip doesn't always choose to learn via the lower-level instead of the higher, more abstracted path. Some abstractions help by removing pain; some only delay pain:
  • He got comfortable with jQuery before tackling Javascript
  • He used CoffeeScript for much longer than he probably should have
  • He discovered Haml and hasn't looked back (or at raw HTML if he can avoid it)

These experiences taught him when to utilize abstraction layers and when to roll up your sleeves.

Chip has used a lot of tools for front-end work:
  • Boostrap (v1.3 and up)
  • Material (Google's confidently named blue ribbon)
  • Stacks (ala StackOverflow, for this little project)
  • Stimulus (learned it just for this!)
  • Rails UJS (he really loved and misses it)
  • JQuery (maybe too much)
  • Datatables
  • ActionText
  • SimpleForm
... and probably a few more he's either forgotten about to the sands of time.

And at the more base-level Chip is comfortable enough with client-side tools to ingest data from an API, add Javascript-based interactive elements, draw SVGs, and even make some flexboxes and grids.

As many can attest, however, knowing how to do art is not the same as being an artist.

Chip is more akin to Randal Monroe than Bob Ross. Somebody else better tell him where to put the happy little trees.