Frontend Design, React, and a Bridge over the Great Divide
Frontend design is a full-time job and should be treated as such.
Responsive deliverables should look a lot like fully-functioning Twitter Bootstrap-style systems custom tailored for your clients’ needs.
So with directly consumable UI components in mind, here’s my updated take on Dave’s words of wisdom:
Frontend design deliverables should look a lot like fully-functioning React Bootstrap-style systems custom tailored for your clients’ needs.
directly consumable UI components serve as a bridge between The Great Divide.
Create a library of presentational UI components that are packaged up to be consumed by other developers. Author and document a robust, intuitive component API for each presentational component so developers consuming the component can easily plug whatever they need into to it Determine how flexible or rigid the component library should be, working with developers to understand how open/composable or rigid/locked down each component should be. Maintain the presentational components as a product, meaning I have to handle versioning, deploying, governance, release notes and all the operational stuff goes into maintaining a software product.
bake in frontend best practices into components — This is huge and exciting. Because UI components are centrally managed, you can bake in frontend best practices into the components, and other developers get those best practices for free. I’ve written about how you can automatically generating IDs in order to create more accessible form controls. Application developers no longer have to worry about rote frontend chores and instead can focus on other more worthwhile tasks.
recognize that there is value in specialists who focus on application code or UI code.
Hire specialists that can kick ass in their respective spaces rather than only hiring generalists who can do just an okay job across the board.
Because it’s now all “just JavaScript” and “everything is a component”, it takes a lot of care and thought to create a thoughtful separation of concerns in these environments. Again, this is about nuance. I really like the idea of managing the UI component library as a separate product because it makes the split between the front-of-the-frontend and the back-of-the-frontend obvious.
Posted on August 17, 2019