Empowering Advanced Users: Extending OutSystems UI Framework with Openness and Extensibility

Bernardo Cardoso
Bernardo CardosoFrontend Engineer à OutSystems
Extending OutSystems UI Framework with
Openness and Extensibility
Bernardo Cardoso
Senior Software Engineer @OutSystems
Empowering Advanced
Users
What you’ll
learn here
1. How we got here
2. Now & Future
• The new vision
• Why
• How
3. Extensibility Vision
4. Demo
5. Public GitHub Repo
6. See you later
How we got here
From Silk to OutSystems UI
2015-2016
Silk UI/ Silk UI Mobile
● Great out-of-the-box defaults.
● Completely closed Patterns.
Extensibility
Developer Experience
2018
OutSystems UI Web
● Increased extensibility & customization with
ExtendedClass and CSS Variables.
● Atomic Design.
● Less emphasis on defaults, as increased
modularity was expected to be used by
developers.
Extensibility
Developer Experience
2015-2016
2019
OutSystems UI
● Continuity of OutSystems UI Web CSS
improvements.
● Loss on the JavasScript extensibility, as
this was a continuation of the old Silk UI
Mobile.
2015-2016
2018
Extensibility
Developer Experience
2019
2022
OutSystems UI (New JS Framework)
● Great increase on extensibility.
● Improvement of the out-of-the-box
defaults and developer experience.
2015-2016
2018
Extensibility
Developer Experience
Now & Future
The new vision
Why
Give more power to customers
Why
Give more power to customers
Improve low-code developer experience
Why
Give more power to customers
Improve low-code developer experience
Why
Improve code quality and security
How
Scalability
How
Scalability
Openness
How
Scalability
Openness
Community driven
How
The tools
A new JavaScript Framework, that holds all Patterns Classes and API’s
used on the low-code side.
Implementation of TypeScript and SCSS.
All done on Visual Studio Code and stored on GitHub.
#scalability
#scalability
Providers
#scalability
Providers
OSFramework
#scalability
OutSystems Low-Code
Providers
OSFramework
OSUI API
#scalability
OutSystems Low-Code
Providers
OSFramework
OSUI API
#scalability
OnInitialize
OnReady
ParametersChange
Destroy
OutSystems.OSUI.<PatternsName>API.Create
OutSystems.OSUI.<PatternsName>API.Initialize
OutSystems.OSUI.<PatternsName>API.ChangeProperty
OutSystems.OSUI.<PatternsName>API.Destroy
OutSystems Low-Code
Providers
OSFramework
OSUI API
#scalability
For more information about the architecture
behind it, check the amazing talk by Ruben
Gonçalves: Building Frameworks: from concept to
completion.
You can also check the public OutSystems UI JS
TypeDocs’s Documentation, with UML Diagrams
with detailed information about properties,
methods, interfaces, inheritance, etc., for each
Pattern’s JS Class.
#openness
Extensibility Vision
Block’s Input Parameters
OutSystems UI Providers Client Actions
OutSystems UI JS API
Custom Code
OutSystems UI Client Actions
Blocks Input Parameters
● Root level
● OptionalConfigs
structures
#openness #scalability
Block’s Input Parameters
OutSystems UI Providers Client Actions
OutSystems UI JS API
Custom Code
OutSystems UI Client Actions
UI Patterns’s Client Actions
● Low-code wrappers for the
API calls on OutSystems UI
JS.
● Covers basic use-cases like
Open/Close/Disabled/etc or
it can be used to offer other
non-essential use-cases,
that wouldn’t fit as Input
Parameters.
#openness #scalability
Block’s Input Parameters
OutSystems UI Providers Client Actions
OutSystems UI JS API
Custom Code
OutSystems UI Client Actions
“The new AdvancedFormat”
● Set[ProviderName]Configs
● Set[ProviderName]Event
● Unset[ProviderName]Event
#openness #scalability
Check a full detailed example on this article:
OutSystems UI Extensibility Part I
https://medium.com/@bernardocardoso/outsystems-ui-extensibility-part-i-f0d5304896ee
Amazing Author
Block’s Input Parameters
OutSystems UI Providers Client Actions
OutSystems UI JS API
Custom Code
OutSystems UI Client Actions
Direct usage of API’s from
OutSystems UI, that are not
covered by Client Actions.
Better to use them on the
Initialized event of each
Pattern.
#openness #scalability
Block’s Input Parameters
OutSystems UI Providers Client Actions
OutSystems UI JS API
Custom Code
OutSystems UI Client Actions
● Extend Pattern’s JS
Classes
● Install OutSystems UI
npm package
● Create new Patterns
using our TypeScript
architecture
● Generate your own scss
theme.
#openness #scalability
Check a full detailed example on this article:
OutSystems UI Extensibility Part II
https://medium.com/@bernardocardoso/outsystems-ui-extensibility-part-ii-dd35da19de4e
Amazing Author
Approachability
C
o
m
p
l
e
x
i
t
y
Block’s Input Parameters
OutSystems UI Providers Client Actions
OutSystems UI JS API
Custom Code
OutSystems UI Client Actions
Configurability
(OutSystems Low-Code)
More extensibility solutions
abstracted to low-code.
#openness #scalability
Approachability
C
o
m
p
l
e
x
i
t
y
Block’s Input Parameters
OutSystems UI Providers Client Actions
OutSystems UI JS API
Custom Code
OutSystems UI Client Actions
High Code
(JavaScript/TypeScript)
More freedom for advanced
developers, that know and
want to have control of the
code behind the UI Patterns.
#openness #scalability
Configurability
(OutSystems Low-Code)
More extensibility solutions
abstracted to low-code.
Extensibility Example
Install npm package & extend UI Pattern’s
JS Class
Github Repo
#openness #community-driven
OutSystems UI npm package
OutSystems UI Git Repository
PR’s are very much
welcomed! 👍
OutSystems UI npm package
OutSystems UI Git Repository
PR’s are very much
welcomed! 👍
#openness #community-driven
https://medium.com/@bernardocardoso
https://www.linkedin.com/in/bernardo-cardoso-0a740b95/
Thank You
Bernardo Cardoso
Senior Software Engineer @OutSystems
40
RATE THE SESSION
Go to the app > agenda > select the session > rate.
Extending OutSystems UI Framework with
Openness and Extensibility
Empowering Advanced
Users
1 sur 41

