SlideShare a Scribd company logo
Mar$n	
  Lippert
SCRIPTED	
  -­‐	
  EMBRACING
    ECLIPSE	
  ORION
      mlippert@vmware.com
          @mar$nlippert
about me
    Mar4n	
  Lippert
     Staff	
  Engineer,	
  R&D,	
  at	
  SpringSource/
     VMware	
  and	
  lead	
  of	
  Spring	
  Tool	
  Suite	
  
     development




    Working	
  areas
      •Eclipse	
  Tooling	
  for	
  the	
  Spring	
  plaAorm
      •Open	
  Source	
  CommiDer
      •Aspect-­‐Weaving	
  for	
  OSGi
      •Cloud	
  IDEs	
  and	
  JavaScript
      •Agile	
  soKware	
  development




                                                                  2
implementing developer tooling
     for a long time now
 (AJDT, Groovy-Eclipse, Grails IDE, Spring IDE, Cloud Foundry Integration for
Eclipse, tc Server Integration for Eclipse, Gradle Integration for Eclipse, add-ons
                            for m2e, Equinox Weaving)
But how will developer tooling
    look like in the future?


                       Or
 „why is Google able to search the whole web in
10ms and my Eclipse needs 100x longer to open a
                type hierarchy“
what happens
if you do things differently?

 lightweight instead of heavyweight
       reusing existing tools
  connecting instead of integrating
           browser based
            cloud hosted
                  ...
Eclipse Orion
„Open Source Platform for
Cloud Based Development“

      similar direction
     awesome platform
very modular and re-useable
Eclipse Orion
       provides a platform for:

   navigating files and other content
clone from and push to git repositories
           code (editing files)
   directly testing (hosting) our app

                   +
          plug-in mechanism
orionhub.org
playground hosted by Eclipse
Client
               purely JavaScript
             runs in the browser
    plug-ins hosted in non-visible iframes

                  Server
           Java (OSGi application)
    relatively stupid (no real logic here)
new: node.js-based JavaScript implementation
Introducing

Scripted
a lightweight JavaScript editor
  that runs in your browser
Choices and decisions

       focus on editor
       lightweight, fast
      keystroke driven

       running locally

advanced code comprehension
   using inferencing engine
 module-aware content-assist
Choices and decisions
                           Eclipse Orion
                          (all JavaScript client)

  navigator                                                  content assist


Git integration                                                 folding
                        Editor Component
 site hosting                                                   JSLint


                                 sign-on




                           Eclipse Orion
                            (hosted or local)

                  serve JS/HTMS/CSS/files           search


                    Git integration         sign-on


                             OSGi (Java)
Choices and decisions
                    Eclipse Orion
                   (all JavaScript client)

  navigator                                  content assist


Git integration                                 folding
                  Editor Component
 site hosting                                   JSLint


                          sign-on
Choices and decisions

                                     content assist


Git integration                         folding
                  Editor Component
 site hosting                           JSLint


                       sign-on
Choices and decisions

                                  content assist


                                     folding
               Editor Component
site hosting                         JSLint


                    sign-on
Choices and decisions

                         content assist


                            folding
      Editor Component
                            JSLint


           sign-on
Choices and decisions

                         content assist


                            folding
      Editor Component
                            JSLint
Choices and decisions

                         content assist


      Editor Component
                            JSLint
Choices and decisions
       Scripted Client
       (all JavaScript client)

                                 content assist

                                   cross file
      Editor Component             analysis

                                    JSLint
Choices and decisions
       Scripted Client
       (all JavaScript client)

                                   content assist

                                     cross file
      Editor Component               analysis

                                      JSLint


                     AMD support
Choices and decisions
         Scripted Client
         (all JavaScript client)

                                     content assist

                                       cross file
       Editor Component                analysis

                                        JSLint


    CommonJS           AMD support
     support
Choices and decisions
                        Scripted Client
                        (all JavaScript client)

simple navigator                                    content assist

                                                      cross file
                      Editor Component                analysis

                                                       JSLint


                   CommonJS           AMD support
                    support
Choices and decisions
                        Scripted Client
                        (all JavaScript client)

