SlideShare a Scribd company logo
React UI development
introduction to
"UI Component as API”
@kitaly
Tech Talk Tokyo #5 2016-10-21
Who am I ?
• Itaru Kitagawa (twitter: @kita_ly)
• Web Front/Back-end Developer
• Scala/Play
• SPA with Angular/React
• Recently obsessed with
• SPA
• Nand2Tetris
• Work @ Bizreach Inc.
• www.hrmos.co
Today’s Talk is a short
version of …
http://qiita.com/kitaly/items/85254fd346e2e575582b
Development of UI
is HARD.
Development of Single Page App
takes.
What makes it so hard?
• Team members with different skills
• Back-End Engineer (Java, Ruby, PHP, etc.)
• Front-End Engineer (JavaScript)
• Markup Coder (HTML, CSS, etc.)
What makes it so hard?
• Poorly designed workflow
• Poorly designed architecture
• Lack of layering corresponding to different skills of
developers
What makes it so hard?
• Expectations for richer UI 

leads to complexity of GUI applications
Layering is keen
Layers must be
explicitly isolated
※ My project is based on React/Redux
The team should be able to
develop different components
independently
Back-end API
is inevitably independent
How can we isolate
UI and business-logic
on client-side ?
(Today’s main topic)
“UI Component as API”
“UI Component as API”
• React and its surrounding libraries/tools enabled
this concept
• These names may make better sense
• Functional UI Component
• UI Component as Pure Function
• UI Component as Converter
Functional Component
with React
※ Not saying that you should not use “class”
Functional Component
with React
UI Component with
Webpack/CSS-Modules
OK, UI components can be API’s
and be incorporated
as part of applications later on
“But, how do we develop UI
components without integrating
them in applications?”
We need sandbox to develop
UI components independently
from applications
React-Storybook
https://getstorybook.io/
React-Storybook
Providing API’s takes
thorough testing
Writing/maintaining
tests is a hustle
You don’t have to write
actual test cases
with snapshot testing
Test methodologies
for UI Component
• Interaction Testing
• Snapshot Testing
• CSS/Style Testing
Storyshots:
Testing tool for Virtual DOM
Structural Testing
https://github.com/kadirahq/storyshots
You may want to
provide nice documents
Using Storybook add ons
Once again, Layering is
keen
The team should be able to
develop different components
independently
Implement
Testing Documentation
Conclusion
• Layering is keen for complex applications
• React and its ecosystem empowers such
development
• Needs at least one person who’s good at
Programming & Markup
You can find sample code here
https://github.com/k-italy/react-storybook-
demo-plus

More Related Content

PDF
Mvvm is like born fraction
Ken Haneda
 
PPTX
Tech Talk Tokyo #2 tetsuya matsuzawa
Rarejob
 
PDF
When to (use / not use) React Native.
Bobby Schultz
 
PDF
Getting Started with React Native (and should I use it at all?)
Devin Abbott
 
PPTX
Angle Forward with TypeScript
Jeremy Likness
 
PDF
Morden F2E Education - Think of Progressive Web Apps
Caesar Chi
 
PDF
Introduction to React Native
Polidea
 
PPTX
TypeScript
Software Infrastructure
 
Mvvm is like born fraction
Ken Haneda
 
Tech Talk Tokyo #2 tetsuya matsuzawa
Rarejob
 
When to (use / not use) React Native.
Bobby Schultz
 
Getting Started with React Native (and should I use it at all?)
Devin Abbott
 
Angle Forward with TypeScript
Jeremy Likness
 
Morden F2E Education - Think of Progressive Web Apps
Caesar Chi
 
Introduction to React Native
Polidea
 

What's hot (20)

PDF
React native sharing
Sam Lee
 
PDF
codecept.js introduce - front end test E2E tool introduce
Caesar Chi
 
PPTX
Back to the ng2 Future
Jeremy Likness
 
PDF
Алексей Волков "Введение в React Native"
Fwdays
 
