This page is mostly a collection of the comments gleaned from a thread of discussion on the wicket-user mailing list. You can browse the thread here: http://www.nabble.com/Using-Wicket-to-develop-WAP-sites-tf3531769.html

As such, it currently contains a list of hints rather than being a detailed how-to.

Table of contents

Targeting Mobile Devices

Unfortunately, there is no real mobile-language. It's usually done using various levels of HTML depending on device and some special CSS (also dependent on the device).

If you want to have a standard website which is also usable with mobile devices then your key to success is clean HTML + individual CSS files for the target environment.

Some links to get started:
http://www.w3.org/TR/css-mobile/
http://www.htmldog.com/ptg/archives/000055.php
http://events.ccc.de/congress/2005/fahrplan/events/933.de.html
http://www.westciv.com/style_master/academy/css_tutorial/advanced/mobile_profile.html

These pages should give you a way to understand how to achieve best coverage for various devices.

Using Markup Inheritance

You can use markup inheritance to create a main-page and then extend it in the flavors of the possibilities of the mobile devices... but also think: you are better
off aiming for pocketIE or pocketOpera for special and device dependent markups.

Using Varying Versions of HTML Pages

In addition to allowing you to use markup inheritance, Wicket supports different styles, localizations and variations for one given Java page/panel.

MyPage.java can have many different HTML files:

  • MyPage.html
  • MyPage_en.html
  • MyPage_de.html
  • MyPage_wap.html
  • MyPage_purple.html
  • MyPage_wap_en.html
  • etc.

The order of style, variation and language could be different.

The only thing you need to do in this case is to keep the component hierarchy in sync between the different markup files.

Determining Mobile Device Capabilities

You can provide a custom request cycle and override newClientInfo to plugin your client capabilities (and e.g. call Session#setStyle accordingly). See also wicket.examples.hellobrowser

  • No labels