Recommandé

Fintech Vietnam Startups Report par
Fintech Vietnam Startups ReportFintech Vietnam Startups Report
Fintech Vietnam Startups ReportChristian König
95.6K vues59 diapositives
SBI: World’s Largest Centralized Core Processing Implementation par
SBI: World’s Largest Centralized Core Processing ImplementationSBI: World’s Largest Centralized Core Processing Implementation
SBI: World’s Largest Centralized Core Processing ImplementationAnkur Pandey
4K vues12 diapositives
Currency and convertability par
Currency and convertabilityCurrency and convertability
Currency and convertabilitySuresh Thengumpallil
6K vues29 diapositives
Marketing strategies for rural banking services par
Marketing strategies for rural banking servicesMarketing strategies for rural banking services
Marketing strategies for rural banking servicesSachin7443
4.1K vues10 diapositives
stock market india bse and nse par
stock market india bse and nsestock market india bse and nse
stock market india bse and nsesatish rai
2.6K vues29 diapositives
Capital account convertibility par
Capital account convertibilityCapital account convertibility
Capital account convertibilityAyush Gupta
4.5K vues16 diapositives

Contenu connexe

Tendances

Southeast Asia InsurTech Directory par
Southeast Asia InsurTech DirectorySoutheast Asia InsurTech Directory
Southeast Asia InsurTech DirectoryInsurTech Asia Association
3.5K vues74 diapositives
Cashless Economy- Advantages & Challenges par
Cashless Economy- Advantages & Challenges Cashless Economy- Advantages & Challenges
Cashless Economy- Advantages & Challenges Akanksha Shukla
2K vues11 diapositives
The Digital Insurer Award - Bajaj Allianz General (Digi Sampark) par
The Digital Insurer Award - Bajaj Allianz General (Digi Sampark)The Digital Insurer Award - Bajaj Allianz General (Digi Sampark)
The Digital Insurer Award - Bajaj Allianz General (Digi Sampark)The Digital Insurer
132 vues10 diapositives
Financial Market Instruments PowerPoint Presentation Slides par
Financial Market Instruments PowerPoint Presentation Slides Financial Market Instruments PowerPoint Presentation Slides
Financial Market Instruments PowerPoint Presentation Slides SlideTeam
1.2K vues37 diapositives
FINTECH: The Gamechanger - All India Management Association - www.sourajitaiy... par
FINTECH: The Gamechanger - All India Management Association - www.sourajitaiy...FINTECH: The Gamechanger - All India Management Association - www.sourajitaiy...
FINTECH: The Gamechanger - All India Management Association - www.sourajitaiy...South Asia Fast Track
639 vues10 diapositives
Remittances par
RemittancesRemittances
Remittancesarvind chaurasia
3.6K vues21 diapositives

