DocuSign’s Road to React
Joe Cocco
Engineering Manager
joe.cocco@docusign.com
Claudiu Andrei
Lead Engineer
claudiu.andrei@docusign.com
Design System!
Success!
● Company wide adoption
● Consistency re-enforces trust
● Saves engineering time
Issues at scale
● Only provides CSS
● Teams still have to write HTML
● Updating classes/HTML requires a lot of work
Hello World React!
Hello React!
● Slowly introduction into existing codebases
● Helps scale our front end
● One framework to learn across all teams
Our Goal
Our Goal
● Not doing an entire refactor
● Give developers the tools to move forward
● Build new features with React
● Separation of concerns - pure presentational
components
Our Plan
Our Plan
● Shared component library
● Stateless components
● Shared eslint config
● create-docusign-app (similar to create-react-app)
● Contributors from across teams
● Quality through best practices managed by stakeholders
Hurdles
Anticipated Hurdles
● Getting existing CSS into the React repo
● Integrating React into existing applications
● Training / learning curve
Paradigm
Paradigm adoption
● React is more than the React framework
● React is a different way to think about how we build UIs
● Today most of the new frameworks adopted the React ideas
Thinking react
● Break ui into component hierarchy
● Focus on composition
● Stateless views
● Declarative everything
● Explicit
Redux
● Single source of truth
● Immutable state
● Changes are replayable (made by pure functions)
● Separation of concerns
● Move optimizations into the architecture
Incremental introduction
● You have less pressure
● You can focus on one concept at a time
● Your team can understand in depth the architecture
● Your code will be better without a major rewrite
● The adoption of the framework will be easier
The Future
The Future
● Drag and drop prototyping?
● React Native?
● Email templating?

DocuSign's Road to react