Channels ▼
RSS

Web Development

Hands-On Google Web Toolkit

Source Code Accompanies This Article. Download It Now.


Hosted versus Web Mode

While developing and debugging your application, you'll be using GWT in hosted mode. When in production however, your application will be running in web mode. Think of hosted mode as training wheels for your GWT program. It's a hybrid environment unique to GWT that lets you run and debug the real Java code, while still inside a browser.

The simplest way to launch hosted mode is to run the script file created by applicationCreator. In the example, we called the project "GWTFlow," so the script to run hosted mode is called "GWTFlow-shell." This brings up the GWT development shell, which then starts your program in hosted mode inside an embedded web browser. Or, using your IDE to start the shell, you can set breakpoints, examine variables, and single step through your application just like any other Java program. A good plug-in (such as GWT Designer for Eclipse) can make this task easier, along with providing extra benefits such as WYSIWYG user interface creation.

After you've debugged and unit tested your code, the next step is to compile it into a form that can be run inside a regular browser using the GWTFlow-compile script or equivalent. The GWT compiler translates your client-side code into JavaScript. It then combines your code with a JavaScript version of the GWT API in one big JavaScript file, which you load in the host HTML page. Actually, it creates several different browser- and language-specific versions. By default, the compiled JavaScript code is obfuscated and compressed to make it load and run as fast as possible for users. However, in the event that you encounter a bug that cannot be tracked down in hosted mode, you can tell GWT to create human-readable JavaScript that you can debug in web mode using a tool such as FireBug (www.ddj.com/development-tools/196802787).


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
 
Dr. Dobb's TV