orion introduction

Post on 03-Sep-2014

330 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

Presented @ 33rd Degree 2011 in Krakow

TRANSCRIPT

Orion - IntroductionSzymon BrandysTomasz Żarna

IBMEclipse Platform & Orion

Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.

Agenda•What is Orion?•A glance at web technologies•More about Orion•Demo•Discussion and Q&A

Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.

Goals of Orion•Build developer tooling that works in a browser ,

•at web scale,•integrating well with existing tools that exist on the web,

•based on well ‐ proven web architectures - REST, HTTP, JSON, OAuth, OpenID, and others.

Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.

Use Strengths of the Web•zero install on the client •simple connectivity –

links•trivial update

mechanism•powerful rendering

engine•look and feel easy to

adapt•large, active community•innovation by everyone

•no central “IDE”•artifacts all over the web•highly distributed

content•refresh the page•scalable computing

power

Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.

Why work on this now?•There are other online IDEs already, extremely high rate of innovation in online tools for web development

•We need to start now, learn, fail, try again, in order to become a player in this space

•We (IBM) would like to see a community to form around this forms at Eclipse, and are contributing a seed

Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.

A Glance at Web Architectures - REST• An important concept in REST is the existence of resources (sources of

specific information), each of which is referenced with a global identifier (e.g., a URI in HTTP). In order to manipulate these resources, components of the network (user agents and origin servers) communicate via a standardized interface (e.g., HTTP) and exchange representations of these resources (the actual documents conveying the information).

Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.

Web Architectures - REST• http://en.wikipedia.org/wiki/Representational_State_Transfer• http://prescod.net/rest/mistakes/

Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.

A Glance at Web Architectures•HTTP - a networking protocol for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the WWW

•Ajax - a group of interrelated web developmentt methods used on the client-side to create interactive web applications. With Ajax, web applications can retrieve data from the server asynchronously in the background

Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.

A Glance at Web Architectures•JSON - a lightweight text-based open standard designed for human-readable data interchange

• JSON vs XML picture

Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.

•OpenID – a standard that describes how users can authenticated in a decentralized manner

Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.

•OAuth – an open standard for authorization, which allows users to share their private resources stored on one site with another site without having to hand out their credentials

Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.

Orion Assumptions•Software development in a browser

editing navigating folders searching working with SCM

•Set of linked web pages, NOT an IDE running in a browser

easy to integrate other functionality even if hosted on different servers

Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.

Why Not an IDE in a Browser?

Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.

Why Not an IDE in a Browser?

Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.

Why Not an IDE in a Browser?

Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.

Why Not an IDE in a Browser?

Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.

Context: Already in a Browser•Bug tracking (Bugzilla, JIRA, Trac, Lighthouse, Rational RTC)

•Builds (Hudson/Jenkins)•Code review (Bugzilla, Gerrit, GitHub)•Documentation, code snippets (pastebin, Gist)•Browsing code repositories (GitHub, ViewCVS, Rational RTC)

•Debugger (Firebug, WebKit Inspector, Developer Tools)

Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.

What’s Missing? Not Much•Code editor•Navigator•Work with SCM (commit, compare, merge, etc)•Indexing - full text search•Unit tests

•Initial focus on web developers working on client-side JavaScript, HTML, CSS

Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.

Orion Design Principles•Regular hyperlinks, back button, bookmarking, link sharing

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

Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.

Demo

•Log in/log out•openId•Navigator +

editor•Git status & log•Compare•Sites•Firebug

integration•Search

Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.

Integration Possibilities•Client-side “plug-ins” : adding commands to existing UI

Integrate with SCMs: Git is used to speed up self-hosting There is ongoing effort on enabling RTC in Orion

W3C validator, JSLint, ...•Hyperlink integration

Bugzilla, Gerrit, SCM stats•Integrate with browser debuggers:

Firebug, WebKit Inspector•Host additional UI components, e.g. OpenSocial Gadgets

•Server-side OSLC: Consume and produce server APIs

Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.

Integration Possibilities (cntd.)•Web-Based integration

initializr.com - equivalent of “New Project” wizard smush.it - lossless “compression” of images CSS Sprite Generator jsbeautifier.org - JavaScript code formatter

Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.

Integration Possibilities (Demo)

•Create project initializr.com

•Import zip•Disable jslint•Go to page

(comment in log)

Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.

Getting Started• Homepage / OrionHub: http://eclipse.org/orion•Installing on localhosthttp://wiki.eclipse.org/Orion/How_Tos/Install_Orion_on_Localhost

• Clonning git://git.eclipse.org/gitroot/e4/org.eclipse.orion.client.git git://git.eclipse.org/gitroot/e4/org.eclipse.orion.server.git https://github.com/eclipse

orion-client orion-server

Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.

The End•Q&A•Thank you

Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.

Legal Notice IBM and the IBM logo are trademarks or

registered trademarks of IBM Corporation, in the United States, other countries or both.

Java and all Java-based marks, among others, are trademarks or registered trademarks of Sun Microsystems in the United States, other countries or both.

Eclipse and the Eclipse logo are trademarks of Eclipse Foundation, Inc.

Other company, product and service names may be trademarks or service marks of others.

26

Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.

Code Editor•Fast•Scalable•Works in all

desktop browsers

•Faster then desktop Eclipse editor

Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.

Navigator

Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.

Status / Compare

Orion - Introduction | Copyright © IBM Corp., 2011. All rights reserved.

Log

top related