SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Ähnlich wie Creating a reusable ui component

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 ?Sahebjot Singh
 
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 2021WrapPixel
 
l1-reactnativeintroduction-160816150540.pdf
l1-reactnativeintroduction-160816150540.pdfl1-reactnativeintroduction-160816150540.pdf
l1-reactnativeintroduction-160816150540.pdfHương Trà Pé Xjnk
 
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 JavaScriptKobkrit Viriyayudhakorn
 
Host-hahaDevelopmenthuhuhihihudygcffnv.pptx
Host-hahaDevelopmenthuhuhihihudygcffnv.pptxHost-hahaDevelopmenthuhuhihihudygcffnv.pptx
Host-hahaDevelopmenthuhuhihihudygcffnv.pptxBazilTauhid1
 
Shield UI JavaScript Chart
Shield UI JavaScript ChartShield UI JavaScript Chart
Shield UI JavaScript ChartJStoikov
 
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 ...Raghuram Pandurangan
 
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_ .pdfayushinwizards
 
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)Jaise P Jose
 
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_.pdfnearlearn
 
20170302 tryswift tasting_tests
20170302 tryswift tasting_tests20170302 tryswift tasting_tests
20170302 tryswift tasting_testsKazuaki Matsuo
 
UI5conBE 2020 - Keynote
UI5conBE 2020 - KeynoteUI5conBE 2020 - Keynote
UI5conBE 2020 - KeynotePeter Muessig
 
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.docxsynsoftglobal94
 
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.pptxeshwarvisualpath
 
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.pdfVitulChauhan
 

Ähnlich wie 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
 

Kürzlich hochgeladen

Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . pptDineshKumar4165
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)simmis5
 
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 Bookingdharasingh5698
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdfankushspencer015
 
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.pptMsecMca
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
 
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 - VDineshKumar4165
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdfSuman Jyoti
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 
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 8377877756dollysharma2066
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Christo Ananth
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdfKamal Acharya
 
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.pdfRagavanV2
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXssuser89054b
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 

Kürzlich hochgeladen (20)

Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
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
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
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
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
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
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
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
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.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
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
 

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