orion (what's next conference)

79
Orion: So)ware Development in the Browser Boris Bokowski IBM O9awa Lab Copyright (c) 2011 IBM CorporaEon. This work is licensed under a CreaEve Commons A9ribuEonShareAlike 3.0 Unported License .

Upload: boris-bokowski

Post on 19-May-2015

841 views

Category:

Technology


5 download

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.

TRANSCRIPT

Page 1: Orion (What's Next conference)

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.

Page 2: Orion (What's Next conference)

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.

Page 3: Orion (What's Next conference)

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.

Page 4: Orion (What's Next conference)

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.

Page 5: Orion (What's Next conference)

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.

Page 6: Orion (What's Next conference)

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.

Page 7: Orion (What's Next conference)

Demo

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

Page 8: Orion (What's Next conference)

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.

Page 9: Orion (What's Next conference)

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.

Page 10: Orion (What's Next conference)

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.

Page 11: Orion (What's Next conference)

AddiEonal  thoughts:  Why  Orion

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

Page 12: Orion (What's Next conference)

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.

Page 13: Orion (What's Next conference)

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.

Page 14: Orion (What's Next conference)

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.

Page 15: Orion (What's Next conference)

IDE

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

Page 16: Orion (What's Next conference)

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.

Page 17: Orion (What's Next conference)

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.

Page 18: Orion (What's Next conference)

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.

Page 19: Orion (What's Next conference)
Page 20: Orion (What's Next conference)
Page 21: Orion (What's Next conference)
Page 22: Orion (What's Next conference)
Page 23: Orion (What's Next conference)
Page 24: Orion (What's Next conference)
Page 25: Orion (What's Next conference)
Page 26: Orion (What's Next conference)
Page 27: Orion (What's Next conference)
Page 28: Orion (What's Next conference)
Page 29: Orion (What's Next conference)
Page 30: Orion (What's Next conference)
Page 31: Orion (What's Next conference)
Page 32: Orion (What's Next conference)
Page 33: Orion (What's Next conference)
Page 34: Orion (What's Next conference)
Page 35: Orion (What's Next conference)
Page 36: Orion (What's Next conference)
Page 37: Orion (What's Next conference)
Page 38: Orion (What's Next conference)
Page 39: Orion (What's Next conference)
Page 40: Orion (What's Next conference)
Page 41: Orion (What's Next conference)
Page 42: Orion (What's Next conference)
Page 43: Orion (What's Next conference)
Page 44: Orion (What's Next conference)
Page 45: Orion (What's Next conference)
Page 46: Orion (What's Next conference)
Page 47: Orion (What's Next conference)
Page 48: Orion (What's Next conference)
Page 49: Orion (What's Next conference)
Page 50: Orion (What's Next conference)
Page 51: Orion (What's Next conference)
Page 52: Orion (What's Next conference)
Page 53: Orion (What's Next conference)
Page 54: Orion (What's Next conference)
Page 55: Orion (What's Next conference)
Page 56: Orion (What's Next conference)
Page 57: Orion (What's Next conference)
Page 58: Orion (What's Next conference)
Page 59: Orion (What's Next conference)
Page 60: Orion (What's Next conference)
Page 61: Orion (What's Next conference)
Page 62: Orion (What's Next conference)
Page 63: Orion (What's Next conference)
Page 64: Orion (What's Next conference)
Page 65: Orion (What's Next conference)
Page 66: Orion (What's Next conference)
Page 67: Orion (What's Next conference)
Page 68: Orion (What's Next conference)
Page 69: Orion (What's Next conference)
Page 70: Orion (What's Next conference)
Page 71: Orion (What's Next conference)
Page 72: Orion (What's Next conference)
Page 73: Orion (What's Next conference)
Page 74: Orion (What's Next conference)
Page 75: Orion (What's Next conference)

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.

Page 76: Orion (What's Next conference)

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

Page 77: Orion (What's Next conference)

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.

Page 78: Orion (What's Next conference)

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.

Page 79: Orion (What's Next conference)

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.