Tendances(20)

Cashless Economy- Advantages & Challenges par Akanksha Shukla
Cashless Economy- Advantages & Challenges Cashless Economy- Advantages & Challenges
Cashless Economy- Advantages & Challenges
Akanksha Shukla2K vues
The Digital Insurer Award - Bajaj Allianz General (Digi Sampark) par The Digital Insurer
The Digital Insurer Award - Bajaj Allianz General (Digi Sampark)The Digital Insurer Award - Bajaj Allianz General (Digi Sampark)
The Digital Insurer Award - Bajaj Allianz General (Digi Sampark)
Financial Market Instruments PowerPoint Presentation Slides par SlideTeam
Financial Market Instruments PowerPoint Presentation Slides Financial Market Instruments PowerPoint Presentation Slides
Financial Market Instruments PowerPoint Presentation Slides
SlideTeam1.2K vues
FINTECH: The Gamechanger - All India Management Association - www.sourajitaiy... par South Asia Fast Track
FINTECH: The Gamechanger - All India Management Association - www.sourajitaiy...FINTECH: The Gamechanger - All India Management Association - www.sourajitaiy...
FINTECH: The Gamechanger - All India Management Association - www.sourajitaiy...
FDI IN MULTI BRAND RETAIL par Aparna Handa
FDI IN MULTI BRAND RETAILFDI IN MULTI BRAND RETAIL
FDI IN MULTI BRAND RETAIL
Aparna Handa14.7K vues
Data collection m.com final par Anuj Bhatia
Data collection m.com finalData collection m.com final
Data collection m.com final
Anuj Bhatia13.7K vues
Capital market par sheru100
Capital marketCapital market
Capital market
sheru1002K vues
Fundamental analysis of banking industry par DARUN V
Fundamental analysis of banking industryFundamental analysis of banking industry
Fundamental analysis of banking industry
DARUN V52.4K vues
Balance of payment OF INDIA par soumya0896
Balance of payment OF INDIABalance of payment OF INDIA
Balance of payment OF INDIA
soumya0896255 vues
DBS Bank Insight - Digital Banking Asean Banks par San Naing
DBS Bank Insight - Digital Banking Asean BanksDBS Bank Insight - Digital Banking Asean Banks
DBS Bank Insight - Digital Banking Asean Banks
San Naing1.2K vues
Rural Banking J.D Lamba par guest081d9e
Rural Banking J.D LambaRural Banking J.D Lamba
Rural Banking J.D Lamba
guest081d9e888 vues
ey-one-trillion-dollars-india-fintech-opportunity-chiratae-ventures-ey-fintec... par ssuser3d6e94
ey-one-trillion-dollars-india-fintech-opportunity-chiratae-ventures-ey-fintec...ey-one-trillion-dollars-india-fintech-opportunity-chiratae-ventures-ey-fintec...
ey-one-trillion-dollars-india-fintech-opportunity-chiratae-ventures-ey-fintec...
ssuser3d6e9453 vues

Similaire à Empowering Advanced Users: Extending OutSystems UI Framework with Openness and Extensibility