simple navigator                                    content assist

                                                      cross file
inplace outline
                      Editor Component                analysis

                                                       JSLint


                   CommonJS           AMD support
                    support
Choices and decisions
                          Scripted Client
                          (all JavaScript client)

simple navigator                                      content assist

                                                        cross file
 inplace outline
                        Editor Component                analysis

single page layout                                       JSLint


                     CommonJS           AMD support
                      support
Choices and decisions


            Eclipse Orion
             (hosted or local)

   serve JS/HTMS/CSS/files        Search


     Git Integration         Sign-On


              OSGi (Java)
Choices and decisions


           Scripted Server
           (local, all JavaScript)

   serve JS/HTMS/CSS/files           search
Choices and decisions


           Scripted Server
           (local, all JavaScript)

   serve JS/HTMS/CSS/files           search




                node.js
Choices and decisions


           Scripted Server
           (local, all JavaScript)

   serve JS/HTMS/CSS/files           search


            cross file analysis


                node.js
Scripted overview
                              Scripted Client
                             (all JavaScript client)

simple navigator                                                content assist

                                                                  cross file
 inplace outline
                           Editor Component                       analysis

single page layout                                                 JSLint


                      CommonJS             AMD support
                       support



                             Scripted Server
                             (local, all JavaScript)

                     serve JS/HTMS/CSS/files           search


                              cross file analysis


                                  node.js
Demo time...
Summary
 Eclipse Orion is an awesome
platform for building browser-
         based tooling
What is next?
continuously contribute back to Orion
     add more innovative features
continue to think beyond the borders
Resources
                   Scripted project
     https://github.com/scripted-editor/scripted

                        Forum
https://groups.google.com/forum/#!forum/scripted-dev

                      Issue Tracker
https://issuetracker.springsource.com/browse/scripted

                Sample project used here
https://github.com/aeisenberg/scripted-demo-s2gx2012
Q&A
and thank you for your attention




            Martin Lippert
      Staff Engineer - VMware
      mlippert@vmware.com
           @martinlippert

More Related Content

What's hot

Dot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentalsDot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentals
Lalit Kale
 
Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019
Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019
Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019
Haufe-Lexware GmbH & Co KG
 
Enterprise Integration for Ethereum
Enterprise Integration for EthereumEnterprise Integration for Ethereum
Enterprise Integration for Ethereum
Bilgin Ibryam
 
Building Killer RESTful APIs with NodeJs
Building Killer RESTful APIs with NodeJsBuilding Killer RESTful APIs with NodeJs
Building Killer RESTful APIs with NodeJs
Srdjan Strbanovic
 
Infrastructure as Code on Azure: Show your Bicep!
Infrastructure as Code on Azure: Show your Bicep!Infrastructure as Code on Azure: Show your Bicep!
Infrastructure as Code on Azure: Show your Bicep!
Marco Obinu
 
Budowanie szablonów Azure Resource Manager w praktyce od podstaw
Budowanie szablonów Azure Resource Manager w praktyce od podstawBudowanie szablonów Azure Resource Manager w praktyce od podstaw
Budowanie szablonów Azure Resource Manager w praktyce od podstaw
Lukasz Kaluzny
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with Docker
visual28
 
Spring on Kubernetes
Spring on KubernetesSpring on Kubernetes
Spring on Kubernetes
Jay Lee
 
Kubernetes your next application server
Kubernetes  your next application serverKubernetes  your next application server
Kubernetes your next application server
Red Hat Developers
 
ASP.NET Core deployment options
ASP.NET Core deployment optionsASP.NET Core deployment options
ASP.NET Core deployment options
Ken Cenerelli
 
Micro Services in .NET Core and Docker
Micro Services in .NET Core and DockerMicro Services in .NET Core and Docker
Micro Services in .NET Core and Docker
cjmyers
 
Kubernetes for Serverless - Serverless Summit 2017 - Krishna Kumar
Kubernetes for Serverless  - Serverless Summit 2017 - Krishna KumarKubernetes for Serverless  - Serverless Summit 2017 - Krishna Kumar
Kubernetes for Serverless - Serverless Summit 2017 - Krishna Kumar
CodeOps Technologies LLP
 
