Orion (What's Next conference)

Preview:

DESCRIPTION

Eclipse is embarking on a journey towards web-based development tooling with a new effort called 'Orion'. The goal of Orion is to build developer tooling that works in the browser, at web scale. This talk will demo the current state of Orion, and explain the vision of moving software development to the web as a web experience, by enabling open tool integration through HTTP and REST, JSON, OAuth, OpenID, and others. The idea is to exploit internet design principles throughout, instead of trying to bring existing desktop IDE concepts to the browser. See http://wiki.eclipse.org/Orion for more information about Orion.

Citation preview

Orion:  So)ware  Developmentin  the  Browser

Boris  BokowskiIBM  O9awa  Lab

Copyright  (c)  2011  IBM  CorporaEon.  This  work  is  licensed  under  a  CreaEve  Commons  A9ribuEon-­‐ShareAlike  3.0  Unported  License.

About  me

• IBM,  O9awa,  Canada

• Eclipse  1.0,  Eclipse  3.2-­‐

• PlaQorm  UI:  JFace,  Workbench,  IDE

• Orion  Co-­‐Lead

Copyright  (c)  2011  IBM  CorporaEon.  This  work  is  licensed  under  a  CreaEve  Commons  A9ribuEon-­‐ShareAlike  3.0  Unported  License.

tl;dr  -­‐  What  is  Orion?

• So)ware  development  in  the  browser:  edit  code,  navigate  code,  search,  versioning/SCM...

• Not  an  IDE  in  the  Browser  -­‐  a  set  of  linked  web  pages

• This  makes  adding  funcEonality  easy:  link  to  new  pages,  potenEally  from  different  servers

• Current  target:  client-­‐side  web  developers,  working  with  JavaScript,  HTML,  and  CSS

Copyright  (c)  2011  IBM  CorporaEon.  This  work  is  licensed  under  a  CreaEve  Commons  A9ribuEon-­‐ShareAlike  3.0  Unported  License.

Why  Orion?

•Me-­‐too-­‐argument:(Almost)  everything  else  is  already  web-­‐based

•More  arguments  later

Copyright  (c)  2011  IBM  CorporaEon.  This  work  is  licensed  under  a  CreaEve  Commons  A9ribuEon-­‐ShareAlike  3.0  Unported  License.

SW  development  in  the  Browser

• Bug  tracking  (Bugzilla,  JIRA,  Trac,  Lighthouse,  RTC)

• Builds  (Jenkins/Hudson,  CruiseControl,  Bamboo,  BuildForge)

• Code  review  (Bugzilla,  Gerrit,  GitHub)

• DocumentaEon,  Code  Snippets

• Code  repositories  (GitHub,  ViewCVS,  Ohloh,  Code  Search,  RTC)

• Debugger  (Firebug,  Web  Inspector)Copyright  (c)  2011  IBM  CorporaEon.  This  work  is  licensed  under  a  CreaEve  Commons  A9ribuEon-­‐ShareAlike  3.0  Unported  License.

What’s  missing?  Not  much:

• Code  Editor

• Navigator

• SCM  (Commit,  Compare,  Merge,  etc.)

• Indexing/Search

• Unit  tests

Copyright  (c)  2011  IBM  CorporaEon.  This  work  is  licensed  under  a  CreaEve  Commons  A9ribuEon-­‐ShareAlike  3.0  Unported  License.

Demo

Copyright  (c)  2011  IBM  CorporaEon.  This  work  is  licensed  under  a  CreaEve  Commons  A9ribuEon-­‐ShareAlike  3.0  Unported  License.

Code  Editor

• Fast

• Scalable

•Works  in  all  desktop  browsers

• Faster  than  desktop  Eclipseeditor!

Copyright  (c)  2011  IBM  CorporaEon.  This  work  is  licensed  under  a  CreaEve  Commons  A9ribuEon-­‐ShareAlike  3.0  Unported  License.

Orion  Design  Principles

• Regular  Hyperlinks,  back  bu9on,  bookmarking,  link  sharing.

• FuncEonality  on  separate  pages.  Page  =  Task+Resource.

• Performant  and  Lightweight.  Speed  trumps  power.

• Components  should  have  value  on  their  own.

• Low  barrier  of  entry  for  adopters.  Don’t  require  technology  buy-­‐in.

Copyright  (c)  2011  IBM  CorporaEon.  This  work  is  licensed  under  a  CreaEve  Commons  A9ribuEon-­‐ShareAlike  3.0  Unported  License.

IntegraEon  PossibiliEes

• Hyperlinks  as  an  integraEon  mechanism.

• OSLC,  OAuth:  Consume  and  produce  server  APIs.

• Client-­‐side  plug-­‐ins:  adding  commands  to  exisEng  UI.

• Integrate  with  browser  debuggers:Firebug,  WebKit  Inspector

• Host  addiEonal  UI  components,  e.g.  OpenSocial  Gadgets.

Copyright  (c)  2011  IBM  CorporaEon.  This  work  is  licensed  under  a  CreaEve  Commons  A9ribuEon-­‐ShareAlike  3.0  Unported  License.

AddiEonal  thoughts:  Why  Orion