Introduction to UX for Mesiniaga Academy par
Introduction to UX for Mesiniaga AcademyIntroduction to UX for Mesiniaga Academy
Introduction to UX for Mesiniaga AcademyZainul Zain
387 vues67 diapositives
Play with azure functions par
Play with azure functionsPlay with azure functions
Play with azure functionsBaskar rao Dsn
105 vues28 diapositives
Azure Functions in Action #CodePaLOUsa par
Azure Functions in Action #CodePaLOUsaAzure Functions in Action #CodePaLOUsa
Azure Functions in Action #CodePaLOUsaBaskar rao Dsn
93 vues26 diapositives
Tips for Beginning Cognos Report Studio Authors: Demonstration of Techniques par
Tips for Beginning Cognos Report Studio Authors: Demonstration of TechniquesTips for Beginning Cognos Report Studio Authors: Demonstration of Techniques
Tips for Beginning Cognos Report Studio Authors: Demonstration of TechniquesSenturus
735 vues34 diapositives
Udvid din test portefølje med coded ui test og cloud load test par
Udvid din test portefølje med coded ui test og cloud load testUdvid din test portefølje med coded ui test og cloud load test
Udvid din test portefølje med coded ui test og cloud load testPeter Lindberg
1.5K vues39 diapositives
King Tut Architecture par
King Tut ArchitectureKing Tut Architecture
King Tut ArchitectureGary Pedretti
1.2K vues46 diapositives

Similaire à Empowering Advanced Users: Extending OutSystems UI Framework with Openness and Extensibility(20)

Introduction to UX for Mesiniaga Academy par Zainul Zain
Introduction to UX for Mesiniaga AcademyIntroduction to UX for Mesiniaga Academy
Introduction to UX for Mesiniaga Academy
Zainul Zain387 vues
Azure Functions in Action #CodePaLOUsa par Baskar rao Dsn
Azure Functions in Action #CodePaLOUsaAzure Functions in Action #CodePaLOUsa
Azure Functions in Action #CodePaLOUsa
Baskar rao Dsn93 vues
Tips for Beginning Cognos Report Studio Authors: Demonstration of Techniques par Senturus
Tips for Beginning Cognos Report Studio Authors: Demonstration of TechniquesTips for Beginning Cognos Report Studio Authors: Demonstration of Techniques
Tips for Beginning Cognos Report Studio Authors: Demonstration of Techniques
Senturus735 vues
Udvid din test portefølje med coded ui test og cloud load test par Peter Lindberg
Udvid din test portefølje med coded ui test og cloud load testUdvid din test portefølje med coded ui test og cloud load test
Udvid din test portefølje med coded ui test og cloud load test
Peter Lindberg1.5K vues
Shield UI JavaScript Chart par JStoikov
Shield UI JavaScript ChartShield UI JavaScript Chart
Shield UI JavaScript Chart
JStoikov3.2K vues
Transitioning to Cognos Workspace Advanced: Migrating from Query & Analysis S... par Senturus
Transitioning to Cognos Workspace Advanced: Migrating from Query & Analysis S...Transitioning to Cognos Workspace Advanced: Migrating from Query & Analysis S...
Transitioning to Cognos Workspace Advanced: Migrating from Query & Analysis S...
Senturus1.9K vues
Sitecore user group mumbai sitecore commerce extension par Jitendra Soni
Sitecore user group mumbai  sitecore commerce extensionSitecore user group mumbai  sitecore commerce extension
Sitecore user group mumbai sitecore commerce extension
Jitendra Soni50 vues
CookpadTechConf2018-(Mobile)TestAutomation par Kazuaki Matsuo
CookpadTechConf2018-(Mobile)TestAutomationCookpadTechConf2018-(Mobile)TestAutomation
CookpadTechConf2018-(Mobile)TestAutomation
Kazuaki Matsuo3.1K vues
Getting Started With Coded UI testing: Building Your First Automated Test par Imaginet
Getting Started With Coded UI testing: Building Your First Automated TestGetting Started With Coded UI testing: Building Your First Automated Test
Getting Started With Coded UI testing: Building Your First Automated Test
Imaginet1.5K vues
Where Does IBM Web Experience Factory Fit in your Architecture? TECH-D22 from... par Davalen LLC
Where Does IBM Web Experience Factory Fit in your Architecture? TECH-D22 from...Where Does IBM Web Experience Factory Fit in your Architecture? TECH-D22 from...
Where Does IBM Web Experience Factory Fit in your Architecture? TECH-D22 from...
Davalen LLC4.9K vues
TomaszPoszytek_ALM-Fundamentals_SS2023.pdf par Tomasz Poszytek
TomaszPoszytek_ALM-Fundamentals_SS2023.pdfTomaszPoszytek_ALM-Fundamentals_SS2023.pdf
TomaszPoszytek_ALM-Fundamentals_SS2023.pdf
Tomasz Poszytek16 vues