Planning Your Cloud Strategy
Planning Your Cloud StrategyPlanning Your Cloud Strategy
Planning Your Cloud Strategy
Imesh Gunaratne
 
Blue whale, jail and Microsoft
Blue whale, jail and MicrosoftBlue whale, jail and Microsoft
Blue whale, jail and Microsoft
Lukasz Kaluzny
 
Evolve or Fall Behind: Driving Transformation with Containers - Sai Vennam - ...
Evolve or Fall Behind: Driving Transformation with Containers - Sai Vennam - ...Evolve or Fall Behind: Driving Transformation with Containers - Sai Vennam - ...
Evolve or Fall Behind: Driving Transformation with Containers - Sai Vennam - ...
CodeOps Technologies LLP
 
Unpacking .NET Core | EastBanc Technologies
Unpacking .NET Core | EastBanc TechnologiesUnpacking .NET Core | EastBanc Technologies
Unpacking .NET Core | EastBanc Technologies
EastBanc Tachnologies
 
Securing Containers - Sathyajit Bhat - Adobe - Container Conference 18
Securing Containers - Sathyajit Bhat - Adobe - Container Conference 18Securing Containers - Sathyajit Bhat - Adobe - Container Conference 18
Securing Containers - Sathyajit Bhat - Adobe - Container Conference 18
CodeOps Technologies LLP
 
How to build an event-driven, polyglot serverless microservices framework on ...
How to build an event-driven, polyglot serverless microservices framework on ...How to build an event-driven, polyglot serverless microservices framework on ...
How to build an event-driven, polyglot serverless microservices framework on ...
Animesh Singh
 
SERVERLESS MIDDLEWARE IN AZURE FUNCTIONS
SERVERLESS MIDDLEWARE IN AZURE FUNCTIONSSERVERLESS MIDDLEWARE IN AZURE FUNCTIONS
SERVERLESS MIDDLEWARE IN AZURE FUNCTIONS
CodeOps Technologies LLP
 
Continuous Delivery to Kubernetes Using Helm
Continuous Delivery to Kubernetes Using HelmContinuous Delivery to Kubernetes Using Helm
Continuous Delivery to Kubernetes Using Helm
Adnan Abdulhussein
 

What's hot (20)

Dot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentalsDot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentals
 
Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019
Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019
Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019
 
Enterprise Integration for Ethereum
Enterprise Integration for EthereumEnterprise Integration for Ethereum
Enterprise Integration for Ethereum
 
Building Killer RESTful APIs with NodeJs
Building Killer RESTful APIs with NodeJsBuilding Killer RESTful APIs with NodeJs
Building Killer RESTful APIs with NodeJs
 
Infrastructure as Code on Azure: Show your Bicep!
Infrastructure as Code on Azure: Show your Bicep!Infrastructure as Code on Azure: Show your Bicep!
Infrastructure as Code on Azure: Show your Bicep!
 
Budowanie szablonów Azure Resource Manager w praktyce od podstaw
Budowanie szablonów Azure Resource Manager w praktyce od podstawBudowanie szablonów Azure Resource Manager w praktyce od podstaw
Budowanie szablonów Azure Resource Manager w praktyce od podstaw
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with Docker
 
Spring on Kubernetes
Spring on KubernetesSpring on Kubernetes
Spring on Kubernetes
 
Kubernetes your next application server
Kubernetes  your next application serverKubernetes  your next application server
Kubernetes your next application server
 
ASP.NET Core deployment options
ASP.NET Core deployment optionsASP.NET Core deployment options
ASP.NET Core deployment options
 
Micro Services in .NET Core and Docker
Micro Services in .NET Core and DockerMicro Services in .NET Core and Docker
Micro Services in .NET Core and Docker
 
Kubernetes for Serverless - Serverless Summit 2017 - Krishna Kumar
Kubernetes for Serverless  - Serverless Summit 2017 - Krishna KumarKubernetes for Serverless  - Serverless Summit 2017 - Krishna Kumar
Kubernetes for Serverless - Serverless Summit 2017 - Krishna Kumar
 
Planning Your Cloud Strategy
Planning Your Cloud StrategyPlanning Your Cloud Strategy
Planning Your Cloud Strategy
 
