SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Downloaden Sie, um offline zu lesen
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
Scripted - Embracing Eclipse Orion
Scripted - Embracing Eclipse Orion
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

Más contenido relacionado

Was ist angesagt?

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 fundamentalsLalit 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 2019Haufe-Lexware GmbH & Co KG
 
Enterprise Integration for Ethereum
Enterprise Integration for EthereumEnterprise Integration for Ethereum
Enterprise Integration for EthereumBilgin Ibryam
 
Building Killer RESTful APIs with NodeJs
Building Killer RESTful APIs with NodeJsBuilding Killer RESTful APIs with NodeJs
Building Killer RESTful APIs with NodeJsSrdjan 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 podstawLukasz Kaluzny
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with Dockervisual28
 
Spring on Kubernetes
Spring on KubernetesSpring on Kubernetes
Spring on KubernetesJay Lee
 
Kubernetes your next application server
Kubernetes  your next application serverKubernetes  your next application server
Kubernetes your next application serverRed Hat Developers
 
ASP.NET Core deployment options
ASP.NET Core deployment optionsASP.NET Core deployment options
ASP.NET Core deployment optionsKen 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 Dockercjmyers
 
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 KumarCodeOps Technologies LLP
 
Planning Your Cloud Strategy
Planning Your Cloud StrategyPlanning Your Cloud Strategy
Planning Your Cloud StrategyImesh Gunaratne
 
Blue whale, jail and Microsoft
Blue whale, jail and MicrosoftBlue whale, jail and Microsoft
Blue whale, jail and MicrosoftLukasz 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 TechnologiesEastBanc 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 18CodeOps 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
 
Continuous Delivery to Kubernetes Using Helm
Continuous Delivery to Kubernetes Using HelmContinuous Delivery to Kubernetes Using Helm
Continuous Delivery to Kubernetes Using HelmAdnan Abdulhussein
 

Was ist angesagt? (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
 

Ähnlich wie Scripted - Embracing Eclipse Orion

Embracing Eclipse Orion
Embracing Eclipse OrionEmbracing Eclipse Orion
Embracing Eclipse Orionmartinlippert
 
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 Repositorynobby
 
Introduction and hacking OpenStack, Pycon India
Introduction and hacking OpenStack,  Pycon IndiaIntroduction and hacking OpenStack,  Pycon India
Introduction and hacking OpenStack, Pycon IndiaAtul Jha
 
Multithreading in Android
Multithreading in AndroidMultithreading in Android
Multithreading in Androidcoolmirza143
 
Jlook open api platform-sysdevguide
Jlook open api platform-sysdevguideJlook open api platform-sysdevguide
Jlook open api platform-sysdevguideHongSeong Jeon
 
Web polyglot programming
Web polyglot programmingWeb polyglot programming
Web polyglot programmingDmitry Buzdin
 
Android Introduction
Android IntroductionAndroid Introduction
Android Introductionaswapnal
 
Playframework + Twitter Bootstrap
Playframework + Twitter BootstrapPlayframework + Twitter Bootstrap
Playframework + Twitter BootstrapKevingo 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 FrameworksIan Hlavats
 
Android application development
Android application developmentAndroid application development
Android application developmentLinh Vi Tường
 
Tech Mind Maps - Booklet Preview
Tech Mind Maps - Booklet PreviewTech Mind Maps - Booklet Preview
Tech Mind Maps - Booklet PreviewMichal Juhas
 
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.xGeertjan Wielenga
 
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.xErik Gur
 
RichFaces CDK: Rapid JSF Component Development
RichFaces CDK: Rapid JSF Component DevelopmentRichFaces CDK: Rapid JSF Component Development
RichFaces CDK: Rapid JSF Component DevelopmentLukáš Fryč
 
Android Anatomy google io 2008
Android Anatomy google io 2008Android Anatomy google io 2008
Android Anatomy google io 2008Trinh Duy Hung
 
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 ExperiencesYenwen Feng
 

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

Mehr von martinlippert

WJAX 2013: Java8-Tooling in Eclipse
WJAX 2013: Java8-Tooling in EclipseWJAX 2013: Java8-Tooling in Eclipse
WJAX 2013: Java8-Tooling in Eclipsemartinlippert
 
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 againmartinlippert
 
JAX 2013: Introducing Eclipse Orion
JAX 2013: Introducing Eclipse OrionJAX 2013: Introducing Eclipse Orion
JAX 2013: Introducing Eclipse Orionmartinlippert
 
PaaS Parade - Cloud Foundry
PaaS Parade - Cloud FoundryPaaS Parade - Cloud Foundry
PaaS Parade - Cloud Foundrymartinlippert
 
Modern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScriptModern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScriptmartinlippert
 
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 Cloudmartinlippert
 
Tooling for the JavaScript Era
Tooling for the JavaScript EraTooling for the JavaScript Era
Tooling for the JavaScript Eramartinlippert
 
Why SOLID matters - even for JavaScript
Why SOLID matters - even for JavaScriptWhy SOLID matters - even for JavaScript
Why SOLID matters - even for JavaScriptmartinlippert
 
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 JavaScriptmartinlippert
 
JAX 2012: Pimp Your IDE Productivity
JAX 2012: Pimp Your IDE ProductivityJAX 2012: Pimp Your IDE Productivity
JAX 2012: Pimp Your IDE Productivitymartinlippert
 
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 OSGimartinlippert
 

Mehr von 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
 

Último

LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0DanBrown980551
 
Novo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNovo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNeo4j
 
20140402 - Smart house demo kit
20140402 - Smart house demo kit20140402 - Smart house demo kit
20140402 - Smart house demo kitJamie (Taka) Wang
 
Graphene Quantum Dots-Based Composites for Biomedical Applications
Graphene Quantum Dots-Based Composites for  Biomedical ApplicationsGraphene Quantum Dots-Based Composites for  Biomedical Applications
Graphene Quantum Dots-Based Composites for Biomedical Applicationsnooralam814309
 
3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud DataEric D. Schabell
 
Flow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First FrameFlow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First FrameKapil Thakar
 
CyberSecurity - Computers In Libraries 2024
CyberSecurity - Computers In Libraries 2024CyberSecurity - Computers In Libraries 2024
CyberSecurity - Computers In Libraries 2024Brian Pichman
 
How to become a GDSC Lead GDSC MI AOE.pptx
How to become a GDSC Lead GDSC MI AOE.pptxHow to become a GDSC Lead GDSC MI AOE.pptx
How to become a GDSC Lead GDSC MI AOE.pptxKaustubhBhavsar6
 
Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.IPLOOK Networks
 
The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)codyslingerland1
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightSafe Software
 
