SlideShare une entreprise Scribd logo
1  sur  52
Creating a Reusable
UI Component
| Change session name in master slide
Rui
Mendes
Full Stack Developer | OutSystems
@
in
ruip.mendes@outsystem.com
/ruirijomendes
@SkullBizarre
@ruip.mendes
| Creating a reusable UI component
Project specific
This is the wrong way
| Creating a reusable UI component
Requirements
❏ Must
❏ Must
❏ Should
❏ Should
❏ Could
❏ Could
❏ Extra Mile
Use Cases Code
| Creating a reusable UI component
| Creating a reusable UI component
Creating a reusable UI
component
| Creating a reusable UI component
What is a Component?
A component is a reusable object that speeds up application creation and delivery, by
providing features in an simple, easy and understandable way.
ConnectorsScreen Flow LibrariesBlock
| Creating a reusable UI component
| Creating a reusable UI component
VS
Meh Awesome
| Creating a reusable UI component
| Creating a reusable UI component
Why Build a Component?
You
Scott
Dev
Time
Day 1 Day 2 Day 3 Day 4 Day 5 Day 6 Day 7 Day 8 Day 9 Day 10 Day 11 Day 12 Day 13 Day 14
Building from scratch
| Creating a reusable UI component
Why Build a Component?
You
Scott
Building vs using
Day 3Day 1 Day 4 Day 5
Dev
Time
Day 7Day 6 Day 8 Day 9 Day 10 Day 11 Day 12 Day 13 Day 14Day 2
| Creating a reusable UI component
Identify a component
● 80/20
● Frequency vs. Complexity
| Creating a reusable UI component
Cover the Basics
● Simple
● Easy
● Understandable
| Creating a reusable UI component
Keep it Simple, Stupid! (KISS)
https://www.highcharts.com/demo
| Creating a reusable UI component
Make it easy
vs
| Creating a reusable UI component
Self-explanatory
| Creating a reusable UI component
Self-explanatory
| Creating a reusable UI component
Covered the basics
1. Simple
2. Easy
3. Self-explanatory
| Creating a reusable UI component
Small pause for water
| Creating a reusable UI component
Story time
Requirements
❏ Must
❏ Must
❏ Should
Use Cases Code
| Creating a reusable UI component
Scalable Architecture
In-App Chat
Core
In-App Chat
Web
In-App Chat
Mobile
| Creating a reusable UI component
Main use cases
| Creating a reusable UI component
Best defaults
| Creating a reusable UI component
| Creating a reusable UI component
Customization
| Creating a reusable UI component
Extensibility
| Creating a reusable UI component
Security
| Creating a reusable UI component
Performance
| Creating a reusable UI component
Reusability
| Creating a reusable UI component
Reusability
1
2
3
| Creating a reusable UI component
Readability & Maintainability
| Creating a reusable UI component
Readability & Maintainability
| Creating a reusable UI component
Readability & Maintainability
| Creating a reusable UI component
| Creating a reusable UI component
Small pause for water
| Creating a reusable UI component
Let’s talk mobile
In-App Chat
Core
In-App Chat
Web
In-App Chat
Mobile
| Creating a reusable UI component
Navigating between screens
Screen Livecycle Events
| Creating a reusable UI component
Set control variables that are
required by other screen elements or
logic.
OnInitialize
| Creating a reusable UI component
Initialize a third-party component
that needs the DOM;
Add listeners to a DOM element;
OnReady
| Creating a reusable UI component
Manipulate DOM elements when
they are ready.
OnRender
| Creating a reusable UI component
Testing to get feedback
| Creating a reusable UI component
Ensure that everything that is
initialized (variables and event
listeners) is removed.
OnDestroy
| Creating a reusable UI component
Working Mobile Component
❏ Best Practices
❏ Guidelines
In-App Chat
Web
In-App Chat
Mobile
| Creating a reusable UI component
| Creating a reusable UI component
| Creating a reusable UI component
| Creating a reusable UI component
| Creating a reusable UI component
| Creating a reusable UI component
Share
● Share with your team
● If possible, share with the
community
| Creating a reusable UI component
Recap
1. Basics
a. Simple
b. Easy
c. Understandable
1. Reusability
a. Extensible
b. Customizable
c. Recognizable
3. NFRs
a. Scalable
b. Secure
c. Performant
3. Community
a. How-to
b. Sample
5. SHARE
Thank You!
@ inruip.mendes@outsystems.com /ruirijomendes
@SkullBizarre @ruip.mendes