Blue whale, jail and Microsoft
Blue whale, jail and MicrosoftBlue whale, jail and Microsoft
Blue whale, jail and Microsoft
 
Evolve or Fall Behind: Driving Transformation with Containers - Sai Vennam - ...
Evolve or Fall Behind: Driving Transformation with Containers - Sai Vennam - ...Evolve or Fall Behind: Driving Transformation with Containers - Sai Vennam - ...
Evolve or Fall Behind: Driving Transformation with Containers - Sai Vennam - ...
 
Unpacking .NET Core | EastBanc Technologies
Unpacking .NET Core | EastBanc TechnologiesUnpacking .NET Core | EastBanc Technologies
Unpacking .NET Core | EastBanc Technologies
 
Securing Containers - Sathyajit Bhat - Adobe - Container Conference 18
Securing Containers - Sathyajit Bhat - Adobe - Container Conference 18Securing Containers - Sathyajit Bhat - Adobe - Container Conference 18
Securing Containers - Sathyajit Bhat - Adobe - Container Conference 18
 
How to build an event-driven, polyglot serverless microservices framework on ...
How to build an event-driven, polyglot serverless microservices framework on ...How to build an event-driven, polyglot serverless microservices framework on ...
How to build an event-driven, polyglot serverless microservices framework on ...
 
SERVERLESS MIDDLEWARE IN AZURE FUNCTIONS
SERVERLESS MIDDLEWARE IN AZURE FUNCTIONSSERVERLESS MIDDLEWARE IN AZURE FUNCTIONS
SERVERLESS MIDDLEWARE IN AZURE FUNCTIONS
 
Continuous Delivery to Kubernetes Using Helm
Continuous Delivery to Kubernetes Using HelmContinuous Delivery to Kubernetes Using Helm
Continuous Delivery to Kubernetes Using Helm
 

Similar to Scripted - Embracing Eclipse Orion

Embracing Eclipse Orion
Embracing Eclipse OrionEmbracing Eclipse Orion
Embracing Eclipse Orion
martinlippert
 
Browser and Cloud - The Future of IDEs?
Browser and Cloud - The Future of IDEs?Browser and Cloud - The Future of IDEs?
Browser and Cloud - The Future of IDEs?
martinlippert
 
The Java Content Repository
The Java Content RepositoryThe Java Content Repository
The Java Content Repository
nobby
 
Introduction and hacking OpenStack, Pycon India
Introduction and hacking OpenStack,  Pycon IndiaIntroduction and hacking OpenStack,  Pycon India
Introduction and hacking OpenStack, Pycon India
Atul Jha
 
Multithreading in Android
Multithreading in AndroidMultithreading in Android
Multithreading in Android
coolmirza143
 
Jlook open api platform-sysdevguide
Jlook open api platform-sysdevguideJlook open api platform-sysdevguide
Jlook open api platform-sysdevguide
HongSeong Jeon
 
Web polyglot programming
Web polyglot programmingWeb polyglot programming
Web polyglot programming
Dmitry Buzdin
 
Android Introduction
Android IntroductionAndroid Introduction
Android Introduction
aswapnal
 
Playframework + Twitter Bootstrap
Playframework + Twitter BootstrapPlayframework + Twitter Bootstrap
Playframework + Twitter Bootstrap
Kevingo Tsai
 
JSF 2.3: Integration with Front-End Frameworks
JSF 2.3: Integration with Front-End FrameworksJSF 2.3: Integration with Front-End Frameworks
JSF 2.3: Integration with Front-End Frameworks
Ian Hlavats
 
Android application development
Android application developmentAndroid application development
Android application development
Linh Vi Tường
 
Tech Mind Maps - Booklet Preview
Tech Mind Maps - Booklet PreviewTech Mind Maps - Booklet Preview
Tech Mind Maps - Booklet Preview
Michal Juhas
 
What’s New & Cool in NetBeans IDE 7.x
What’s New & Cool in NetBeans IDE 7.xWhat’s New & Cool in NetBeans IDE 7.x
What’s New & Cool in NetBeans IDE 7.x
Erik Gur
 