PPTX
Latest Javascript MVC & Front End Frameworks 2017
AmarInfotech
 
PDF
JS Framework Comparison - An infographic
InApp
 
PPTX
Creating books app with react native
Ali Sa'o
 
PDF
React native-meetup-talk
kiranabburi
 
PPTX
React Native for ReactJS Devs
Barak Cohen
 
ZIP
Titanium @ Minnebar
Kevin Whinnery
 
PPTX
SONY BBS - React Native
Mehmet Ali Bağcı
 
PDF
Run Fast, Try Not to Break S**t
Michael Schmidt
 
PDF
Contributing to open source
Devin Abbott
 
PPTX
Swagger - Making REST APIs friendlier
Miroslav Resetar
 
PDF
What's This React Native Thing I Keep Hearing About?
Evan Stone
 
ODP
Web development in JavaEE7 with JSF, does it still matter?
Paris Apostolopoulos
 
PDF
Angular 2 vs React. What to chose in 2017?
TechMagic
 
PDF
An iOS Developer's Perspective on React Native
Aleksandras Smirnovas
 
PPTX
Native Script by Sebastian Witalec
Simone Basso
 
React native sharing
Sam Lee
 
codecept.js introduce - front end test E2E tool introduce
Caesar Chi
 
Back to the ng2 Future
Jeremy Likness
 
Алексей Волков "Введение в React Native"
Fwdays
 
Latest Javascript MVC & Front End Frameworks 2017
AmarInfotech
 
JS Framework Comparison - An infographic
InApp
 
Creating books app with react native
Ali Sa'o
 
React native-meetup-talk
kiranabburi
 
React Native for ReactJS Devs
Barak Cohen
 
Titanium @ Minnebar
Kevin Whinnery
 
SONY BBS - React Native
Mehmet Ali Bağcı
 
Run Fast, Try Not to Break S**t
Michael Schmidt
 
Contributing to open source
Devin Abbott
 
Swagger - Making REST APIs friendlier
Miroslav Resetar
 
What's This React Native Thing I Keep Hearing About?
Evan Stone
 
Web development in JavaEE7 with JSF, does it still matter?
Paris Apostolopoulos
 
Angular 2 vs React. What to chose in 2017?
TechMagic
 
An iOS Developer's Perspective on React Native
Aleksandras Smirnovas
 
Native Script by Sebastian Witalec
Simone Basso
 
Ad

Viewers also liked (20)

PDF
Improving App Translations
João Orui
 
PDF
ReactとImmutable.jsで関数型を体験してみて思ったこと #scripty06
Yahoo!デベロッパーネットワーク
 
PDF
Teaching SQL to non engineers
Kohei Kikuchi
 
PDF
jQuery勉強会#4
Ryo Maruyama
 
PDF
マイクロインタラクション事始め以前
Koji Ishimoto
 
PDF
Component of Web Frontend
Shogo Sensui
 
PPTX
Tech Talk Tokyo #1
taishi inoue
 
PDF
約物アキを調整するjQueryプラグインを作ってみた
祐磨 堀
 
PPTX
ES6 - JavaCro 2016
Nenad Pecanac
 
PDF
150421 es6とかな話
kotaro_hirayama
 
PDF
JavaScript.Next Returns
dynamis
 
PDF
ES6 はじめました
Net Kanayan
 
PDF
JavaScript 実践講座 Framework, Tool, Performance
クラスメソッド株式会社
 
PPTX
JavaScript : What is it really? AND Some new features in ES6
Aayush Shrestha
 
PDF
FileReader and canvas and server silde
Net Kanayan
 
PPTX
Getting started with ES6 : Future of javascript
Mohd Saeed
 
PDF
Prototypeベース in JavaScript
Ryo Maruyama
 
PDF
kontainer-js
Kuu Miyazaki
 
PPTX
Startup JavaScript
Akinari Tsugo
 
