SlideShare a Scribd company logo
ECLIPSE DIRIGIBLE WEBIDE
DEEP DIVE
ECLIPSECON EUROPE 2018
NEDELCHO DELCHEV, YORDAN PAVLOV
WELCOME
• OVERVIEW
• WORKBENCH
• DATABASE
• DEBUG
• GIT
• DOCUMENTS
• EDITORS (ORION, ACE, MONACO) + CROSS-FILE REFS
• MODELERS (DSM, EDM, BPMN)
• TERMINAL
• DISCUSSIONS
• EXTENSIBILITY – PERSPECTIVES, VIEWS, EDITORS
• PLUGINS DEPOTS
• ANGULAR DIRECTIVES
• MESSAGEHUB
• THEMING
• CUSTOM STACK (CMS)
• RESTFUL BACKEND – SWAGGER
• FORM-BASED EDITORS
ALL THE INFORMATION YOU NEED
HTTP://WWW.DIRIGIBLE.IO
WHAT DO WE BELIEVE IN?
WHAT DO WE BELIEVE IN?
THE ULTIMATE GOAL IS THE
SHORTEST DEVELOPMENT TURN-AROUND
TIME
WHAT DO WE BELIEVE IN?
THE MOST PRODUCTIVE DEV MODEL IS
IN-SYSTEM PROGRAMMING MODEL
WHAT DO WE BELIEVE IN?
WE DEVELOP THE PROJECT IN THE WAY
WE LIKE IT AND USE IT
WHAT DO WE BELIEVE IN?
THE DEV ENVIRONMENT PROVIDES
COMPLETE FEATURES SET PER VERTICAL
SCENARIO
WHAT DO WE BELIEVE IN?
THE DEV ENVIRONMENT GIVES
OPTIONS
WHAT DO WE BELIEVE IN?
THE DEV ENVIRONMENT COVERS THE
FULL LIFE-CYCLE OF THE APPLICATIONS
OVERVIEW
• ANGULARJS 1.X, BOOTSTRAP 3.X, GOLDENLAYOUT, JSTREE, JQUERYTERMINAL, ETC.
• ORION, MONACO, ACE EDITORS
• RESTFUL BACKEND WITH SWAGGER DESCRIPTOR
• THEMING SUPPORT
• ON-THE-FLY EXTENSIBILITY
• FORM-BASED EDITORS PATTERN
• ANGULAR DIRECTIVES
• MESSAGING HUB FOR CROSS-VIEW/EDITOR EVENTS
WORKBENCH
• RESTFUL SERVICES
• JSTREE
• MESSAGING (E.G. SAVE)
RESTful Services
Engines
JVM
File System / Database
Repository
Browser
AngularJS Bootstrap ...
Workspaces
DATABASE
• DATABASE EXPLORER
• SQL VIEW
• RESULTS VIEW
DEBUG
• BACKED BY RHINO
• MULTI-USER
• MULTI-SESSION
• LOOKUP FOR CORE MODULES
GIT
• SIMPLIFIED INTERACTION
• DEPENDENCY MANAGEMENT
• BUNDLING
DOCUMENTS
• CMIS SUPPORT
• ZIP UPLOAD/DOWNLOAD
• DATA STREAMING
EDITORS
• ORION
• ACE
• MONACO
• CROSS-FILE REFERENCES
• LSP
MODELERS
• MXGRAPH BASED
• DRAG & DROP
• ANGULARJS FORMS
TERMINAL
• JQUERY.TERMINAL BASED
• HTTP/HTTPS
• NO NEED OF PORT 22
• PIPING STREAMS
DISCUSSIONS
• INSTANT ACCESS
• IN-SYSTEM COMMUNICATION
• PROJECT COLLABORATION
• SHORT-LIVING CHAT HISTORY
PLUGINS DEPOTS
• CENTRALIZED DEPOTS REGISTRY
• SIMPLIFIED DEPOT DESCRIPTOR
• ON-THE-FLY UPDATE
http://www.dirigible.io/depots.json
https://raw.githubusercontent.com/dirigiblelabs/depot/master/plugins.json
EXTENSIBILITY – PERSPECTIVES, VIEWS, EDITORS
• IDE-PERSPECTIVE
• IDE-VIEW
• IDE-EDITOR
• IDE-MENU
• IDE-TEMPLATE
ANGULAR DIRECTIVES
• BRANDTITLE
• BRANDICON
• MENU
• SIDEBAR
• STATUS-BAR
• VIEWS-LAYOUT
https://github.com/dirigiblelabs/ide-
core/blob/master/ide-core/ui/ui-core-ng-modules.js
MESSAGEHUB
• WINDOW.POSTMESSAGE()
• WINDOW.ADDEVENTLISTENER()
https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage
THEMING
CUSTOM STACK AND EMBEDDED CASE
• COMPONENTS ON MAVEN CENTRAL
• WEBJARS APPROACH
• OWN API IMPLEMENTATION
• 3-RD PARTY LIBRARIES
Dirigible Standard Stack
Java Webjars
Maven
Central
GitHub
DirigibleLabs
GitHub
Dirigible
Java Webjars
Dirigible Custom Stack
Standard Java &
Webjars modules
Webjars
Custom
Application
Modules
Custom Java
Modules
Java Webjars
Java
RESTFUL BACKEND
• SWAGGER DESCRIPTOR
• POSSIBLE IMPLEMENTATION IN OTHER LANGUAGES/FRAMEWORKS – NODE.JS, GO(OTTO)
http://dirigible.eclipse.org/services/v3/web/ide-swagger/index.html
http://dirigible.eclipse.org/services/v3/swagger.json
RESTful JavaScriptRESTful Java
JVM
Browser
HTML CSS ...
FORM-BASED EDITORS
• SECURITY CONSTRAINTS
• LISTENERS
• JOBS
• TABLES
• VIEWS
• EXTENSION POINTS
• EXTENSIONS
THANK YOU!
REFERENCES
• LAYOUT
• HTTPS://GITHUB.COM/DIRIGIBLELABS/DEMO-ECLIPSECON2018-IDE-LAYOUT
• MESSAGEHUB
• HTTPS://GITHUB.COM/DIRIGIBLELABS/DEMO-ECLIPSECON2018-IDE
FEEDBACK

