blob: 8ed0bd4406690f330ce2a967e34e1f53de49258b [file] [log] [blame]
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=1024" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<title>I love scripting, EclipseCon Europe 2015</title>
<meta name="description"
content="EclipseCon presentation of the Eclipse Advanced Scripting Environment." />
<meta name="author" content="Christian Pontesegger" />
<link
href="http://fonts.googleapis.com/css?family=Open+Sans:regular,semibold,italic,italicsemibold|PT+Sans:400,700,400italic,700italic|PT+Serif:400,700,400italic,700italic"
rel="stylesheet" />
<link href='https://fonts.googleapis.com/css?family=Marck+Script&subset=latin,latin-ext' rel='stylesheet' type='text/css'>
<link href="style.css" rel="stylesheet" />
</head>
<body class="impress-not-supported">
<!--
For example this fallback message is only visible when there is `impress-not-supported` class on body.
-->
<div class="fallback-message">
<p>
Your browser <b>doesn't support the features required</b> by impress.js, so you are presented
with a simplified version of this presentation.
</p>
<p>
For the best experience please use the latest <b>Chrome</b>, <b>Safari</b> or <b>Firefox</b>
browser.
</p>
</div>
<div id="impress">
<div id="title" class="step slide" data-x="0" data-y="600" data-scale="4">
<div id="i_love">I love scripting</div>
<div id="copyright">EclipseCon Europe 2015<br />by Christian Pontesegger</div>
</div>
<div id="bigPicture" class="step slide" data-x="0" data-y="500" data-z="-500" data-rotate-x="-90">
<img id="picture_java" src="images/java.png" />
<img id="picture_script1" src="images/script.png" />
<img id="picture_script2" src="images/script.png" />
<img id="picture_script3" src="images/script.png" />
<img id="picture_script4" src="images/script.png" />
<img id="picture_script5" src="images/script.png" />
<p id="picture_ease" class="box eclipse">
EASE<br />Eclipse Advanced Scripting Environment
</p>
<p id="picture_jsdt" class="ideSupport box eclipse">JSDT</p>
<p id="picture_pydev" class="ideSupport box eclipse">PyDev</p>
<p id="picture_ggts" class="ideSupport box eclipse">GGTS</p>
<p id="picture_rdt" class="ideSupport box eclipse">RDT</p>
<p id="picture_eclipse" class="box eclipse">
Eclipse<br /> <img src="images/eclipse256.png" />
</p>
<p id="picture_rhino" class="engine box eclipse">Rhino</p>
<p id="picture_jython" class="engine box eclipse">Jython</p>
<p id="picture_groovy" class="engine box eclipse">Groovy</p>
<p id="picture_jruby" class="engine box eclipse">JRuby</p>
</div>
<div id="shell_main" class="step slide background" data-x="0" data-y="-1700">
<h1>An interactive script shell</h1>
<img class="center" src="images/scrn_shell.png" />
</div>
<div id="shell_jre" class="step slide background" data-x="0" data-y="-2700">
<h1>... with access to the Java runtime</h1>
<div id="jre1" class="code">
<img src="images/shell_java_1.png" />
</div>
<div id="jre2" class="code">
<img src="images/shell_java_2.png" />
</div>
<div id="jre3" class="code">
<img src="images/shell_java_3.png" />
</div>
</div>
<div id="shell_jars" class="step slide background" data-x="-700" data-y="-3700">
<h1>... your JARs</h1>
<img class="center" src="images/scrn_shell_jars.png" />
</div>
<div id="shell_eclipse" class="step slide background" data-x="700" data-y="-3700">
<h1>... and Eclipse</h1>
<img class="center" src="images/scrn_shell_eclipse.png" />
<p class="bottomright">with all its plug-ins</p>
</div>
<div id="code_completion" class="step slide background" data-x="1500" data-y="-1200" data-rotate="45">
<h1>Powerful code completion</h1>
<img class="center" src="images/scrn_code_completion.png" />
</div>
<div id="code_completion_help" class="step slide background" data-x="2200" data-y="-1900" data-rotate="45">
<h1>... with help tooltips</h1>
<img class="center" src="images/scrn_code_completion_help.png" width="880" />
<img id="coming_soon" src="images/coming_soon.png" width="300" />
</div>
<div id="modules_explorer" class="step slide background" data-x="2000" data-y="0" data-rotate="90">
<h1>Use modules for common tasks</h1>
<ul class="left">
<li>Launch support</li>
<li>Preferences</li>
<li>access Services</li>
<li>perform UI tasks</li>
<li>Script multithreading</li>
<li>Resource handling</li>
</ul>
<img class="right" src="images/scrn_modules_explorer.png" />
</div>
<div id="load_modules" class="step slide background" data-x="3000" data-y="0" data-rotate="90">
<h1>... loaded dynamically during runtime</h1>
<img class="center" src="images/scrn_load_module.png" />
<img id="popup" src="images/scrn_script_popup.png" />
</div>
<div id="wrap_java_instance" class="step slide background" data-x="4000" data-y="-1250" data-rotate="90">
<h1>Wrap any java object</h1>
<img class="center" src="images/scrn_wrap_instance.png" />
</div>
<div id="register_pojo" class="step slide background" data-x="4000" data-y="0" data-rotate="90">
<h1>Register POJOs</h1>
<img id="pojo1" src="images/code_simple_module.png" />
<img id="pojo2" src="images/code_module_extension.png" />
</div>
<div id="write_modules" class="step slide background" data-x="4000" data-y="1250" data-rotate="90">
<h1>or write sophisticated modules</h1>
<ul class="center">
<li>select methods/fields to export</li>
<li>have optional parameters</li>
<li>provide method aliases</li>
<li>deprecate methods</li>
</ul>
<a target="_blank" class="centerbottom" href="http://codeandme.blogspot.co.at/2014/10/writing-modules-for-ease.html">Read the
detailed tutorial</a>
</div>
<div id="module_docs" class="step slide background" data-x="5000" data-y="-625" data-rotate="90">
<h1>Consistent documentation</h1>
<img class="center" src="images/scrn_online_help.png" />
</div>
<div id="module_docs_build" class="step slide background" data-x="5000" data-y="625" data-rotate="90">
<h1>created @ build time</h1>
<img class="center code" src="images/code_build_module_docs.png" />
</div>
<div id="launch_config" class="step slide background" data-x="1500" data-y="1200" data-rotate="135">
<h1>Launch support</h1>
<img class="center" src="images/scrn_launch_configuration.png" />
</div>
<div id="debug_config" class="step slide background" data-x="2200" data-y="1900" data-rotate="135">
<h1>Integrated debugger</h1>
<img class="center" src="images/scrn_debugging.png" />
</div>
<div id="script_libraries" class="step slide background" data-x="0" data-y="1700" data-rotate="180">
<h1>Create script libraries</h1>
<img class="left" src="images/scrn_script_explorer.png" />
<ul class="right">
<li>record shell scripts</li>
<li>load from known location</li>
<li>customize display structure</li>
<li>modify scripts</li>
<li>execute scripts</li>
</ul>
</div>
<div id="script_repositories" class="step slide background" data-x="0" data-y="2700" data-rotate="180">
<h1>Share with colleagues</h1>
<img class="center" src="images/scrn_script_locations.png" />
<p class="bottomright">... or the world</p>
</div>
<div id="script_ui_integration" class="step slide background" data-x="0" data-y="3700" data-rotate="180">
<h1>Enhance your UI</h1>
<div id="toolbar">
<img src="images/scrn_script_ui_toolbar.png" />
<p>... toolbars</p>
</div>
<div id="menu">
<img src="images/scrn_script_ui_menu.png" />
<p>... view menus</p>
</div>
<div id="context">
<img src="images/scrn_script_ui_context.png" />
<p>... context menus</p>
</div>
<a target="_blank" class="bottomright" href="http://codeandme.blogspot.co.at/2014/12/ease-scripts-conquer-ui.html">Read the
detailed tutorial</a>
</div>
<div id="charts" class="step slide background" data-x="-1500" data-y="1200" data-rotate="225" >
<h1>Live charts</h1>
<div class="code">
<img src="images/code_charts.png" />
</div>
<img id="charts1" src="images/scrn_simple_chart.png" />
<img id="charts2" src="images/scrn_advanced_chart.png" />
<a target="_blank" class="bottomright" href="http://codeandme.blogspot.co.at/2015/04/live-charting-with-ease.html">Read the detailed tutorial</a>
</div>
<div id="unit_tests" class="step slide background" data-x="-2000" data-y="0" data-rotate="270" >
<h1>Scripted unit testing</h1>
<img class="left" src="images/scrn_unit_testing.png" />
<ul class="right">
<li>UI support</li>
<li>Error markers in files</li>
<li>Reporting</li>
<li>integrates with Hudson/Jenkins</li>
</ul>
<a target="_blank" class="bottomright" href="http://codeandme.blogspot.co.at/2015/05/unit-testing-with-scripts-in-ease.html">Read
the detailed tutorial</a>
</div>
<div id="java_code" class="step slide background" data-x="-1500" data-y="-1200" data-rotate="315">
<h1>Interact with Java source</h1>
<img class="center" src="images/code_invoke_java.png" />
</div>
<div id="java_load" class="step slide background" data-x="-2200" data-y="-1900" data-rotate="315">
<h1>... load classes from workspace</h1>
<img class="center" src="images/scrn_compile_class.png" />
</div>
<div id="java_invoke" class="step slide background" data-x="-2900" data-y="-2600" data-rotate="315">
<h1>INVOKE !</h1>
<img class="center" src="images/scrn_invoke_java.png" />
<img id="java_result" src="images/scrn_invoke_result.png" />
<p class="bottomright">... and we do not launch a new JRE.</p>
</div>
<div id="engine_integration" class="step slide background" data-x="0" data-y="-5000" data-rotate="360">
<h1>Supported engines</h1>
<table class="center">
<tr>
<th class="rotate"></th>
<th class="rotate"><div><span>Launch</span></div></th>
<th class="rotate"><div><span>Shell</span></div></th>
<th class="rotate"><div><span>Modules</span></div></th>
<th class="rotate"><div><span>Scripts</span></div></th>
<th class="rotate"><div><span>Unit Test</span></div></th>
<th class="rotate"><div><span>Debug</span></div></th>
</tr>
<tr>
<td>Rhino</td>
<td><img src="images/supported.png" width="20" alt="ok"/></td>
<td><img src="images/supported.png" width="20" alt="ok"/></td>
<td><img src="images/supported.png" width="20" alt="ok"/></td>
<td><img src="images/supported.png" width="20" alt="ok"/></td>
<td><img src="images/supported.png" width="20" alt="ok"/></td>
<td><img src="images/supported.png" width="20" alt="ok"/></td>
</tr>
<tr>
<td>Nashorn</td>
<td><img src="images/supported.png" width="20" alt="ok"/></td>
<td><img src="images/supported.png" width="20" alt="ok"/></td>
<td><img src="images/supported.png" width="20" alt="ok"/></td>
<td><img src="images/supported.png" width="20" alt="ok"/></td>
<td><img src="images/not_supported.png" width="20" alt="ok"/></td>
<td><img src="images/not_supported.png" width="20" alt="ok"/></td>
</tr>
<tr>
<td>Jython</td>
<td><img src="images/supported.png" width="20" alt="ok"/></td>
<td><img src="images/supported.png" width="20" alt="ok"/></td>
<td><img src="images/supported.png" width="20" alt="ok"/></td>
<td><img src="images/supported.png" width="20" alt="ok"/></td>
<td><img src="images/not_supported.png" width="20" alt="ok"/></td>
<td><img src="images/supported.png" width="20" alt="ok"/></td>
</tr>
<tr>
<td>Groovy</td>
<td><img src="images/supported.png" width="20" alt="ok"/></td>
<td><img src="images/supported.png" width="20" alt="ok"/></td>
<td><img src="images/supported.png" width="20" alt="ok"/></td>
<td><img src="images/supported.png" width="20" alt="ok"/></td>
<td><img src="images/not_supported.png" width="20" alt="ok"/></td>
<td><img src="images/not_supported.png" width="20" alt="ok"/></td>
</tr>
<tr>
<td>JRuby</td>
<td><img src="images/supported.png" width="20" alt="ok"/></td>
<td><img src="images/supported.png" width="20" alt="ok"/></td>
<td><img src="images/supported.png" width="20" alt="ok"/></td>
<td><img src="images/supported.png" width="20" alt="ok"/></td>
<td><img src="images/not_supported.png" width="20" alt="ok"/></td>
<td><img src="images/not_supported.png" width="20" alt="ok"/></td>
</tr>
<tr>
<td>JVM</td>
<td><img src="images/supported.png" width="20" alt="ok"/></td>
<td><img src="images/not_supported.png" width="20" alt="ok"/></td>
<td><img src="images/not_supported.png" width="20" alt="ok"/></td>
<td><img src="images/supported.png" width="20" alt="ok"/></td>
<td><img src="images/not_supported.png" width="20" alt="ok"/></td>
<td><img src="images/not_supported.png" width="20" alt="ok"/></td>
</tr>
</table>
</div>
<div id="conclusion" class="step slide" data-x="0" data-y="100" data-scale="3" data-rotate-x="-20">
<div>That's why</div>
</div>
<div id="get_in_touch" class="step slide background" data-x="0" data-y="-500" data-z="500" data-rotate-x="-90">
<h1>Get in touch</h1>
<p id="link1" class="center"><a target="_blank" href="https://eclipse.org/ease">eclipse.org/ease</a></p>
<p id="link2" class="center"><a target="_blank" href="https://codeandme.blogspot.com">codeandme.blogspot.com</a></p>
</div>
<div id="evaluation" class="step slide" data-x="0" data-y="-500" data-z="1500" data-rotate-x="-90">
<img class="center" src="images/evaluation.png" />
</div>
</div>
<div class="hint">
<p>Use a spacebar or arrow keys to navigate</p>
</div>
<script>
if ("ontouchstart" in document.documentElement) {
document.querySelector(".hint").innerHTML = "<p>Tap on the left or right to navigate</p>";
}
</script>
<script src="http://impress.github.io/impress.js/js/impress.js"></script>
<script>
impress().init();
</script>
</body>
</html>