PPT
Google App EngineでTwitterアプリを作ろう
kenji4569
 
Improving App Translations
João Orui
 
ReactとImmutable.jsで関数型を体験してみて思ったこと #scripty06
Yahoo!デベロッパーネットワーク
 
Teaching SQL to non engineers
Kohei Kikuchi
 
jQuery勉強会#4
Ryo Maruyama
 
マイクロインタラクション事始め以前
Koji Ishimoto
 
Component of Web Frontend
Shogo Sensui
 
Tech Talk Tokyo #1
taishi inoue
 
約物アキを調整するjQueryプラグインを作ってみた
祐磨 堀
 
ES6 - JavaCro 2016
Nenad Pecanac
 
150421 es6とかな話
kotaro_hirayama
 
JavaScript.Next Returns
dynamis
 
ES6 はじめました
Net Kanayan
 
JavaScript 実践講座 Framework, Tool, Performance
クラスメソッド株式会社
 
JavaScript : What is it really? AND Some new features in ES6
Aayush Shrestha
 
FileReader and canvas and server silde
Net Kanayan
 
Getting started with ES6 : Future of javascript
Mohd Saeed
 
Prototypeベース in JavaScript
Ryo Maruyama
 
kontainer-js
Kuu Miyazaki
 
Startup JavaScript
Akinari Tsugo
 
Google App EngineでTwitterアプリを作ろう
kenji4569
 
Ad

Similar to React UI Development: Introduction to "UI Component as API" (20)

PDF
React Native Introduction: Making Real iOS and Android Mobile App By JavaScript
Kobkrit Viriyayudhakorn
 
PDF
l1-reactnativeintroduction-160816150540.pdf
Hương Trà Pé Xjnk
 
PPTX
Professionalizing the Front-end
Jordi Anguela
 
PDF
React.js - and how it changed our thinking about UI
Marcin Grzywaczewski
 
PDF
Resume
PeterTao7
 
PPTX
React.js at Cortex
Geoff Harcourt
 
PPTX
How to build a JavaScript toolkit
Michael Nelson
 
PPTX
Angular 2
Travis van der Font
 
PDF
Evolution and History of Angular as Web Development Platform.pdf
iFour Technolab Pvt. Ltd.
 
PDF
An Introduction to ReactNative
Michał Taberski
 
PPSX
React-Js-Online-Training-9028522.ppsx
Kulbir4
 
PPTX
React js Online Training
Learntek1
 
PPTX
The happy developer - SharePoint Framework React and Mindfulness
Olli Jääskeläinen
 
PDF
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
Phil Leggetter
 
PPTX
Introduction to react native with redux
Mike Melusky
 
PPTX
European Collaboration Summit - SharePoint Framework Angular & Azure Functions
Sébastien Levert
 
PPTX
SharePoint Saturday Twin Cities - SharePoint Framework, Angular & Azure Funct...
Sébastien Levert
 
PDF
Top 7 react developer tools to use in 2021
WrapPixel
 
PDF
React Native and the future of web technology (Mark Wilcox) - GreeceJS #15
GreeceJS
 
PDF
Salvatore Laisa - Da Angular a React - Un viaggio inaspettato
Codemotion
 
React Native Introduction: Making Real iOS and Android Mobile App By JavaScript
Kobkrit Viriyayudhakorn
 
l1-reactnativeintroduction-160816150540.pdf
Hương Trà Pé Xjnk
 
Professionalizing the Front-end
Jordi Anguela
 
React.js - and how it changed our thinking about UI
Marcin Grzywaczewski
 
Resume
PeterTao7
 
React.js at Cortex
Geoff Harcourt
 
How to build a JavaScript toolkit
Michael Nelson
 
Evolution and History of Angular as Web Development Platform.pdf
iFour Technolab Pvt. Ltd.
 
An Introduction to ReactNative
Michał Taberski
 
React-Js-Online-Training-9028522.ppsx
Kulbir4
 
