SlideShare a Scribd company logo
Building Frameworks
From Concept to Completion
Rúben Gonçalves
Code crafter
@ frameworks@rubengoncalves.work
in /rubengoncalves
/techrug
Rúben Gonçalves
curious,
OutSystems MVP,
venturesome, thinker
code crafter,
Data Grid Reactive OutSystems Maps
Silk UI web
Data Grid Reactive OutSystems Maps
Silk UI web
check out the talk
.Storytelling with Data Visualization.
.common ground.
setting
«A gathering of figures before a church», 1 540–1596, Paolo Fiammingo
& expectations
.not.
this is
a masterclass
«The School of Athens», Apostolic Palace, Vatican City 1509–1511, Raphael
.Framework.
do you mean
or library?
«Cutting the Stone», 1500 - 1520, Hieronymus Bosch
Pieces of reliable reusable code, that enables the
developer to focus high-level functionality of the
application.
Frameworks and Libraries
Control
Pieces of reliable reusable code, that enables the
developer to focus high-level functionality of the
application.
Frameworks and Libraries
The framework invokes
the custom code
The custom code invokes
the library code
IoC
Frameworks Libraries
.applies to both.
what we’ll see...
.Framework.
how is creating a
anyhow different?
«Israelites making bricks», 15th-century , Flemish Bible History
.everyday.
your
project
business goals
features
timelines
performance
maintenance
user experience
.Framework.
your
project
features
timelines
performance
maintenance
user experience
.developer experience.
.unknown ends
.Framework goals.
.you have hundreds.
you don’t have a client,
forging a
«Blacksmith at His Forge», 17th-century , Le Nain brothers
.Framework.
.listen.
.listen.
first,
all the time
.difficulties.
.pains.
.objectives.
.use cases.
.acknowledge.
.follow up.
Framework
.purpose.
absolutely
crucial
.features
.timelines
.performance
.maintenance
.user experience
.Framework.
your
project
.unknown ends.
.developer experience.
.Framework goals.
listen
.design.
.design.
then,
.core values.
.vision.
.modular.
.granular.
.technology
.tools
Framework
.mindset.
for others
choose
wisely
.Framework.
your
project
.features
.timelines
.performance
.maintenance
.user experience
.Framework goals.
.unknown ends.
.developer experience.
listen
.design.
.create.
.create.
finally,
.maintenance.
.architecture.
.testing.
.samples.
.extensible
.open source
Framework
.code.
future
proof
.Framework.
your
project
.features
.timelines
.performance
.maintenance
.user experience
.Framework goals.
.unknown ends.
.developer experience.
.developer experience.
«Michal's Dowry, A Bloody Struggle», 16th-century , The Crusader Bible
.people.
developers are
,too
.into practice.
putting it
«Cutting the Stone», 1500 - 1520, Hieronymus Bosch
OutSystems Maps
Silk UI web Data Grid Reactive
.similar components
first, .listen.
.gather information .forge downloads
.users posting in the forums
.pains and wishlists
.open, honest conversation
first, .listen.
.gather information
.interview developers
.understand the complains
.insights on usage
.gather information
.interview developers
.analyze competitors
Mendix AgGrid
Kony Wijmo
Salesforce Data Tables
QuickBase Kendo UI (telerik)
Appian Smartsheet
Power Apps Webix
Airtable Flexmonster
Handsontable WP data tables
first, .listen.
.simple and effective Data visualization in your hands!
then, .design. for others
Doing it the right way takes the
same time as doing it wrong
then, .design. for others
.simple and effective Data visualization in your hands!
.values mantra Experience First, Technology After
Experience First, Technology After
The world is our customer,
a customer doesn’t rule the world
Do not reinvent the wheel
No one’s left behind
No 3rd party lock-in
Keep the feedback looping
The world is our customer,
a customer doesn’t rule the world
Do not reinvent the wheel
No one’s left behind
No 3rd party lock-in
Doing it the right way takes the
same time as doing it wrong
then, .design. for others
.simple and effective Data visualization in your hands!
.core values
.modular and granular
then, .design. for others
.simple and effective Data visualization in your hands!
.core values
.modular and granular
.right. technology
low-code dev experience
dev time compilation
then, .design. for others
.simple and effective Data visualization in your hands!
.core values
.modular and granular
.technology
.appropriate. tools
development ide automation &
pipelines
code repo
low-code
finally, .create.
.architecture decoupled from provider
wijmo flexgrid
provider specific code
logic & features
static API
finally, .create.
.architecture decoupled from provider
wijmo flexgrid
provider specific code
logic & features
static stable API
static
API
where changes
occur
more .often.
low-code dev experience
finally, .create.
.architecture decoupled from provider & OutSystems
static API
wijmo flexgrid
provider specific code
logic & features
finally, .create.
.architecture decoupled from provider & OutSystems
2
1 3
4
finally, .create.
.architecture decoupled from OutSystems
easy to extend (6 levels)
1 2 3
4b
4a
finally, .create.
.architecture decoupled from OutSystems
.38.
granular code
easy to extend (6 levels)
finally, .create.
.architecture decoupled from OutSystems
easy to extend (6 levels)
5a 5b
.81.
5c
//your code here
finally, .create.
.architecture decoupled from OutSystems
easy to extend (6 levels)
6
wijmo object
finally, .create.
.architecture decoupled from OutSystems
easy to extend
easy to understand (low-code)
finally, .create.
.architecture decoupled from OutSystems
easy to extend
easy to understand (high-code)
code called by
OutSystems code
logic & features
provider independent
provider specific
code
provider library
added in runtime
finally, .create.
.architecture decoupled from OutSystems
easy to extend
easy to understand (high-code)
docs + uml
finally, .create.
.architecture
.testing
✓
main
feature a
other
features
.462. tests
55 minutes
finally, .create.
.architecture
.testing
.samples
https://bit.ly/3o6jWCp
finally, .create.
.architecture
.testing
.samples
.open source.
https://bit.ly/3qgzyWS
finally, .create.
.architecture
.testing
.samples
.open source.
https://bit.ly/3qgzyWS
finally, .create.
.architecture
.testing
.samples
.open source.
https://bit.ly/3qgzyWS
first, .listen.
.acknowledge.
.follow up.
all the time
.take away.
thoughts
«Hannah Honors her Vow» , 16th-century, The Crusader Bible
.listen.
.design.
«The dark side of the moon», 1973, album cover - Pink Floyd
.create.
«The Blacksmith», 1568 , Jost Amman
.people.
developers are
, too
and deserve a
«Absinthe Drinker», 1901, Picasso
.great UX.
«Das buch der Cronicken vnd gedechtnus wirdigern geschichte», 1770?
.developers.
you make the blocks
build the castle!
https://bit.ly/3oiC38h
just the
iceberg(!?)
.tip.
.thank you.
nothing more to see, please move along!
Rúben Gonçalves
Code crafter
«The Conjurer», 1530 - 1540, Hieronymus Bosch
a sincere