Contenu connexe

Similaire à Creating a reusable ui component

l1-reactnativeintroduction-160816150540.pdf
l1-reactnativeintroduction-160816150540.pdfl1-reactnativeintroduction-160816150540.pdf
l1-reactnativeintroduction-160816150540.pdf
Hương Trà Pé Xjnk
 

Similaire à Creating a reusable ui component (20)

Why we built 35kb React Native alternative ?
Why we built 35kb React Native alternative ?Why we built 35kb React Native alternative ?
Why we built 35kb React Native alternative ?
 
Top 7 react developer tools to use in 2021
Top 7 react developer tools to use in 2021Top 7 react developer tools to use in 2021
Top 7 react developer tools to use in 2021
 
l1-reactnativeintroduction-160816150540.pdf
l1-reactnativeintroduction-160816150540.pdfl1-reactnativeintroduction-160816150540.pdf
l1-reactnativeintroduction-160816150540.pdf
 
React-JS-23.pptx
React-JS-23.pptxReact-JS-23.pptx
React-JS-23.pptx
 
React Native Introduction: Making Real iOS and Android Mobile App By JavaScript
React Native Introduction: Making Real iOS and Android Mobile App By JavaScriptReact Native Introduction: Making Real iOS and Android Mobile App By JavaScript
React Native Introduction: Making Real iOS and Android Mobile App By JavaScript
 
Host-hahaDevelopmenthuhuhihihudygcffnv.pptx
Host-hahaDevelopmenthuhuhihihudygcffnv.pptxHost-hahaDevelopmenthuhuhihihudygcffnv.pptx
Host-hahaDevelopmenthuhuhihihudygcffnv.pptx
 
Shield UI JavaScript Chart
Shield UI JavaScript ChartShield UI JavaScript Chart
Shield UI JavaScript Chart
 
Latest trends in Technical Writing, Authoring on Cloud, Content Delivery for ...
Latest trends in Technical Writing, Authoring on Cloud, Content Delivery for ...Latest trends in Technical Writing, Authoring on Cloud, Content Delivery for ...
Latest trends in Technical Writing, Authoring on Cloud, Content Delivery for ...
 
What is React programming used for_ .pdf
What is React programming used for_ .pdfWhat is React programming used for_ .pdf
What is React programming used for_ .pdf
 
React Native - Framework For Mobile App (Seminar)
React Native - Framework For Mobile App (Seminar)React Native - Framework For Mobile App (Seminar)
React Native - Framework For Mobile App (Seminar)
 
Why do we use react JS on the website_.pdf
Why do we use react JS on the website_.pdfWhy do we use react JS on the website_.pdf
Why do we use react JS on the website_.pdf
 
ch14.ppt
ch14.pptch14.ppt
ch14.ppt
 
20170302 tryswift tasting_tests
20170302 tryswift tasting_tests20170302 tryswift tasting_tests
20170302 tryswift tasting_tests
 
UI5conBE 2020 - Keynote
UI5conBE 2020 - KeynoteUI5conBE 2020 - Keynote
UI5conBE 2020 - Keynote
 
Flutter rev cx
Flutter rev cxFlutter rev cx
Flutter rev cx
 
React intro
React introReact intro
React intro
 
Amit Trivedi
Amit Trivedi Amit Trivedi
Amit Trivedi
 
The Practical Benefits of React Native in Fintech App Development.docx
The Practical Benefits of React Native in Fintech App Development.docxThe Practical Benefits of React Native in Fintech App Development.docx
The Practical Benefits of React Native in Fintech App Development.docx
 
Mern Stack Training Institute in - Hyderabad.pptx
Mern Stack Training Institute in - Hyderabad.pptxMern Stack Training Institute in - Hyderabad.pptx
Mern Stack Training Institute in - Hyderabad.pptx
 
Internship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdf
Internship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdfInternship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdf
Internship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdf
 

Dernier

Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
dharasingh5698
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
MsecMca
 

Dernier (20)

Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
 
Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086
 
2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 