What's New in NetBeans IDE 7.x
What's New in NetBeans IDE 7.xWhat's New in NetBeans IDE 7.x
What's New in NetBeans IDE 7.x
Geertjan Wielenga
 
The Java alternative to Javascript
The Java alternative to JavascriptThe Java alternative to Javascript
The Java alternative to Javascript
Manuel Carrasco Moñino
 
RichFaces CDK: Rapid JSF Component Development
RichFaces CDK: Rapid JSF Component DevelopmentRichFaces CDK: Rapid JSF Component Development
RichFaces CDK: Rapid JSF Component Development
Lukáš Fryč
 
Android Anatomy google io 2008
Android Anatomy google io 2008Android Anatomy google io 2008
Android Anatomy google io 2008
Trinh Duy Hung
 
Lit there be light
Lit there be lightLit there be light
Lit there be light
Ilya Gorenburg
 
GWT Introduction for Eclipse Day
GWT Introduction for Eclipse Day GWT Introduction for Eclipse Day
GWT Introduction for Eclipse Day
DNG Consulting
 
GWT: Our Experiences
GWT: Our ExperiencesGWT: Our Experiences
GWT: Our Experiences
Yenwen Feng
 

Similar to Scripted - Embracing Eclipse Orion (20)

Embracing Eclipse Orion
Embracing Eclipse OrionEmbracing Eclipse Orion
Embracing Eclipse Orion
 
Browser and Cloud - The Future of IDEs?
Browser and Cloud - The Future of IDEs?Browser and Cloud - The Future of IDEs?
Browser and Cloud - The Future of IDEs?
 
The Java Content Repository
The Java Content RepositoryThe Java Content Repository
The Java Content Repository
 
Introduction and hacking OpenStack, Pycon India
Introduction and hacking OpenStack,  Pycon IndiaIntroduction and hacking OpenStack,  Pycon India
Introduction and hacking OpenStack, Pycon India
 
Multithreading in Android
Multithreading in AndroidMultithreading in Android
Multithreading in Android
 
Jlook open api platform-sysdevguide
Jlook open api platform-sysdevguideJlook open api platform-sysdevguide
Jlook open api platform-sysdevguide
 
Web polyglot programming
Web polyglot programmingWeb polyglot programming
Web polyglot programming
 
Android Introduction
Android IntroductionAndroid Introduction
Android Introduction
 
Playframework + Twitter Bootstrap
Playframework + Twitter BootstrapPlayframework + Twitter Bootstrap
Playframework + Twitter Bootstrap
 
JSF 2.3: Integration with Front-End Frameworks
JSF 2.3: Integration with Front-End FrameworksJSF 2.3: Integration with Front-End Frameworks
JSF 2.3: Integration with Front-End Frameworks
 
Android application development
Android application developmentAndroid application development
Android application development
 
Tech Mind Maps - Booklet Preview
Tech Mind Maps - Booklet PreviewTech Mind Maps - Booklet Preview
Tech Mind Maps - Booklet Preview
 
What’s New & Cool in NetBeans IDE 7.x
What’s New & Cool in NetBeans IDE 7.xWhat’s New & Cool in NetBeans IDE 7.x
What’s New & Cool in NetBeans IDE 7.x
 
What's New in NetBeans IDE 7.x
What's New in NetBeans IDE 7.xWhat's New in NetBeans IDE 7.x
What's New in NetBeans IDE 7.x
 
The Java alternative to Javascript
The Java alternative to JavascriptThe Java alternative to Javascript
The Java alternative to Javascript
 
RichFaces CDK: Rapid JSF Component Development
RichFaces CDK: Rapid JSF Component DevelopmentRichFaces CDK: Rapid JSF Component Development
RichFaces CDK: Rapid JSF Component Development
 
Android Anatomy google io 2008
Android Anatomy google io 2008Android Anatomy google io 2008
Android Anatomy google io 2008
 
Lit there be light
Lit there be lightLit there be light
Lit there be light
 
GWT Introduction for Eclipse Day
GWT Introduction for Eclipse Day GWT Introduction for Eclipse Day
GWT Introduction for Eclipse Day
 
