<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta name="copyright" content="Copyright (c) 2012, 2013 EclipseSource. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page."/>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
  <title>Underlying Technologies</title>
  <link rel="stylesheet" href="../../../PRODUCT_PLUGIN/book.css" type="text/css"/>
</head>
<body>

  <h1>Related Technologies</h1>
  <p>
    Many questions and problems that occur while developing RAP applications are not directly
    related to RAP, but to the technologies it is based on.
    As an example, layout issues are usually related to SWT, dependencies to third-party libraries
    are handled on the OSGi level, and questions regarding session handling are related to the
    servlet container.
  </p>
  <p>
    Therefore you should have a good understanding of the technologies that your RAP application
    builds upon.
    This will likely include
    <a href="http://www.oracle.com/technetwork/java/javaee/servlet/index.html">Servlet technology</a>,
    <a href="http://www.osgi.org/">OSGi</a>,
    the <a href="http://www.eclipse.org/equinox/">Equinox</a> OSGi implementation,
    <a href="http://www.eclipse.org/swt/">SWT</a>,
    maybe also
    <a href="http://wiki.eclipse.org/index.php/Rich_Client_Platform">RCP</a>.
    Here are some links to get you started:
  </p>

  <h2>OSGi</h2>
  <ul>
    <li>
      <a href="http://www.osgi.org/Technology/HowOSGi">How to Get Started with OSGi</a>
    </li>
  </ul>

  <h2>Equinox</h2>
  <ul>
    <li>
      <a href="http://www.eclipse.org/equinox/documents/quickstart.php">
      Equinox QuickStart Guide</a>
    </li>
    <li>
      <a href="http://www.eclipse.org/equinox/server/http_quickstart.php">
      Equinox Server-side Quickstart</a>
    </li>
    <li>
      <a href="http://www.eclipse.org/equinox-portal/tutorials/server-side/">
      Building a Server-based Application with Equinox</a>
    </li>
  </ul>

  <h2>SWT</h2>
  <ul>
    <li>
      <a href="http://www.eclipse.org/swt/snippets/">
      SWT Snippets</a>
    </li>
    <li>
      <a href="http://www.eclipse.org/articles/article.php?file=Article-Understanding-Layouts/index.html">
      Understanding Layouts in SWT</a>
    </li>
  </ul>

  <h2>JFace and Databinding</h2>
  <ul>
    <li>
      <a href="http://www.eclipse.org/articles/Article-TreeViewer/TreeViewerArticle.htm">
      How to use the JFace Tree Viewer</a>
    </li>
    <li>
      <a href="http://www.eclipse.org/articles/article.php?file=Article-JFaceWizards/index.html">
      Creating JFace Wizards</a>
    </li>
    <li>
      <a href="http://wiki.eclipse.org/index.php/JFace_Data_Binding">Databinding Overview Page</a>, 
      <a href="http://wiki.eclipse.org/JFace_Data_Binding_FAQ">FAQ</a> and 
      <a href="http://wiki.eclipse.org/JFace_Data_Binding/Snippets">Code Snippets</a>
    </li>
  </ul>

  <h2>Workbench</h2>
  <ul>
    <li>
      <a href="http://www.eclipse.org/articles/Article-UI-Workbench/workbench.html">
      Inside the Workbench - A guide to the workbench internals</a>
    </li>
    <li>
      <a href="http://www.eclipse.org/articles/using-perspectives/PerspectiveArticle.html">
      Using Perspectives in the Eclipse UI</a>
    </li>
    <li>
      <a href="http://www.eclipse.org/articles/Article-WorkbenchSelections/article.html">
      Eclipse Workbench: Using the Selection Service</a>
    </li>
    <li>
      <a href="http://www.eclipse.org/articles/Article-Concurrency/jobs-api.html">
      On the Job: The Eclipse Jobs API</a>
    </li>
    <li>
      <a href="http://www.eclipse.org/articles/Article-Workbench-DND/drag_drop.html">
      Drag and Drop in the Eclipse UI</a>
    </li>
  </ul>

</body>
</html>