More Related Content

What's hot

Sqlite Introduction
Sqlite IntroductionSqlite Introduction
Sqlite Introduction
Praveen Nair
 
ASP.NET Scalability - VBUG London
ASP.NET Scalability - VBUG LondonASP.NET Scalability - VBUG London
ASP.NET Scalability - VBUG London
Phil Pursglove
 
ASP.NET Scalability - DDD7
ASP.NET Scalability - DDD7ASP.NET Scalability - DDD7
ASP.NET Scalability - DDD7
Phil Pursglove
 
ASP.NET Scalability - WebDD
ASP.NET Scalability - WebDDASP.NET Scalability - WebDD
ASP.NET Scalability - WebDD
Phil Pursglove
 

What's hot (20)

Azure - Incoming network traffic
Azure - Incoming network trafficAzure - Incoming network traffic
Azure - Incoming network traffic
 
IWMW 2003: Content Management - Buy or Build?
IWMW 2003: Content Management - Buy or Build?IWMW 2003: Content Management - Buy or Build?
IWMW 2003: Content Management - Buy or Build?
 
Packetbeat at GDG Berlin meetup
Packetbeat at GDG Berlin meetupPacketbeat at GDG Berlin meetup
Packetbeat at GDG Berlin meetup
 
Jakarta JS April 2014
Jakarta JS April 2014Jakarta JS April 2014
Jakarta JS April 2014
 
Next Generation Web Development Techniques with Cloud Foundry
Next Generation Web Development Techniques with Cloud FoundryNext Generation Web Development Techniques with Cloud Foundry
Next Generation Web Development Techniques with Cloud Foundry
 
Web app architecture
Web app architectureWeb app architecture
Web app architecture
 
IWMW 2003: Content Management - Buy or Build?
IWMW 2003: Content Management - Buy or Build?IWMW 2003: Content Management - Buy or Build?
IWMW 2003: Content Management - Buy or Build?
 
Full stack JavaScript - the folly of choice
Full stack JavaScript - the folly of choiceFull stack JavaScript - the folly of choice
Full stack JavaScript - the folly of choice
 
Sqlite Introduction
Sqlite IntroductionSqlite Introduction
Sqlite Introduction
 
Express yourself
Express yourselfExpress yourself
Express yourself
 
ASP.NET Scalability - VBUG London
ASP.NET Scalability - VBUG LondonASP.NET Scalability - VBUG London
ASP.NET Scalability - VBUG London
 
Quick start guide to java script frameworks for sharepoint apps spsbe-2015
Quick start guide to java script frameworks for sharepoint apps spsbe-2015Quick start guide to java script frameworks for sharepoint apps spsbe-2015
Quick start guide to java script frameworks for sharepoint apps spsbe-2015
 
Node ts1
Node ts1Node ts1
Node ts1
 
Windows Azure
Windows AzureWindows Azure
Windows Azure
 