GWT: Our Experiences
GWT: Our ExperiencesGWT: Our Experiences
GWT: Our Experiences
 

More from martinlippert

WJAX 2013: Java8-Tooling in Eclipse
WJAX 2013: Java8-Tooling in EclipseWJAX 2013: Java8-Tooling in Eclipse
WJAX 2013: Java8-Tooling in Eclipse
martinlippert
 
EclipseCon-Europe 2013: Optimizing performance - how to make your Eclipse-bas...
EclipseCon-Europe 2013: Optimizing performance - how to make your Eclipse-bas...EclipseCon-Europe 2013: Optimizing performance - how to make your Eclipse-bas...
EclipseCon-Europe 2013: Optimizing performance - how to make your Eclipse-bas...
martinlippert
 
EclipseCon-Europe 2013: Making the Eclipse IDE fun again
EclipseCon-Europe 2013: Making the Eclipse IDE fun againEclipseCon-Europe 2013: Making the Eclipse IDE fun again
EclipseCon-Europe 2013: Making the Eclipse IDE fun again
martinlippert
 
JAX 2013: Introducing Eclipse Orion
JAX 2013: Introducing Eclipse OrionJAX 2013: Introducing Eclipse Orion
JAX 2013: Introducing Eclipse Orion
martinlippert
 
PaaS Parade - Cloud Foundry
PaaS Parade - Cloud FoundryPaaS Parade - Cloud Foundry
PaaS Parade - Cloud Foundry
martinlippert
 
Modern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScriptModern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScript
martinlippert
 
What's new with tooling for Spring, Grails, and the Cloud
What's new with tooling for Spring, Grails, and the CloudWhat's new with tooling for Spring, Grails, and the Cloud
What's new with tooling for Spring, Grails, and the Cloud
martinlippert
 
Tooling for the JavaScript Era
Tooling for the JavaScript EraTooling for the JavaScript Era
Tooling for the JavaScript Era
martinlippert
 
Why SOLID matters - even for JavaScript
Why SOLID matters - even for JavaScriptWhy SOLID matters - even for JavaScript
Why SOLID matters - even for JavaScript
martinlippert
 
JAX 2012: Moderne Architektur mit Spring und JavaScript
JAX 2012: Moderne Architektur mit Spring und JavaScriptJAX 2012: Moderne Architektur mit Spring und JavaScript
JAX 2012: Moderne Architektur mit Spring und JavaScript
martinlippert
 
JAX 2012: Pimp Your IDE Productivity
JAX 2012: Pimp Your IDE ProductivityJAX 2012: Pimp Your IDE Productivity
JAX 2012: Pimp Your IDE Productivity
martinlippert
 
WaveMaker - Spring Roo - SpringSource Tool Suite - Choosing the right tool fo...
WaveMaker - Spring Roo - SpringSource Tool Suite - Choosing the right tool fo...WaveMaker - Spring Roo - SpringSource Tool Suite - Choosing the right tool fo...
WaveMaker - Spring Roo - SpringSource Tool Suite - Choosing the right tool fo...
martinlippert
 
Spring Tooling Update - New & Noteworty (at SpringOne 2011)
Spring Tooling Update - New & Noteworty (at SpringOne 2011)Spring Tooling Update - New & Noteworty (at SpringOne 2011)
Spring Tooling Update - New & Noteworty (at SpringOne 2011)
martinlippert
 
Classloading and Type Visibility in OSGi
Classloading and Type Visibility in OSGiClassloading and Type Visibility in OSGi
Classloading and Type Visibility in OSGi
martinlippert
 

More from martinlippert (14)

WJAX 2013: Java8-Tooling in Eclipse
WJAX 2013: Java8-Tooling in EclipseWJAX 2013: Java8-Tooling in Eclipse
WJAX 2013: Java8-Tooling in Eclipse
 
EclipseCon-Europe 2013: Optimizing performance - how to make your Eclipse-bas...
EclipseCon-Europe 2013: Optimizing performance - how to make your Eclipse-bas...EclipseCon-Europe 2013: Optimizing performance - how to make your Eclipse-bas...
EclipseCon-Europe 2013: Optimizing performance - how to make your Eclipse-bas...
 
