Leanpub Header

Skip to main content

U&I with React

On building U&I components with React

UI development has undergone a major transformation with modern frontend technologies. This book guides readers from the foundational building blocks of creating well structured interfaces to a list of different philosophies for creating modular, extendable and scalable U&I — UI intended for all developers, like you and I.

Free With Membership

With Membership

Free!

$14.99

You pay

$14.99

Author earns

$11.99

Packages

Details
$

...Or Buy With Credits!

You can get credits monthly with a Reader Membership
PDF
EPUB
WEB
173
Pages
About

About

About the Book

Frontend development has undergone a major transformation with modern frontend technologies, such as React, Angular, Vue, and so forth. This is largely due to the wide adoption of component-based architecture provided by these wildly successful technologies.

This book aims to not only guide readers from the foundational building blocks of creating well structured interfaces but also provide an exhaustive list of different philosophies for creating modular, extendable and scalable U&I — i.e. UI intended for all developers, like you and I.

This book is ideal for developers who are familiar with React and are looking for a comprehensive guide for building modular, extendable and scalable user interfaces. Even though this book is intended for intermediate to advanced React developers, anyone new to React can easily follow along given the progressive format of this book where each chapter builds on the chapters before.

Topics

Even though the concepts in this book are taught via React, they are transferable to other frontend technologies. I chose React as our base because of simplicity, wide adoption, and undeniable power that it provides.

Chapter 1: Introduction

Explains a brief history of web development and the rise of component-based architecture.

Chapter 2: What is U&I?

Provides an in depth view of U&I and the criteria for building them.

Chapter 3: Getting Started

Outlines some of the base technologies we'll be using and then walks us through setting up a boilerplate codebase.

Chapter 4: Building our App

Guides us through building the foundation of our application.

Chapter 5: Using U&I Concepts

Guides us on refactoring our application using U&I best practices.

Chapter 6: Exploring CSS Preprocessors

Explains CSS preprocessors and guides us on refactoring our interface using Sass.

Chapter 7: Exploring CSS Modules

Introduces CSS modules and guides us on refactoring our interface using CSS modules.

Chapter 8: Exploring Inline Styles

Takes us on a journey through inline styles and guides us on refactoring our application using this dated philosophy in a modern setting.

Chapter 9: Adding Real Time Capabilities

Introduces an entirely new perspective of looking at interactive interfaces and helps bring our application to life with real time capabilities.

Chapter 10: Showcasing

Guides us on how we can build, document and showcase our components in an isolated environment.

Chapter 11: Looking Ahead

Compares the various methodologies covered throughout this book, with a glimpse into the future of UI development.

Share this book

Packages

Pick Your Package

All packages include the ebook in the following formats: PDF, EPUB, and Web

Student

Minimum price

Suggested price$9.99

Are you a student or a beginner to web development? You can pay whatever you want for the book to get started.

