kenwalker.github.io / @kwalker / @orionhub
Inside IBM Orion was started by some of the Eclipse Team members from SWT & the Platform team
The goal was to begin working on a platform to support the growing initiatives for Cloud
As IBM is a founder of Eclipse, we wanted to leverage our experiences, investment, and the governance model
IBM made the initial contribution of Orion components in January, 2011
Fundamental change from other Eclipse projects
Shift to Web based application development/delivery
Replace complex IDE pages with Web workflows
Provide the pieces as a whole or consumable by Web teams in product (IBM and others)
Orion is an onramp for IBM teams & Community
The rise of products like Cloud9 & CodeEnvy indicate there is a desire for hosted development solutions
Progression to other CloudBased tools, Gmail, Dropbox, GitHub, Ohloh, CloudFoundry, AmazonWebServices
Developers are still skeptical of online tools but understand the complex nature of IDE setup has to change
Follow a set of design principles, be agile
Embrace the modern browser capabilities
Create a platform that’s extensible
Create web components that are consumable
Enable cross-site workflows & integration points
Create a suite that provides what desktop tools do
...all in a browser
Orion has many page templates by default
Provide initial functionality for developers
Product teams can start with existing pages
Orion provides extensibility points to plugins
Extensibility is what sets Orion apart!!
"plugins" live right in the page
Agnostic to where the plugin or code came from
No lock-in to plugin providers
JavaScript implementation of OSGi Services API
Uses Promises for return types and follows the Lifecycle and Bundle State semantics used for Plugins
Implementation of Configuration Admin and Metatype for Plugin Settings and Schema
OSGI seems like overengineered Java stuff. I'm generally pretty skeptical of big frameworks that do everything for everyone. Usually they're a big pain.
-Isaac Schlueter
You provide html, javascript elements, from your site
In this case served up from a GitHub account
Embedded in the debugger and scratchpad
HP DevAnywhere, the entire software development lifecycle in the cloud
Node.js Orion server including editor, plugins, extensions
Desktop editor only (like Adobe Brackets)
scr [filename] - improved content assist through introspection supporting AMD loading
Cloud ALM solution supporting hosted SCM and Deployment
IBM Cloud ALM solution supporting Jazz SCM and GitHub
z/OS Cloud based cobol development anywhere
Business centric solution for Cloud apps
Esprima examples from Ariya Hidayat
Complete JavaScript implementation of compare functionality
Slightly meta here...
<section> <h3>Embedding in presentations!</h3> <h4>Slightly meta here...</h4> <pre class="editor" data-editor-lang="js" data-editor-theme="css/nimbus.css" style="height:400px"> /*global require window console */ var express = require("express"); var app = express(); app.get('/', function(req, res) { res.send('Hello from Node'); }); app.listen(3000); </pre> </section>
Orion is available as a stand-alone Java based server or WAR file that takes 2 minutes to setup a multi-user cloud based development platform
Those wishing to extent the Java server directly can write Eclipse plugins to surface RESTful APIs to the client
Also available as a Node.js based application, with less functionality, but full editor, search capabilities, node start/stop/debug and npm commands
Very portable and great performance
Deploy anywhere Node is installed
>npm install orion
>npm start orion
Chris McGee working on a Go Development platform
Wrote the file system and search API in Go
Added extension plugins for build and format
Tablets such as the iPad, iPad mini and Google based platforms are also supported by Orion
Not specifically written responsive but we're working on it
i18N built in the core, the UI and in the plug-ins
Text editor capable of both Double Byte and working on Bidi
Working to be fully accessible
Orion provides a plugin for Externalizing strings to bundles
Promises/A+ cancellation and progress, W3C URL, W3C Web Components, HTML Templates and Custom Elements, JavaScript APIs for OSGi
Orion Deferred, Orion HTML Templates Shim, Orion URI Templates, Orion URL Shim, Orion Plugin Registry, Orion Service Registry, Orion XHR Implementation, Orion Node Deferred File System Stand-alone Editor (follow stable links)
All under the EPL and EDL
Really up to the community and the development needs
Need to finish the work on Projects
Research and others working on improved JavaScript tooling
Completing editor keybindings for Emacs and vi
Desire to support compiled languages (through services on the server)
Complete the scalability work on the Java Server
Add additional capabilities to the Node.js Server
Continue to work on offline modes
Read our blog at Planet Orion
Check out the Orion BUZZ
Lots of information in the Orion Wiki
Subscribe and contribute to the Orion Dev List
Create an account and try it at OrionHub
kenwalker.github.io / @kwalker / @orionhub
Orion Lead and Orion Dev Lead at IBM Canada
Start editing this talk at OrionHub.org