EclipseCon-Europe 2013: Making the Eclipse IDE fun again
EclipseCon-Europe 2013: Making the Eclipse IDE fun againEclipseCon-Europe 2013: Making the Eclipse IDE fun again
EclipseCon-Europe 2013: Making the Eclipse IDE fun again
 
JAX 2013: Introducing Eclipse Orion
JAX 2013: Introducing Eclipse OrionJAX 2013: Introducing Eclipse Orion
JAX 2013: Introducing Eclipse Orion
 
PaaS Parade - Cloud Foundry
PaaS Parade - Cloud FoundryPaaS Parade - Cloud Foundry
PaaS Parade - Cloud Foundry
 
Modern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScriptModern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScript
 
What's new with tooling for Spring, Grails, and the Cloud
What's new with tooling for Spring, Grails, and the CloudWhat's new with tooling for Spring, Grails, and the Cloud
What's new with tooling for Spring, Grails, and the Cloud
 
Tooling for the JavaScript Era
Tooling for the JavaScript EraTooling for the JavaScript Era
Tooling for the JavaScript Era
 
Why SOLID matters - even for JavaScript
Why SOLID matters - even for JavaScriptWhy SOLID matters - even for JavaScript
Why SOLID matters - even for JavaScript
 
JAX 2012: Moderne Architektur mit Spring und JavaScript
JAX 2012: Moderne Architektur mit Spring und JavaScriptJAX 2012: Moderne Architektur mit Spring und JavaScript
JAX 2012: Moderne Architektur mit Spring und JavaScript
 
JAX 2012: Pimp Your IDE Productivity
JAX 2012: Pimp Your IDE ProductivityJAX 2012: Pimp Your IDE Productivity
JAX 2012: Pimp Your IDE Productivity
 
WaveMaker - Spring Roo - SpringSource Tool Suite - Choosing the right tool fo...
WaveMaker - Spring Roo - SpringSource Tool Suite - Choosing the right tool fo...WaveMaker - Spring Roo - SpringSource Tool Suite - Choosing the right tool fo...
WaveMaker - Spring Roo - SpringSource Tool Suite - Choosing the right tool fo...
 
Spring Tooling Update - New & Noteworty (at SpringOne 2011)
Spring Tooling Update - New & Noteworty (at SpringOne 2011)Spring Tooling Update - New & Noteworty (at SpringOne 2011)
Spring Tooling Update - New & Noteworty (at SpringOne 2011)
 
Classloading and Type Visibility in OSGi
Classloading and Type Visibility in OSGiClassloading and Type Visibility in OSGi
Classloading and Type Visibility in OSGi
 

Recently uploaded

Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
Mydbops
 
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin..."$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
Fwdays
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
Fwdays
 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
DianaGray10
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
Fwdays
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
Neo4j
 
High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024
Vadym Kazulkin
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
operationspcvita
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
Neo4j
 
ScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking ReplicationScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking Replication
ScyllaDB
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeckPoznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
FilipTomaszewski5
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
christinelarrosa
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
Fwdays
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Neo4j
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
Safe Software
 

Recently uploaded (20)

Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
 
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin..."$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
 
High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
 
ScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking ReplicationScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking Replication
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeckPoznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
 