ASP.NET Scalability - DDD7
ASP.NET Scalability - DDD7ASP.NET Scalability - DDD7
ASP.NET Scalability - DDD7
 
The Evolution of Hosting and What's Next in Cloud Architecture - EE Conf 2018
The Evolution of Hosting and What's Next in Cloud Architecture - EE Conf 2018 The Evolution of Hosting and What's Next in Cloud Architecture - EE Conf 2018
The Evolution of Hosting and What's Next in Cloud Architecture - EE Conf 2018
 
Introduction to JavaScript Full Stack
Introduction to JavaScript Full StackIntroduction to JavaScript Full Stack
Introduction to JavaScript Full Stack
 
Olympya web-tools 2011
Olympya web-tools 2011Olympya web-tools 2011
Olympya web-tools 2011
 
Headless approach for offloading heavy tasks in Magento
Headless approach for offloading heavy tasks in MagentoHeadless approach for offloading heavy tasks in Magento
Headless approach for offloading heavy tasks in Magento
 
ASP.NET Scalability - WebDD
ASP.NET Scalability - WebDDASP.NET Scalability - WebDD
ASP.NET Scalability - WebDD
 

Similar to Eclipse Dirigible WebIDE - Deep Dive

Building SharePoint Single Page Applications Using AngularJS
Building SharePoint Single Page Applications Using AngularJSBuilding SharePoint Single Page Applications Using AngularJS
Building SharePoint Single Page Applications Using AngularJS
SharePointInstitute
 

Similar to Eclipse Dirigible WebIDE - Deep Dive (20)

Cross-platform interaction
Cross-platform interactionCross-platform interaction
Cross-platform interaction
 
Be faster then rabbits
Be faster then rabbitsBe faster then rabbits
Be faster then rabbits
 
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
 
Building SharePoint Single Page Applications Using AngularJS
Building SharePoint Single Page Applications Using AngularJSBuilding SharePoint Single Page Applications Using AngularJS
Building SharePoint Single Page Applications Using AngularJS
 
The MEAN Stack
The MEAN StackThe MEAN Stack
The MEAN Stack
 
Node.js
Node.jsNode.js
Node.js
 
It's a wrap - closing keynote for nlOUG Tech Experience 2017 (16th June, The ...
It's a wrap - closing keynote for nlOUG Tech Experience 2017 (16th June, The ...It's a wrap - closing keynote for nlOUG Tech Experience 2017 (16th June, The ...
It's a wrap - closing keynote for nlOUG Tech Experience 2017 (16th June, The ...
 
Beyond DevOps: How Netflix Bridges the Gap?
Beyond DevOps: How Netflix Bridges the Gap?Beyond DevOps: How Netflix Bridges the Gap?
Beyond DevOps: How Netflix Bridges the Gap?
 
Modern DevOps across Technologies on premises and clouds with Oracle Manageme...
Modern DevOps across Technologies on premises and clouds with Oracle Manageme...Modern DevOps across Technologies on premises and clouds with Oracle Manageme...
Modern DevOps across Technologies on premises and clouds with Oracle Manageme...
 
Whats New in Eclipse Dirigible 3
Whats New in Eclipse Dirigible 3Whats New in Eclipse Dirigible 3
Whats New in Eclipse Dirigible 3
 
Full Stack Developer Course | Infinite Graphix Technologies
Full Stack Developer Course | Infinite Graphix TechnologiesFull Stack Developer Course | Infinite Graphix Technologies
Full Stack Developer Course | Infinite Graphix Technologies
 
Azure Stream Analytics
Azure Stream AnalyticsAzure Stream Analytics
Azure Stream Analytics
 
What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...
What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...
What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...
 
CDC to the Max!
CDC to the Max!CDC to the Max!
CDC to the Max!
 
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
 
After the LAMP, it's time to get MEAN
After the LAMP, it's time to get MEANAfter the LAMP, it's time to get MEAN
After the LAMP, it's time to get MEAN
 
RESTful web
RESTful webRESTful web
RESTful web
 
NoSQL
NoSQLNoSQL
NoSQL
 
Modern software architectures - PHP UK Conference 2015
Modern software architectures - PHP UK Conference 2015Modern software architectures - PHP UK Conference 2015
Modern software architectures - PHP UK Conference 2015
 
An Azure of Things, a developer’s perspective
An Azure of Things, a developer’s perspectiveAn Azure of Things, a developer’s perspective
An Azure of Things, a developer’s perspective
 

Recently uploaded

Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 

Recently uploaded (20)

Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Studiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting softwareStudiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting software
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Agnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in KrakówAgnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in Kraków
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
 

Eclipse Dirigible WebIDE - Deep Dive