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.
1. 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
A9ribuEon-‐ShareAlike
3.0
Unported
License.
2. 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.
3. 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.
4. 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.
5. 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.
6. 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.
7. Demo
Copyright
(c)
2011
IBM
CorporaEon.
This
work
is
licensed
under
a
CreaEve
Commons
A9ribuEon-‐ShareAlike
3.0
Unported
License.
8. Code
Editor
• Fast
• Scalable
• Works
in
all
desktop
browsers
• Faster
than
desktop
Eclipse
editor!
Copyright
(c)
2011
IBM
CorporaEon.
This
work
is
licensed
under
a
CreaEve
Commons
A9ribuEon-‐ShareAlike
3.0
Unported
License.
9. 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.
10. 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.
11. AddiEonal
thoughts:
Why
Orion
Copyright
(c)
2011
IBM
CorporaEon.
This
work
is
licensed
under
a
CreaEve
Commons
A9ribuEon-‐ShareAlike
3.0
Unported
License.
12. 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.
13. 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.
14. 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.
15. IDE
Copyright
(c)
2011
IBM
CorporaEon.
This
work
is
licensed
under
a
CreaEve
Commons
A9ribuEon-‐ShareAlike
3.0
Unported
License.
16. 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.
17. 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.
18. 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.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75. 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.
76. DisrupEve
InnovaEon
Image
from
Wikimedia
Commons:
h9p://en.wikipedia.org/wiki/File:DisrupEvetechnology.gif
Examples:
Digital
photography,
LC
Displays
Copyright
(c)
2011
IBM
CorporaEon.
This
work
is
licensed
under
a
CreaEve
Commons
A9ribuEon-‐ShareAlike
3.0
Unported
License.
77. The
Web
is
the
PlaQorm!
• highly
distributed
content • arEfacts
all
over
the
web
• scalable
compuEng
power • large
scale
analysis
possible
• simple
connecEvity
-‐-‐
links • no
central
“IDE”
• trivial
update
mechanism
• refresh
the
page
• powerful
rendering
engine • look
and
feel
easy
to
adapt
• large,
acEve
community • innovaEon
by
everyone
Copyright
(c)
2011
IBM
CorporaEon.
This
work
is
licensed
under
a
CreaEve
Commons
A9ribuEon-‐ShareAlike
3.0
Unported
License.
78. 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.
79. 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.