Scripted - Embracing Eclipse Orion

  • 1. Mar$n  Lippert SCRIPTED  -­‐  EMBRACING ECLIPSE  ORION mlippert@vmware.com @mar$nlippert
  • 2. about me Mar4n  Lippert Staff  Engineer,  R&D,  at  SpringSource/ VMware  and  lead  of  Spring  Tool  Suite   development Working  areas •Eclipse  Tooling  for  the  Spring  plaAorm •Open  Source  CommiDer •Aspect-­‐Weaving  for  OSGi •Cloud  IDEs  and  JavaScript •Agile  soKware  development 2
  • 3. implementing developer tooling for a long time now (AJDT, Groovy-Eclipse, Grails IDE, Spring IDE, Cloud Foundry Integration for Eclipse, tc Server Integration for Eclipse, Gradle Integration for Eclipse, add-ons for m2e, Equinox Weaving)
  • 4. But how will developer tooling look like in the future? Or „why is Google able to search the whole web in 10ms and my Eclipse needs 100x longer to open a type hierarchy“
  • 5. what happens if you do things differently? lightweight instead of heavyweight reusing existing tools connecting instead of integrating browser based cloud hosted ...
  • 6. Eclipse Orion „Open Source Platform for Cloud Based Development“ similar direction awesome platform very modular and re-useable
  • 7. Eclipse Orion provides a platform for: navigating files and other content clone from and push to git repositories code (editing files) directly testing (hosting) our app + plug-in mechanism
  • 8.
  • 9.
  • 11. Client purely JavaScript runs in the browser plug-ins hosted in non-visible iframes Server Java (OSGi application) relatively stupid (no real logic here) new: node.js-based JavaScript implementation
  • 12. Introducing Scripted a lightweight JavaScript editor that runs in your browser
  • 13. Choices and decisions focus on editor lightweight, fast keystroke driven running locally advanced code comprehension using inferencing engine module-aware content-assist
  • 14. Choices and decisions Eclipse Orion (all JavaScript client) navigator content assist Git integration folding Editor Component site hosting JSLint sign-on Eclipse Orion (hosted or local) serve JS/HTMS/CSS/files search Git integration sign-on OSGi (Java)
  • 15. Choices and decisions Eclipse Orion (all JavaScript client) navigator content assist Git integration folding Editor Component site hosting JSLint sign-on
  • 16. Choices and decisions content assist Git integration folding Editor Component site hosting JSLint sign-on
  • 17. Choices and decisions content assist folding Editor Component site hosting JSLint sign-on
  • 18. Choices and decisions content assist folding Editor Component JSLint sign-on
  • 19. Choices and decisions content assist folding Editor Component JSLint
  • 20. Choices and decisions content assist Editor Component JSLint
  • 21. Choices and decisions Scripted Client (all JavaScript client) content assist cross file Editor Component analysis JSLint
  • 22. Choices and decisions Scripted Client (all JavaScript client) content assist cross file Editor Component analysis JSLint AMD support
  • 23. Choices and decisions Scripted Client (all JavaScript client) content assist cross file Editor Component analysis JSLint CommonJS AMD support support
  • 24. Choices and decisions Scripted Client (all JavaScript client) simple navigator content assist cross file Editor Component analysis JSLint CommonJS AMD support support
  • 25. Choices and decisions Scripted Client (all JavaScript client) simple navigator content assist cross file inplace outline Editor Component analysis JSLint CommonJS AMD support support
  • 26. Choices and decisions Scripted Client (all JavaScript client) simple navigator content assist cross file inplace outline Editor Component analysis single page layout JSLint CommonJS AMD support support
  • 27. Choices and decisions Eclipse Orion (hosted or local) serve JS/HTMS/CSS/files Search Git Integration Sign-On OSGi (Java)
  • 28. Choices and decisions Scripted Server (local, all JavaScript) serve JS/HTMS/CSS/files search
  • 29. Choices and decisions Scripted Server (local, all JavaScript) serve JS/HTMS/CSS/files search node.js
  • 30. Choices and decisions Scripted Server (local, all JavaScript) serve JS/HTMS/CSS/files search cross file analysis node.js
  • 31. Scripted overview Scripted Client (all JavaScript client) simple navigator content assist cross file inplace outline Editor Component analysis single page layout JSLint CommonJS AMD support support Scripted Server (local, all JavaScript) serve JS/HTMS/CSS/files search cross file analysis node.js
  • 33. Summary Eclipse Orion is an awesome platform for building browser- based tooling
  • 34. What is next? continuously contribute back to Orion add more innovative features continue to think beyond the borders
  • 35. Resources Scripted project https://github.com/scripted-editor/scripted Forum https://groups.google.com/forum/#!forum/scripted-dev Issue Tracker https://issuetracker.springsource.com/browse/scripted Sample project used here https://github.com/aeisenberg/scripted-demo-s2gx2012
  • 36. Q&A and thank you for your attention Martin Lippert Staff Engineer - VMware mlippert@vmware.com @martinlippert