Truly Plug and Play?
A React UI Kit Review
Valerie Kraucunas
Overview
- Why use a UI kit/library?
- What I'll be assessing
- To the kits!
- Material-UI
- Semantic-UI-React
- Ant-design
- React-Toolbox
Why UI Kits?
- Fast Prototyping
- For clients who need a starting point
- Personal Projects
- "Out of the box" functionality
- Robust, responsive styles
- Lightweight >>>> Bloated

Why NOT UI Kits?
- Most are Open Source Software, and come with OSS pain points
- UX Designer might wonder why they're there
- Making decisions based on what the library has available instead of what is best for the project
- You’ll probably load too many styles, you’ll probably not use the majority of the framework at all
What will I be assessing?
- Documentation
- Bloat
- Ease of use
- 1 hour time box to incorporate the library
- Identified issues

How will I be assessing?
-
create-react-app appName (with the exception of for the Ant demo)
-
yarn eject
-
Install library
-
Follow instructions in documentation to get started with the library
Let's get to it!


3 years old
v1-beta available
Preact & React Native support coming
Material-UI
Documentation
Getting Started Guide outlines what you need to know to use MUI
Robust code examples!
npm installed*
Has explanation section for server rendering
B+
Material-UI
Bloat
30 Components, including different versions of common components like buttons
import RaisedButton from 'material-ui/RaisedButton';
// instead of
import {RaisedButton} from 'material-ui';B

Material-UI
Ease of Use
A
I didn't need to add anything to Webpack
I imported the components I needed.
They were able to be dropped in and functioned correctly immediately
Material-UI
Timebox
A+
This was my first one obviously, and I got it done in less than 45 minutes, while documenting the process, and getting interrupted halfway thru for a call
Material-UI
Identified Issues
-
The styles on the components are inline. Meaning if you want to override a style in your own CSS, you have to use !important
-
There are definitely some implications for using this library with SSR, but the info you need is documented
-
They are now working on releasing a new beta and only focused on bug fixes of the version used in this demo
-
At one point I ended up in the beta documentation and it wasn't immediately apparent
-
Out of the box dark theme doesn't appear to be color accessible
Material-UI
Overall
A-

2-3 yrs old
jQuery free
Semantic
Semantic-UI-React
Documentation
Introduction does not dive in, go to Usage
npm installed, but you bring in styles through a CDN
B
Has explanations about which versions of Webpack it works best with
Searchable, but isn't thorough
Code Examples are nice
Some of the Components aren't named recognizable things, or grouped logically
Bloat
Many Components, not always grouped logically
import { Button, List, Checkbox, Form } from 'semantic-ui-react';B-
Semantic-UI-React
Not a ton of styling, even with the CDN'd styles.
Ease of Use
B
-
I didn't need to add anything to Webpack
-
Wasn't immediately apparent you MUST bring in CDN
-
Documentation presented some challenges
-
For being such a robust library, expected a little more styling. Also, styles difficult to override.
Semantic-UI-React
Timebox
A+
-
Using some of the functional code from MUI, I completed this To Do app in 30ish minutes, took a bit more for documentation
Semantic-UI-React
Identified Issues
-
For being such a large library, I would expect some of the components to come with a bit more styling
-
Using the "as" prop can cause some difficulties for styling
-
No mentions in the documentation for SSR
Semantic-UI-React
Overall
B
Semantic-UI-React

Enterprise-class UI design language for web applications
Written in TypeScript with complete defined types.
Just over 2 years old
Ant Design of React
Documentation
The Getting Started Guide
npm install a cli just for this library, demo and professional version available
Documentation also has instructions for incorporating the library to a create-react-app
A-
Bloat
30 Components, including different versions of common components like buttons
import { Form, Input, Button, Checkbox } from 'antd';A-
Ant Design of React
Ease of Use
B
-
Because I did not use create-react-app, did take a moment to get acquainted
-
No List or List item elements
-
The demo cli at least does not create a robust app like create-react-app
Ant Design of React

Timebox
A
-
Because I created an app with a different structure compared to the others, it took a little longer to acquaint myself. Still made my time box.
Ant Design of React
Identified Issues
-
While this is advertised as an "enterprise level" UI kit, taking people away from what they "know" to do it their way
-
Does have some different elements than other kits reviewed thus far
-
Seems generally odd to offer a "demo" and "real deal"
Ant Design of React
Overall
B
Ant Design of React

CSS Modules (written in SASS), Webpack and ES6
Beta also in available
React-Toolbox
Documentation
The Getting Started Guide, but half of what you need to know is in the GitHub repo
Large disconnect, lack of explanation with Themr
npm installed
Awesome playground in the documentation to see components in real time
C
Bloat
28 Components
import { AppBar } from 'react-toolbox/lib/app_bar';B-
React-Toolbox
Ease of Use
D-
-
Needed Additional Webpack stuff?
-
Incorrect/spread out documentation
React-Toolbox

Timebox
F
-
Could not get it compile, despite many different approaches
React-Toolbox
Identified Issues
- SSR issues
- Themr madness
- Spread out documentation
- Beta vs Stable
React-Toolbox
Overall
F
React-Toolbox

Review
- Material-UI: A-
- Semantic-UI-React: B
- Ant-design: B
- React-toolbox: F


THANK YOU!
Valerie Kraucunas
Slack: @vkraucunas
Email: valeriekraucunas@gmail.com
I'm Looking for Work!!
Truly Plug and Play? A React UI Kit Review
By Valerie Kraucunas
Truly Plug and Play? A React UI Kit Review
9.19.2017 - React Denver Meetup
- 744