UiPath Studio Web workshop series - Day 1
UiPath Studio Web workshop series  - Day 1UiPath Studio Web workshop series  - Day 1
UiPath Studio Web workshop series - Day 1DianaGray10
 
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENTSIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENTxtailishbaloch
 
AI Workshops at Computers In Libraries 2024
AI Workshops at Computers In Libraries 2024AI Workshops at Computers In Libraries 2024
AI Workshops at Computers In Libraries 2024Brian Pichman
 
Scenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenariosScenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenariosErol GIRAUDY
 
UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3DianaGray10
 
Stobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through TokenizationStobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through TokenizationStobox
 
Keep Your Finger on the Pulse of Your Building's Performance with IES Live
Keep Your Finger on the Pulse of Your Building's Performance with IES LiveKeep Your Finger on the Pulse of Your Building's Performance with IES Live
Keep Your Finger on the Pulse of Your Building's Performance with IES LiveIES VE
 
Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)Muhammad Tiham Siddiqui
 
The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)IES VE
 

Último (20)

LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0
 
Novo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNovo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4j
 
20140402 - Smart house demo kit
20140402 - Smart house demo kit20140402 - Smart house demo kit
20140402 - Smart house demo kit
 
Graphene Quantum Dots-Based Composites for Biomedical Applications
Graphene Quantum Dots-Based Composites for  Biomedical ApplicationsGraphene Quantum Dots-Based Composites for  Biomedical Applications
Graphene Quantum Dots-Based Composites for Biomedical Applications
 
3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data
 
Flow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First FrameFlow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First Frame
 
CyberSecurity - Computers In Libraries 2024
CyberSecurity - Computers In Libraries 2024CyberSecurity - Computers In Libraries 2024
CyberSecurity - Computers In Libraries 2024
 
How to become a GDSC Lead GDSC MI AOE.pptx
How to become a GDSC Lead GDSC MI AOE.pptxHow to become a GDSC Lead GDSC MI AOE.pptx
How to become a GDSC Lead GDSC MI AOE.pptx
 
Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.
 
The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
UiPath Studio Web workshop series - Day 1
UiPath Studio Web workshop series  - Day 1UiPath Studio Web workshop series  - Day 1
UiPath Studio Web workshop series - Day 1
 
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENTSIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
 
AI Workshops at Computers In Libraries 2024
AI Workshops at Computers In Libraries 2024AI Workshops at Computers In Libraries 2024
AI Workshops at Computers In Libraries 2024
 
Scenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenariosScenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenarios
 
UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3
 
Stobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through TokenizationStobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
 
Keep Your Finger on the Pulse of Your Building's Performance with IES Live
Keep Your Finger on the Pulse of Your Building's Performance with IES LiveKeep Your Finger on the Pulse of Your Building's Performance with IES Live
Keep Your Finger on the Pulse of Your Building's Performance with IES Live
 
Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)
 
The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)
 

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
  • 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