Scripted - Embracing Eclipse Orion

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
1 of 36

More Related Content

What's hot(20)

Enterprise Integration for EthereumEnterprise Integration for Ethereum
Enterprise Integration for Ethereum
Bilgin Ibryam2.8K views
Building Killer RESTful APIs with NodeJsBuilding Killer RESTful APIs with NodeJs
Building Killer RESTful APIs with NodeJs
Srdjan Strbanovic9.6K views
Getting Started with DockerGetting Started with Docker
Getting Started with Docker
visual28137 views
Spring on KubernetesSpring on Kubernetes
Spring on Kubernetes
Jay Lee96 views
Kubernetes  your next application serverKubernetes  your next application server
Kubernetes your next application server
Red Hat Developers1.6K views
ASP.NET Core deployment optionsASP.NET Core deployment options
ASP.NET Core deployment options
Ken Cenerelli753 views
Planning Your Cloud StrategyPlanning Your Cloud Strategy
Planning Your Cloud Strategy
Imesh Gunaratne433 views
Blue whale, jail and MicrosoftBlue whale, jail and Microsoft
Blue whale, jail and Microsoft
Lukasz Kaluzny1.6K views
Unpacking .NET Core | EastBanc TechnologiesUnpacking .NET Core | EastBanc Technologies
Unpacking .NET Core | EastBanc Technologies
EastBanc Tachnologies473 views
SERVERLESS MIDDLEWARE IN AZURE FUNCTIONSSERVERLESS MIDDLEWARE IN AZURE FUNCTIONS
SERVERLESS MIDDLEWARE IN AZURE FUNCTIONS
CodeOps Technologies LLP2.8K views
Continuous Delivery to Kubernetes Using HelmContinuous Delivery to Kubernetes Using Helm
Continuous Delivery to Kubernetes Using Helm
Adnan Abdulhussein3.2K views

Similar to Scripted - Embracing Eclipse Orion(20)

Embracing Eclipse OrionEmbracing Eclipse Orion
Embracing Eclipse Orion
martinlippert985 views
Multithreading in AndroidMultithreading in Android
Multithreading in Android
coolmirza1434.4K views
Jlook open api platform-sysdevguideJlook open api platform-sysdevguide
Jlook open api platform-sysdevguide
HongSeong Jeon660 views
Web polyglot programmingWeb polyglot programming
Web polyglot programming
Dmitry Buzdin1.5K views
Android IntroductionAndroid Introduction
Android Introduction
aswapnal493 views
Playframework + Twitter BootstrapPlayframework + Twitter Bootstrap
Playframework + Twitter Bootstrap
Kevingo Tsai3.8K views
Android application developmentAndroid application development
Android application development
Linh Vi Tường424 views
Tech Mind Maps - Booklet PreviewTech Mind Maps - Booklet Preview
Tech Mind Maps - Booklet Preview
Michal Juhas9.6K views
What's New in NetBeans IDE 7.xWhat's New in NetBeans IDE 7.x
What's New in NetBeans IDE 7.x
Geertjan Wielenga6.9K views
The Java alternative to JavascriptThe Java alternative to Javascript
The Java alternative to Javascript
Manuel Carrasco Moñino2.7K views
Android Anatomy google io 2008Android Anatomy google io 2008
Android Anatomy google io 2008
Trinh Duy Hung261 views
Lit there be lightLit there be light
Lit there be light
Ilya Gorenburg13 views
GWT Introduction for Eclipse Day GWT Introduction for Eclipse Day
GWT Introduction for Eclipse Day
DNG Consulting685 views
GWT: Our ExperiencesGWT: Our Experiences
GWT: Our Experiences
Yenwen Feng1.4K views

Recently uploaded(20)

Liqid: Composable CXL PreviewLiqid: Composable CXL Preview
Liqid: Composable CXL Preview
CXL Forum118 views
ChatGPT and AI for Web DevelopersChatGPT and AI for Web Developers
ChatGPT and AI for Web Developers
Maximiliano Firtman152 views
ThroughputThroughput
Throughput
Moisés Armani Ramírez28 views
Java Platform Approach 1.0 - Picnic MeetupJava Platform Approach 1.0 - Picnic Meetup
Java Platform Approach 1.0 - Picnic Meetup
Rick Ossendrijver23 views

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