Free!

    Developer

    Minimum price

    Suggested price$14.99

    Are you a professional developer? You can support the book with a nominal price.

    Free!

      Author

      About the Author

      Farhad Ghayour

      Farhad Ghayour is a technology consultant based out of San Francisco, California, where he helps transform Fortune 500 companies worldwide.

      Currently, he is focused on technology solutions at the intersection of computer graphics, vision, and machine learning. Previously, he was a core contributor to a leading open-source WebGL engine, lead engineer at various startups around the world, a philosophy teacher, a serial entrepreneur, and an investment banker.

      He is passionate about all things philosophy, math, code, and design. When he is not working, you can either find him racing cars or trying out new Chinese hotpot restaurants—most likely, hotpot.

      Twitter: @farhadg_com

      GitHub: github.com/farhadg

      LinkedIn: linkedin.com/in/farhadg

      Website: farhadg.com

      Contents

      Table of Contents

      Profile

      1. About the Author
      2. Contact Details

      Preface

      1. Topics
      2. Chapter 1: Introduction
      3. Chapter 2: What is U&I?
      4. Chapter 3: Getting Started
      5. Chapter 4: Building our App
      6. Chapter 5: Using U&I Concepts
      7. Chapter 6: Exploring CSS Preprocessors
      8. Chapter 7: Exploring CSS Modules
      9. Chapter 8: Exploring Inline Styles
      10. Chapter 9: Adding Real Time Capabilities
      11. Chapter 10: Showcasing
      12. Chapter 11: Looking Ahead
      13. Requirements
      14. Audience
      15. Conventions
      16. Example Code
      17. Feedback
      18. Errata
      19. Piracy
      20. Contributions
      21. Questions

      Chapter 1: Introduction

      1. A Brief History of Web Development
      2. Inline Styles
      3. Internal CSS
      4. External CSS
      5. CSS Classifiers
      6. A Necessary Change
      7. The Rise of Components
      8. Summary

      Chapter 2: What is U&I?

      1. UI Components
      2. U&I Components
      3. Sample U&I Contract
      4. No global namespace
      5. Unidirectional styles
      6. Dead code elimination
      7. Minification
      8. Shareable constants
      9. Deterministic resolution
      10. Isolation
      11. Extendable
      12. Documentable
      13. Presentable
      14. Summary

      Chapter 3: Getting Started

      1. Tools
      2. Webpack
      3. Modern JavaScript with Babel
      4. JSX
      5. ESLint
      6. Others
      7. Our Project
      8. Boilerplate
      9. Overall Structure
      10. A Clean Slate
      11. Summary

      Chapter 4: Building our App

      1. First pass
      2. Styling our App
      3. Summary

      Chapter 5: Using U&I Concepts

      1. Organization
      2. Necessary Components
      3. On <App />
      4. On <TodosList />
      5. On <TodosListItem />
      6. Others?
      7. Building <TodosList />
      8. Building <TodosListItem />
      9. Considering U&I Concepts
      10. Name Spacing Components
      11. Application Name Spacing
      12. Component Name Spacing
      13. Unidirectional styling
      14. Extendibility
      15. In Action
      16. Implementing App Name Spacing
      17. Implementing Component Name Spacing
      18. Implementing Extendable & Unidirectional Styles
      19. Summary

      Chapter 6: Exploring CSS Preprocessors

      1. What is a CSS Preprocessor?
      2. Why use a Preprocessor?
      3. Meet Sass
      4. Sass in Action
      5. Configuring our Styles
      6. Refactoring <App />
      7. Refactoring <TodosList />
      8. Refactoring <TodosListItem />
      9. Enhancements
      10. On <TodosListInfo />
      11. Building <TodosListInfo />
      12. Summary

      Chapter 7: Exploring CSS Modules

      1. What are CSS Modules?
      2. Why use CSS Modules?
      3. CSS Modules in Action
      4. Refactoring styles/*.scss
      5. Refactoring <App />
      6. Refactoring <TodosList />
      7. Refactoring <TodosListInfo />
      8. Refactoring <TodosListItem />
      9. Suggested Exercise
      10. Summary

      Chapter 8: Exploring Inline Styles

      1. What are Inline Styles
      2. Inline Styles in Action
      3. Configuring our Styles
      4. Refactoring <App />
      5. Refactoring <TodosList />
      6. Refactoring <TodosListInfo />
      7. Refactoring <TodosListItems />
      8. Inline Styles Enhanced
      9. What is Radium?
      10. Radium in Action
      11. Configuring our Styles
      12. Refactoring <App />
      13. Refactoring <TodosList />
      14. Refactoring <TodosListInfo />
      15. Refactoring <TodosListItems />
      16. Suggested Exercise
      17. Summary

      Chapter 9: Adding Real Time Capabilities

      1. What is Theme Wrap?
      2. Theme Wrap in Action
      3. Refactoring <App />
      4. Refactoring <TodosList />
      5. Refactoring <TodosListInfo />
      6. Refactoring <TodosListItem />
      7. Dynamic Theme
      8. Mixins
      9. Summary

      Chapter 10: Showcasing

      1. What is Storybook?
      2. React Storybook in Action
      3. Documenting <TodosList />
      4. Documenting <TodosListInfo />
      5. Documenting <TodosListItem />
      6. Summary

      Chapter 11: Looking Ahead

      1. Explorations
      2. CSS Next
      3. CSS in JS
      4. Hardware Accelerated UI
      5. Conclusion

      The Leanpub 60 Day 100% Happiness Guarantee

      Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

      Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

      You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

      So, there's no reason not to click the Add to Cart button, is there?

      See full terms...

      Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

      We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

      (Yes, some authors have already earned much more than that on Leanpub.)

      In fact, authors have earned over $14 million writing, publishing and selling on Leanpub.

      Learn more about writing on Leanpub

      Free Updates. DRM Free.

      If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

      Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

      Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

      Learn more about Leanpub's ebook formats and where to read them

      Write and Publish on Leanpub

      You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

      Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

      Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

      Learn more about writing on Leanpub