Creating a reusable ui component

  • 2. | Change session name in master slide Rui Mendes Full Stack Developer | OutSystems @ in ruip.mendes@outsystem.com /ruirijomendes @SkullBizarre @ruip.mendes
  • 3. | Creating a reusable UI component Project specific This is the wrong way
  • 4. | Creating a reusable UI component Requirements ❏ Must ❏ Must ❏ Should ❏ Should ❏ Could ❏ Could ❏ Extra Mile Use Cases Code
  • 5. | Creating a reusable UI component
  • 6. | Creating a reusable UI component Creating a reusable UI component
  • 7. | Creating a reusable UI component What is a Component? A component is a reusable object that speeds up application creation and delivery, by providing features in an simple, easy and understandable way. ConnectorsScreen Flow LibrariesBlock
  • 8. | Creating a reusable UI component
  • 9. | Creating a reusable UI component VS Meh Awesome
  • 10. | Creating a reusable UI component
  • 11. | Creating a reusable UI component Why Build a Component? You Scott Dev Time Day 1 Day 2 Day 3 Day 4 Day 5 Day 6 Day 7 Day 8 Day 9 Day 10 Day 11 Day 12 Day 13 Day 14 Building from scratch
  • 12. | Creating a reusable UI component Why Build a Component? You Scott Building vs using Day 3Day 1 Day 4 Day 5 Dev Time Day 7Day 6 Day 8 Day 9 Day 10 Day 11 Day 12 Day 13 Day 14Day 2
  • 13. | Creating a reusable UI component Identify a component ● 80/20 ● Frequency vs. Complexity
  • 14. | Creating a reusable UI component Cover the Basics ● Simple ● Easy ● Understandable
  • 15. | Creating a reusable UI component Keep it Simple, Stupid! (KISS) https://www.highcharts.com/demo
  • 16. | Creating a reusable UI component Make it easy vs
  • 17. | Creating a reusable UI component Self-explanatory
  • 18. | Creating a reusable UI component Self-explanatory
  • 19. | Creating a reusable UI component Covered the basics 1. Simple 2. Easy 3. Self-explanatory
  • 20. | Creating a reusable UI component Small pause for water
  • 21. | Creating a reusable UI component Story time Requirements ❏ Must ❏ Must ❏ Should Use Cases Code
  • 22. | Creating a reusable UI component Scalable Architecture In-App Chat Core In-App Chat Web In-App Chat Mobile
  • 23. | Creating a reusable UI component Main use cases
  • 24. | Creating a reusable UI component Best defaults
  • 25. | Creating a reusable UI component
  • 26. | Creating a reusable UI component Customization
  • 27. | Creating a reusable UI component Extensibility
  • 28. | Creating a reusable UI component Security
  • 29. | Creating a reusable UI component Performance
  • 30. | Creating a reusable UI component Reusability
  • 31. | Creating a reusable UI component Reusability 1 2 3
  • 32. | Creating a reusable UI component Readability & Maintainability
  • 33. | Creating a reusable UI component Readability & Maintainability
  • 34. | Creating a reusable UI component Readability & Maintainability
  • 35. | Creating a reusable UI component
  • 36. | Creating a reusable UI component Small pause for water
  • 37. | Creating a reusable UI component Let’s talk mobile In-App Chat Core In-App Chat Web In-App Chat Mobile
  • 38. | Creating a reusable UI component Navigating between screens Screen Livecycle Events
  • 39. | Creating a reusable UI component Set control variables that are required by other screen elements or logic. OnInitialize
  • 40. | Creating a reusable UI component Initialize a third-party component that needs the DOM; Add listeners to a DOM element; OnReady
  • 41. | Creating a reusable UI component Manipulate DOM elements when they are ready. OnRender
  • 42. | Creating a reusable UI component Testing to get feedback
  • 43. | Creating a reusable UI component Ensure that everything that is initialized (variables and event listeners) is removed. OnDestroy
  • 44. | Creating a reusable UI component Working Mobile Component ❏ Best Practices ❏ Guidelines In-App Chat Web In-App Chat Mobile
  • 45. | Creating a reusable UI component
  • 46. | Creating a reusable UI component
  • 47. | Creating a reusable UI component
  • 48. | Creating a reusable UI component
  • 49. | Creating a reusable UI component
  • 50. | Creating a reusable UI component Share ● Share with your team ● If possible, share with the community
  • 51. | Creating a reusable UI component Recap 1. Basics a. Simple b. Easy c. Understandable 1. Reusability a. Extensible b. Customizable c. Recognizable 3. NFRs a. Scalable b. Secure c. Performant 3. Community a. How-to b. Sample 5. SHARE
  • 52. Thank You! @ inruip.mendes@outsystems.com /ruirijomendes @SkullBizarre @ruip.mendes