Dernier

Transport Management System - Shipment & Container Tracking par
Transport Management System - Shipment & Container TrackingTransport Management System - Shipment & Container Tracking
Transport Management System - Shipment & Container TrackingFreightoscope
5 vues3 diapositives
Airline Booking Software par
Airline Booking SoftwareAirline Booking Software
Airline Booking SoftwareSharmiMehta
9 vues26 diapositives
predicting-m3-devopsconMunich-2023-v2.pptx par
predicting-m3-devopsconMunich-2023-v2.pptxpredicting-m3-devopsconMunich-2023-v2.pptx
predicting-m3-devopsconMunich-2023-v2.pptxTier1 app
12 vues33 diapositives
JioEngage_Presentation.pptx par
JioEngage_Presentation.pptxJioEngage_Presentation.pptx
JioEngage_Presentation.pptxadmin125455
8 vues4 diapositives
predicting-m3-devopsconMunich-2023.pptx par
predicting-m3-devopsconMunich-2023.pptxpredicting-m3-devopsconMunich-2023.pptx
predicting-m3-devopsconMunich-2023.pptxTier1 app
8 vues24 diapositives
Top-5-production-devconMunich-2023.pptx par
Top-5-production-devconMunich-2023.pptxTop-5-production-devconMunich-2023.pptx
Top-5-production-devconMunich-2023.pptxTier1 app
9 vues40 diapositives

Dernier(20)

Transport Management System - Shipment & Container Tracking par Freightoscope
Transport Management System - Shipment & Container TrackingTransport Management System - Shipment & Container Tracking
Transport Management System - Shipment & Container Tracking
predicting-m3-devopsconMunich-2023-v2.pptx par Tier1 app
predicting-m3-devopsconMunich-2023-v2.pptxpredicting-m3-devopsconMunich-2023-v2.pptx
predicting-m3-devopsconMunich-2023-v2.pptx
Tier1 app12 vues
JioEngage_Presentation.pptx par admin125455
JioEngage_Presentation.pptxJioEngage_Presentation.pptx
JioEngage_Presentation.pptx
admin1254558 vues
predicting-m3-devopsconMunich-2023.pptx par Tier1 app
predicting-m3-devopsconMunich-2023.pptxpredicting-m3-devopsconMunich-2023.pptx
predicting-m3-devopsconMunich-2023.pptx
Tier1 app8 vues
Top-5-production-devconMunich-2023.pptx par Tier1 app
Top-5-production-devconMunich-2023.pptxTop-5-production-devconMunich-2023.pptx
Top-5-production-devconMunich-2023.pptx
Tier1 app9 vues
ADDO_2022_CICID_Tom_Halpin.pdf par TomHalpin9
ADDO_2022_CICID_Tom_Halpin.pdfADDO_2022_CICID_Tom_Halpin.pdf
ADDO_2022_CICID_Tom_Halpin.pdf
TomHalpin95 vues
Navigating container technology for enhanced security by Niklas Saari par Metosin Oy
Navigating container technology for enhanced security by Niklas SaariNavigating container technology for enhanced security by Niklas Saari
Navigating container technology for enhanced security by Niklas Saari
Metosin Oy15 vues
DRYiCE™ iAutomate: AI-enhanced Intelligent Runbook Automation par HCLSoftware
DRYiCE™ iAutomate: AI-enhanced Intelligent Runbook AutomationDRYiCE™ iAutomate: AI-enhanced Intelligent Runbook Automation
DRYiCE™ iAutomate: AI-enhanced Intelligent Runbook Automation
HCLSoftware6 vues
Automated Testing of Microsoft Power BI Reports par RTTS
Automated Testing of Microsoft Power BI ReportsAutomated Testing of Microsoft Power BI Reports
Automated Testing of Microsoft Power BI Reports
RTTS10 vues
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium... par Lisi Hocke
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...
Lisi Hocke35 vues
How Workforce Management Software Empowers SMEs | TraQSuite par TraQSuite
How Workforce Management Software Empowers SMEs | TraQSuiteHow Workforce Management Software Empowers SMEs | TraQSuite
How Workforce Management Software Empowers SMEs | TraQSuite
TraQSuite6 vues

Empowering Advanced Users: Extending OutSystems UI Framework with Openness and Extensibility