platform-ui-home/rcp/index.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.13 - (view) (download) (as text)

1 : nick 1.1 <html>
2 :    
3 :     <head>
4 :     <meta http-equiv="Content-Language" content="en-us">
5 :     <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
6 :     <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
7 :     <meta name="ProgId" content="FrontPage.Editor.Document">
8 :     <link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css">
9 :     <title>Eclipse Rich Client Platform</title>
10 :     </head>
11 :    
12 :     <body>
13 :    
14 :     <h1>Eclipse Rich Client Platform</h1>
15 : nick 1.7
16 :     <P>
17 :     While the Eclipse platform is designed to serve as an open tools platform, it is architected so that its components could be
18 :     used to build just about any client application. The minimal set of plug-ins needed to build a rich client application is collectively
19 :     known as the <b>Rich Client Platform</b>.
20 :     </P>
21 :     <p>
22 :     Applications that don't require a common resource model can be built using a subset of the platform. These rich applications
23 :     are still based on a dynamic plug-in model, and the UI is built using the same toolkits and extension points. The layout and
24 :     function of the workbench is under fine-grained control of the plug-in developer in this case.
25 :     </P>
26 :     <p>
27 :     When we say that the Rich Client Platform is the minimal set of plug-ins needed to build a platform application with
28 : nick 1.12 a UI, we mean that your application need only require two plug-ins, <b>org.eclipse.ui</b> and <b>org.eclipse.core.runtime</b>,
29 :     and their prerequisites.
30 :    
31 : nick 1.7 However, rich client applications are free to use any API deemed necessary
32 :     for their feature set, and can require any plug-ins above the bare minimum. Examples include the Help UI, and the Update Manager.
33 :     </p>
34 : nick 1.12 <p>
35 :     For more details on what is included in the Rich Client Platform, see the <a href="faq.html">RCP FAQ</a>.
36 :     </p>
37 : nick 1.1 <h4>FAQs</h4>
38 :     <ul>
39 :     <li><a href="faq.html">Rich Client Platform FAQ</a></li>
40 :     </ul>
41 : nick 1.7
42 : nick 1.12 <h4><a name="tutorials">Articles and Tutorials</h4>
43 : nick 1.1 <ul>
44 : nick 1.7 <li>Rich Client Platform Tutorial, by Ed Burnette.
45 : nick 1.10 <a href="http://eclipse.org/articles/Article-RCP-1/tutorial1.html">Part 1</a>,
46 :     <a href="http://eclipse.org/articles/Article-RCP-2/tutorial2.html">Part 2</a>,
47 :     <a href="http://eclipse.org/articles/Article-RCP-3/tutorial3.html">Part 3</a>
48 : nick 1.7 </li>
49 :     <li>Eclipse's Rich Client Platform, by Jeff Gunther (on IBM developerWorks).
50 :     <a href="http://www-106.ibm.com/developerworks/edu/os-dw-os-rcp1-i.html">Part 1</a>,
51 :     <a href="http://www-106.ibm.com/developerworks/edu/os-dw-os-rcp2-i.html">Part 2</a>
52 :     </li>
53 : nick 1.12 <li><a href="http://eclipse.org/articles/Article-Branding/branding-your-application.html">Branding Your Application</a>, by Pascal Rapicault and Andrew Eidsness.</li>
54 : nick 1.1 </ul>
55 : nick 1.7
56 :     <h4><a name="help">Help Topics</a></h4>
57 : nick 1.12 The following are relevant help topics from the Platform Plug-in Developer Guide (from within the Eclipse IDE: Help > Help Contents > Platform Plug-in Developer Guide). The links below are to the online Eclipse 3.0 help.
58 : nick 1.1 <ul>
59 : nick 1.12 <li><a href="http://help.eclipse.org/help30/topic/org.eclipse.platform.doc.isv/guide/rcp.htm">Building a Rich Client Platform application</a></li>
60 :     <li><a href="http://help.eclipse.org/help30/topic/org.eclipse.platform.doc.isv/guide/product_def.htm">Defining a Product</a></li>
61 :     <li><a href="http://help.eclipse.org/help30/topic/org.eclipse.platform.doc.isv/guide/workbench.htm">Plugging into the workbench</a></li>
62 :     <li><a href="http://help.eclipse.org/help30/topic/org.eclipse.platform.doc.isv/guide/runtime.htm">Runtime overview</a></li>
63 :     <li><a href="http://help.eclipse.org/help30/topic/org.eclipse.platform.doc.isv/guide/swt.htm">SWT - Standard Widget Toolkit</a></li>
64 :     <li><a href="http://help.eclipse.org/help30/topic/org.eclipse.platform.doc.isv/guide/jface.htm">JFace UI Framework</a></li>
65 :     <li><a href="http://help.eclipse.org/help30/topic/org.eclipse.platform.doc.isv/guide/dialogs.htm">Dialogs and wizards</a></li>
66 :     <li><a href="http://help.eclipse.org/help30/topic/org.eclipse.platform.doc.isv/guide/wrkAdv.htm">Advanced Workbench Concepts</a></li>
67 :     <li><a href="http://help.eclipse.org/help30/topic/org.eclipse.platform.doc.isv/reference/misc/api-usage-rules.html">API rules of engagement</a></li>
68 :     <li><a href="http://help.eclipse.org/help30/topic/org.eclipse.platform.doc.isv/reference/misc/runtime-options.html">Runtime options</a></li>
69 : nick 1.7 <li><a href="http://help.eclipse.org/help30/topic/org.eclipse.platform.doc.isv/reference/misc/overview-platform.html">Map of Platform Plug-ins</a></li>
70 :     <li><a href="http://help.eclipse.org/help30/topic/org.eclipse.platform.doc.isv/porting/eclipse_3_0_porting_guide.html">Eclipse
71 :     3.0 Plug-in Migration Guide</a></li>
72 : nick 1.12 </ul>
73 :    
74 :     <h4><a name="newsgroups">Newsgroups</a></h4>
75 :     <p>
76 :     The following <a href="http://eclipse.org/newsgroups/index.html">newsgroups</a> have useful discussions, questions and answers relevant to the development of RCP applications.
77 :     </p>
78 :     <p>If you have a question, please check the <a href="faq.html">RCP FAQ</a> before posting to the newsgroups.
79 :     </p>
80 :     <p>
81 :     Kindly avoid posting to the developer mailing lists as these are intended for use by the development teams and others participating in the development of Eclipse itself.
82 :     </p>
83 :     <ul>
84 :     <li><b><a href="news://news.eclipse.org/eclipse.platform.rcp">news://news.eclipse.org/eclipse.platform.rcp</a></b> - For questions specific to the development of RCP applications.
85 :     <li><b><a href="news://news.eclipse.org/eclipse.platform">news://news.eclipse.org/eclipse.platform</a></b> - For general Workbench and JFace questions that could apply both to RCP applications and IDE plug-ins.
86 :     <li><b><a href="news://news.eclipse.org/eclipse.platform.swt">news://news.eclipse.org/eclipse.platform.swt</a></b> - For SWT-specific questions.
87 : nick 1.1 </ul>
88 : nick 1.7
89 : nick 1.3 <h4><a name="rcp_browser">Browser Example</a></h4>
90 : nick 1.1 The RCP Browser Example is an example of a simple RCP app.
91 : nick 1.3 Here is a <a href="examples/browser/browser.jpg">screen shot</a>.
92 : nick 1.1 <p>
93 :     To load the browser example source into your workspace, load project <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/org.eclipse.ui.examples.rcp.browser">org.eclipse.ui.examples.rcp.browser</a> from the Eclipse CVS repository.
94 :     <br>
95 :     Click <a href="http://dev.eclipse.org/cvshowto.html">here</a> for instructions on using CVS with Eclipse.
96 :     <p>
97 :     For instructions on running the example, see the
98 :     <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/org.eclipse.ui.examples.rcp.browser/readme.html">readme file</a>.
99 :     <p>
100 :     To run the example in binary form (last updated June 11, 2004 for the 3.0 RC2 build):
101 :     <ol>
102 :     <li>Download the RCP Runtime build from the <a href="http://eclipse.org/downloads/index.php">Downloads</a> page, and extract it to a folder such as <em>c:\browser-example</em>.
103 : nick 1.5 <li>Download the <a href="examples/browser/org.eclipse.ui.examples.rcp.browser_3.0.0.zip">browser plug-in zip</a> and extract it to the eclipse/plugins subfolder.
104 : nick 1.1 <li>Replace the eclipse/configuration/config.ini file with the appropriate config file from the browser plugin. For example, on Windows,
105 :     copy eclipse/plugins/org.eclipse.ui.examples.rcp.browser_3.0.0/config_win32.ini to eclipse/configuration/config.ini .
106 :     <li>Run: <code>eclipse.exe</code>.
107 :     </ol>
108 :     </p>
109 : nick 1.7 <h4><a name="text_editor_example">Text Editor Example</h4>
110 : nick 1.1 The RCP Text Editor Example is an example of a simple RCP app that makes use of the text editing infrastructure (an optional RCP component).
111 :     <br>
112 :     Click <a href="examples/texteditor/rcp_texteditor_ex.html">here</a> for the documentation for the example.
113 :     <p>
114 : nick 1.6 To run the example in binary form (last updated June 28, 2004 for the R3.0 build):
115 : nick 1.2 <ol>
116 :     <li>Download the RCP Runtime build from the <a href="http://eclipse.org/downloads/index.php">Downloads</a> page, and extract it to a folder such as <em>c:\texteditor-example</em>.
117 :     <li>Download the <a href="examples/texteditor/org.eclipse.rcp.text_3.0.0.zip">RCP text editing component zip</a> and extract it to the eclipse/plugins subfolder.
118 :     <li>Download the <a href="examples/texteditor/org.eclipse.ui.examples.rcp.texteditor_1.0.0.zip">texteditor plugin zip</a> and extract it to the eclipse/plugins subfolder.
119 :     <li>Replace the eclipse/configuration/config.ini file with the appropriate config file from the texteditor plugin. For example, on Windows,
120 :     copy eclipse/plugins/org.eclipse.ui.examples.rcp.texteditor_1.0.0/config_win32.ini to eclipse/configuration/config.ini .
121 :     <li>Run the eclipse executable: For example, on Windows, run <code>eclipse.exe</code>.
122 :     </ol>
123 :     </p>
124 :     <p>
125 : nick 1.1 To load the text editor example source into your workspace:
126 :     <ol>
127 : nick 1.2 <li>Download the <a href="examples/texteditor/org.eclipse.ui.examples.rcp.texteditor_1.0.0.src.zip">texteditor source plugin</a> and save it on your harddisk.</li>
128 :     <li>Create a new java project in your workspace and name it <code>org.eclipse.ui.examples.rcp.texteditor</code>. Choose to "Create separate source and output folders".
129 :     <li>Choose File > Import > Zip File.
130 :     <li>Use the Browse button to select the zip file you downloaded in step 1. Choose the plugin created in step 2 as destination folder.
131 : nick 1.1 <li>Press Finish.
132 :     </ol>
133 : nick 1.2 To run the example from your workspace:
134 : nick 1.1 <ol>
135 :     <li>Choose Run > Debug...
136 :     <li>Under Run-time Workbench, there should be two new configurations: RCP Text Editor (gtk) and RCP Text Editor (win32).
137 :     <li>Edit the appropriate one as follows:
138 :     <ul>
139 :     <li>on the Arguments tab, change the workspace location to some directory with write access (different than your host workspace, and different than the workspace used for other launch configs);
140 :     <li>in the Program to Run group, ensure that the application <b>org.eclipse.ui.workbench.rcp.texteditor.application</b> is selected;
141 :     <li>on the Plug-ins tab, press Deselect All, check org.eclipse.ui.workbench.rcp.texteditor, press Add Required Plug-ins, and also check org.eclipse.update.configurator.
142 :     </ul>
143 :     <li>Press Debug.
144 :     <li>When the RCP Text Editor Example window opens, use File > Open to open a plain text, .xml, or .html file.
145 :     </ol>
146 :    
147 :     <p>
148 :     </p>
149 : nick 1.7 <h4><a name="rcp_and_r21">R2.1 Style Presentation</a></h4>
150 :     The presentation of your RCP application can be changed using the org.eclipse.ui.presentationFactories extension point. This example will show how to use the R2.1 presentation, provided by the org.eclipse.ui.presentations.r21 plugin, in the RCP Browser Example application. Here is a <a href="examples/browser/browser-r21.jpg">screen shot</a> of the browser example using the R2.1 presentation.
151 :     <p>
152 :     The following steps will deploy the plugin into the RCP application and activate it by setting some preferences.
153 :     <p>
154 :     <ol>
155 :     <li>Deploy the RCP browser example by following <a href="#rcp_browser">these instructions</a>.</li>
156 :     <li>Build and deploy the org.eclipse.ui.presentations.r21 plugin.</li>
157 :     <li>Copy the file eclipse/plugins/org.eclipse.ui.presentations.r21_3.0.0/r21presentation.ini into the directory eclipse/plugins/org.eclipse.ui.examples.rcp.browser_3.0.0.</li>
158 :     <li>Edit eclipse/plugins/org.eclipse.ui.examples.rcp.browser_3.0.0/plugin.xml so that the products extension looks like:
159 :     <pre>
160 :     &lt;extension
161 :     point=&quot;org.eclipse.core.runtime.products&quot;
162 :     id=&quot;product&quot;&gt;
163 :     &lt;product
164 :     name=&quot;%productName&quot;
165 :     application=&quot;org.eclipse.ui.examples.rcp.browser.app&quot;&gt;
166 :     &lt;property
167 :     name=&quot;appName&quot;
168 :     value=&quot;%swtAppName&quot;/&gt;
169 :     &lt;property
170 :     name=&quot;windowImages&quot;
171 :     value=&quot;icons/eclipse.gif,icons/eclipse32.gif&quot;/&gt;
172 :     &lt;property
173 :     name=&quot;aboutText&quot;
174 :     value=&quot;%aboutText&quot;/&gt;
175 :     &lt;property
176 :     name=&quot;aboutImage&quot;
177 :     value=&quot;icons/eclipse_lg.gif&quot;/&gt;
178 :     &lt;property
179 :     name=&quot;preferenceCustomization&quot;
180 :     value=&quot;r21presentation.ini&quot;/&gt;
181 :     &lt;/product&gt;
182 :     &lt;/extension&gt;
183 :     </pre></li>
184 :     <li>If you are not using the update configurator, then remember to edit the osgi.bundles property (in ./eclipse/configuration/config.ini) to include the new plug-in.</li>
185 :     <li>Run: <code>eclipse.exe</code>.</li>
186 :     </ol>
187 :     <h4><a name="design_docs">Design documents</h4>
188 :     The following are the original design documents for the RCP work done in Eclipse 3.0. They are somewhat out of date and are provided here mainly for historical interest.
189 :     The tutorials and help topics above provide better materials for getting started with RCP.
190 :     <ul>
191 :     <li>Original plan item in Bugzilla: <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=36967">Enable Eclipse to be used as a rich client platform</a></li>
192 :     <li><a href="generic_workbench_summary.html">Executive Summary of the Eclipse
193 :     Rich Client Platform UI</a> (includes excerpts from the documents below)</li>
194 :     <li><a href="generic_workbench_direction.html">Statement of Direction for the
195 :     Eclipse Rich Client Platform UI</a></li>
196 :     <li><a href="generic_workbench_approach.html">Eclipse Rich Client Platform UI
197 :     - Proposed Approach</a></li>
198 :     <li><a href="generic_workbench_overview.html">Overview of the Generic
199 :     Workbench</a></li>
200 :     <li><a href="generic_workbench_structure.html">Generic Workbench Plug-in
201 :     Structure</a></li>
202 :     </ul>
203 :     <h4><a name="resources">Other Resources</h4>
204 :     The following are other resources describing the Eclipse Rich Client Platform, or related subjects:
205 : nick 1.5 <ul>
206 : nick 1.8 <li>Chapter 13. Building Your Own Application, of the "<a href="http://www.eclipsefaq.org">Official Eclipse FAQs</a>" book.</li>
207 :     <li>Ed Burnette's <a href="http://eclipsepowered.org">eclipsepowered.org</a> site.</li>
208 : nick 1.5 </ul>
209 :    
210 : nick 1.1 </body>
211 :    
212 :     </html>