React js Online Training
Learntek1
 
The happy developer - SharePoint Framework React and Mindfulness
Olli Jääskeläinen
 
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
Phil Leggetter
 
Introduction to react native with redux
Mike Melusky
 
European Collaboration Summit - SharePoint Framework Angular & Azure Functions
Sébastien Levert
 
SharePoint Saturday Twin Cities - SharePoint Framework, Angular & Azure Funct...
Sébastien Levert
 
Top 7 react developer tools to use in 2021
WrapPixel
 
React Native and the future of web technology (Mark Wilcox) - GreeceJS #15
GreeceJS
 
Salvatore Laisa - Da Angular a React - Un viaggio inaspettato
Codemotion
 

Recently uploaded (20)

PPT
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
PDF
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
PPTX
oapresentation.pptx
mehatdhavalrajubhai
 
PPTX
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
PPTX
Web Testing.pptx528278vshbuqffqhhqiwnwuq
studylike474
 
PDF
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
PDF
Balancing Resource Capacity and Workloads with OnePlan – Avoid Overloading Te...
OnePlan Solutions
 
PPTX
AI-Ready Handoff: Auto-Summaries & Draft Emails from MQL to Slack in One Flow
bbedford2
 
PDF
Teaching Reproducibility and Embracing Variability: From Floating-Point Exper...
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
PDF
New Download MiniTool Partition Wizard Crack Latest Version 2025
imang66g
 
PDF
vAdobe Premiere Pro 2025 (v25.2.3.004) Crack Pre-Activated Latest
imang66g
 
PDF
Applitools Platform Pulse: What's New and What's Coming - July 2025
Applitools
 
PPTX
Role Of Python In Programing Language.pptx
jaykoshti048
 
PPTX
Contractor Management Platform and Software Solution for Compliance
SHEQ Network Limited
 
PDF
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
PPTX
PFAS Reporting Requirements 2026 Are You Submission Ready Certivo.pptx
Certivo Inc
 
PDF
lesson-2-rules-of-netiquette.pdf.bshhsjdj
jasmenrojas249
 
PDF
ShowUs: Pharo Stream Deck (ESUG 2025, Gdansk)
ESUG
 
PDF
An Experience-Based Look at AI Lead Generation Pricing, Features & B2B Results
Thomas albart
 
PDF
What to consider before purchasing Microsoft 365 Business Premium_PDF.pdf
Q-Advise
 
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
oapresentation.pptx
mehatdhavalrajubhai
 
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
Web Testing.pptx528278vshbuqffqhhqiwnwuq
studylike474
 
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
Balancing Resource Capacity and Workloads with OnePlan – Avoid Overloading Te...
OnePlan Solutions
 
AI-Ready Handoff: Auto-Summaries & Draft Emails from MQL to Slack in One Flow
bbedford2
 
Teaching Reproducibility and Embracing Variability: From Floating-Point Exper...
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
New Download MiniTool Partition Wizard Crack Latest Version 2025
imang66g
 
vAdobe Premiere Pro 2025 (v25.2.3.004) Crack Pre-Activated Latest
imang66g
 
Applitools Platform Pulse: What's New and What's Coming - July 2025
Applitools
 
Role Of Python In Programing Language.pptx
jaykoshti048
 
Contractor Management Platform and Software Solution for Compliance
SHEQ Network Limited
 
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
PFAS Reporting Requirements 2026 Are You Submission Ready Certivo.pptx
Certivo Inc
 
lesson-2-rules-of-netiquette.pdf.bshhsjdj
jasmenrojas249
 
ShowUs: Pharo Stream Deck (ESUG 2025, Gdansk)
ESUG
 
An Experience-Based Look at AI Lead Generation Pricing, Features & B2B Results
Thomas albart
 
What to consider before purchasing Microsoft 365 Business Premium_PDF.pdf
Q-Advise
 

React UI Development: Introduction to "UI Component as API"