More Related Content

PDF
Axa Case Study with OutSystems
PPTX
Extending OutSystems with Javascript
PPTX
0 to 60 With Outsystems
PPTX
OutSystems Tricks & Tips for Complex UI Integrations
PPTX
Hardcore CSS Made Easy
PPTX
OutSystems Tips and Tricks
PDF
Hands on With Advanced Data Grid
PPTX
Create Amazing Reports in OutSystems
Axa Case Study with OutSystems
Extending OutSystems with Javascript
0 to 60 With Outsystems
OutSystems Tricks & Tips for Complex UI Integrations
Hardcore CSS Made Easy
OutSystems Tips and Tricks
Hands on With Advanced Data Grid
Create Amazing Reports in OutSystems

What's hot (20)

PPTX
OutSystems User Groups - Introduction to OutSystems Architecture (Pune - 7 A...
PPTX
Building CRUD Wrappers
PDF
Clean architecture - Protecting the Domain
PPTX
BPM Patterns & Best Practices with OutSystems BPT
PPTX
Growing and Scaling OutSystems
PDF
Why OutSystems
PDF
Microservices Architecture for e-Commerce
PPTX
Unattended OutSystems Installation
PPTX
Application Lifetime Management
PPTX
Architecture 101 + Libraries
PPTX
Tenants: A Look Behind the Scenes
PPT
Pitch/Investor Deck Template for Start Ups
PDF
MuleSoft Surat Meetup#45 - Anypoint Flex Gateway as a Kubernetes Ingress Cont...
PPTX
Service Actions
PPSX
Async-await best practices in 10 minutes
PDF
Technical Webinar: By the (Play) Book: The Agile Practice at OutSystems
PPTX
OutSystems: A more efficient way to build apps!
PPT
Zapmeals: Sample Startup Pitch Deck (from SuperNova 2007)
PPTX
Timesheet Workshop: The Timesheet App People Love!
PPTX
Automating Your Way to Greatness by Combining OutSystems CI/CD With the Power...
OutSystems User Groups - Introduction to OutSystems Architecture (Pune - 7 A...
Building CRUD Wrappers
Clean architecture - Protecting the Domain
BPM Patterns & Best Practices with OutSystems BPT
Growing and Scaling OutSystems
Why OutSystems
Microservices Architecture for e-Commerce
Unattended OutSystems Installation
Application Lifetime Management
Architecture 101 + Libraries
Tenants: A Look Behind the Scenes
Pitch/Investor Deck Template for Start Ups
MuleSoft Surat Meetup#45 - Anypoint Flex Gateway as a Kubernetes Ingress Cont...
Service Actions
Async-await best practices in 10 minutes
Technical Webinar: By the (Play) Book: The Agile Practice at OutSystems
OutSystems: A more efficient way to build apps!
Zapmeals: Sample Startup Pitch Deck (from SuperNova 2007)
Timesheet Workshop: The Timesheet App People Love!
Automating Your Way to Greatness by Combining OutSystems CI/CD With the Power...
Ad

Similar to Building frameworks: from concept to completion (20)

PDF
The goodies of zope, pyramid, and plone (2)
PDF
Architecturing the software stack at a small business
PPT
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
PDF
Lublin Startup Festival - Mobile Architecture Design Patterns
PDF
TejaSoft Code Audit Case Studies
ODP
Path Dependent Development (PyCon AU)
PDF
Open-Source Low-Code - Craig St. Jean, Xebia
PPTX
Marco Mancuso - Data Context Interaction
PDF
Smart Client Development
PDF
Object Orientation Fundamentals
PDF
"Standing on the Shoulders of Giants" by Brian King @ eLiberatica 2008
PPTX
FusionCharts Clockworks
PDF
Hpc lunch and learn
PDF
Prototyping like it is 2022
PDF
UI Dev in Big data world using open source
ODP
Path dependent-development (PyCon India)
PDF
Programming for non tech entrepreneurs
PDF
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. Molina
PDF
Rasmus, Think Again! Agile Framework == Happy Php Developer
The goodies of zope, pyramid, and plone (2)
Architecturing the software stack at a small business
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Lublin Startup Festival - Mobile Architecture Design Patterns
TejaSoft Code Audit Case Studies
Path Dependent Development (PyCon AU)
Open-Source Low-Code - Craig St. Jean, Xebia
Marco Mancuso - Data Context Interaction
Smart Client Development
Object Orientation Fundamentals
"Standing on the Shoulders of Giants" by Brian King @ eLiberatica 2008
FusionCharts Clockworks
Hpc lunch and learn
Prototyping like it is 2022
UI Dev in Big data world using open source
Path dependent-development (PyCon India)
Programming for non tech entrepreneurs
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. Molina
Rasmus, Think Again! Agile Framework == Happy Php Developer
Ad

More from Ruben Goncalves (12)

PDF
Programming as a form of art
PDF
Mobile Location workshop
PDF
Creating Mobile Apps like a BOSS
PPTX
Dos and Don'ts on the road to Mobility
PPTX
The real impact of mobility on your business apps
PPTX
Delivering Mobile Apps That Perform
PPTX
Top front-end techniques for OutSystems
PPTX
Hardcore Mobile integrations
PPTX
Become a mobile developer from scratch
PPTX
Usability session @ SEI Universidade do Minho
PDF
CSS workshop @ OutSystems
PDF
Grids and Visual hierarchy for developers
Programming as a form of art
Mobile Location workshop
Creating Mobile Apps like a BOSS
Dos and Don'ts on the road to Mobility
The real impact of mobility on your business apps
Delivering Mobile Apps That Perform
Top front-end techniques for OutSystems
Hardcore Mobile integrations
Become a mobile developer from scratch
Usability session @ SEI Universidade do Minho
CSS workshop @ OutSystems
Grids and Visual hierarchy for developers

Recently uploaded (20)

PDF
PTS Company Brochure 2025 (1).pdf.......
PPTX
ai tools demonstartion for schools and inter college
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PPTX
Introduction to Artificial Intelligence
PPTX
history of c programming in notes for students .pptx
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
System and Network Administration Chapter 2
PPT
Introduction Database Management System for Course Database
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PPTX
Transform Your Business with a Software ERP System
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
Online Work Permit System for Fast Permit Processing
PPTX
L1 - Introduction to python Backend.pptx
PTS Company Brochure 2025 (1).pdf.......
ai tools demonstartion for schools and inter college
Design an Analysis of Algorithms II-SECS-1021-03
ManageIQ - Sprint 268 Review - Slide Deck
Introduction to Artificial Intelligence
history of c programming in notes for students .pptx
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
2025 Textile ERP Trends: SAP, Odoo & Oracle
System and Network Administration Chapter 2
Introduction Database Management System for Course Database
Softaken Excel to vCard Converter Software.pdf
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Design an Analysis of Algorithms I-SECS-1021-03
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Upgrade and Innovation Strategies for SAP ERP Customers
VVF-Customer-Presentation2025-Ver1.9.pptx
Transform Your Business with a Software ERP System
How to Migrate SBCGlobal Email to Yahoo Easily
Online Work Permit System for Fast Permit Processing
L1 - Introduction to python Backend.pptx

Building frameworks: from concept to completion