Copyright  (c)  2011  IBM  CorporaEon.  This  work  is  licensed  under  a  CreaEve  Commons  A9ribuEon-­‐ShareAlike  3.0  Unported  License.

Development  Tools

•We  build  our  own  tools.

• Not  many  other  professions  are  like  that.

•We  enjoy  wriEng  tools!

Copyright  (c)  2011  IBM  CorporaEon.  This  work  is  licensed  under  a  CreaEve  Commons  A9ribuEon-­‐ShareAlike  3.0  Unported  License.

Command  Line

• Edit-­‐>  Compile  -­‐>  Run

• but  also:

find  .  -­‐type  f  -­‐name  '*.png'|  sort|  perl  -­‐n  -­‐e  'chomp;  /^.*\/([^\/]+)\.png$/;  print  "\t<section  class=\"auto\"><hgroup><h1>".$1."</h1></hgroup><img  src=\"content/"  .$_.  "\"></section>\n";'</p>

Copyright  (c)  2011  IBM  CorporaEon.  This  work  is  licensed  under  a  CreaEve  Commons  A9ribuEon-­‐ShareAlike  3.0  Unported  License.

Command  Line

• Experts  can  add  tools.

• Powerful  integraEon  through  file  system  and  pipes.

• ScripEng.

• DistribuEon  is  a  problem.

Copyright  (c)  2011  IBM  CorporaEon.  This  work  is  licensed  under  a  CreaEve  Commons  A9ribuEon-­‐ShareAlike  3.0  Unported  License.

IDE

Copyright  (c)  2011  IBM  CorporaEon.  This  work  is  licensed  under  a  CreaEve  Commons  A9ribuEon-­‐ShareAlike  3.0  Unported  License.

IDE

• Hard  to  add  tools.

• Deep  integraEon  but  complex  APIs.

• DistribuEon  is  a  problem  (sEll).

Copyright  (c)  2011  IBM  CorporaEon.  This  work  is  licensed  under  a  CreaEve  Commons  A9ribuEon-­‐ShareAlike  3.0  Unported  License.

The  Web

• Easy  to  add  tools,  reachable  by  URL.

• DistribuEon  problem  is  solved!

• IntegraEon  -­‐  How  do  these  tools  work  together?

Copyright  (c)  2011  IBM  CorporaEon.  This  work  is  licensed  under  a  CreaEve  Commons  A9ribuEon-­‐ShareAlike  3.0  Unported  License.

The  Web

• Easy  to  add  tools,  reachable  by  URL.

• DistribuEon  problem  is  solved!

• IntegraEon  -­‐  How  do  these  tools  work  together?

this  is  what  Orion  is  about,and  why  we  need  to  start  now

Copyright  (c)  2011  IBM  CorporaEon.  This  work  is  licensed  under  a  CreaEve  Commons  A9ribuEon-­‐ShareAlike  3.0  Unported  License.

Why  now?

• Online  IDEs  are  up  and  coming  (e.g.,  Cloud  9  IDE)and  to  influence  the  direcEon,  we  need  to  play

•We  need  to  fail,  learn  from  mistakes,  try  again  -­‐  some  things  are  similar  to  what  we  know  about  IDEs,  some  things  not

•We  (IBM)  are  interested  in  community-­‐building  and  are  contribuEng  code  as  a  seed.  We  want  this  community  to  form  at  the  Eclipse  FoundaEon

Copyright  (c)  2011  IBM  CorporaEon.  This  work  is  licensed  under  a  CreaEve  Commons  A9ribuEon-­‐ShareAlike  3.0  Unported  License.

DisrupEve  InnovaEon

Examples:  Digital  photography,  LC  Displays

Copyright  (c)  2011  IBM  CorporaEon.  This  work  is  licensed  under  a  CreaEve  Commons  A9ribuEon-­‐ShareAlike  3.0  Unported  License.

Image  from  Wikimedia  Commons:  h9p://en.wikipedia.org/wiki/File:DisrupEvetechnology.gif

The  Web  is  the  PlaQorm!

• highly  distributed  content

• scalable  compuEng  power

• simple  connecEvity  -­‐-­‐  links

• trivial  update  mechanism  

• powerful  rendering  engine

• large,  acEve  community

• arEfacts  all  over  the  web

• large  scale  analysis  possible

• no  central  “IDE”

• refresh  the  page

• look  and  feel  easy  to  adapt

• innovaEon  by  everyoneCopyright  (c)  2011  IBM  CorporaEon.  This  work  is  licensed  under  a  CreaEve  Commons  A9ribuEon-­‐ShareAlike  3.0  Unported  License.

Sign  up  at  eclipse.org/orion

Copyright  (c)  2011  IBM  CorporaEon.  This  work  is  licensed  under  a  CreaEve  Commons  A9ribuEon-­‐ShareAlike  3.0  Unported  License.

Thank  you!QuesEons?

on  Twi9er:  @bokowski  Copyright  (c)  2011  IBM  CorporaEon.  This  work  is  licensed  under  a  CreaEve  Commons  A9ribuEon-­‐ShareAlike  3.0  Unported  License.