Development Tools

Development Tools

There are two main types of development tools: those tied to a specific platform and those open for all platforms. For wireless Internet applications, most browser vendors and device manufacturers offer free software development kits (SDKs) that allow you to develop applications for their device using any server-side platform. These SDKs were described in the Development Tools and Emulators section of Chapter 12, "Thin Client Development," so this section focuses on the development tools that are geared to developing applications for multiple devices and microbrowsers. First, the common features in these tools are examined; then a summary is given of the vendors, along with their Web addresses.


The right development tool can dramatically increase developer productivity by removing low-level complexities, enabling the developer to focus on the application logic. Many of the tools for wireless application development allow for multidevice and multibrowser development from a single environment. These development tools are great for building the client interfaces, but they usually do not expedite the development of business logic to such an extent. Here are some of the key features to look for in a wireless Internet application development tool.

Rapid Application Development

One of the foundations of today's development tools is the concept of rapid application development (RAD). Timelines for creating advanced, multimodal applications are typically tight, so development tools have to provide prebuilt, drag-and-drop, "what you see is what you get" (WYSIWYG) component-based development. These features allow for rapid prototyping and accelerated development on wireless applications. Many of the early development tools for wireless applications were based on proprietary frameworks, essentially locking you into a specific vendor. Over the last year, however, there has been a migration to open technologies, such as Java technologies and XML, making the tools much less proprietary.

Multichannel Support

Mobile access to enterprise data can be established via multiple device channels, including wireless microbrowsers, voice, and messaging. Creating an effective wireless Internet application for one platform is difficult; making it work on multiple platforms, each with different client interfaces and modes of interaction, is an even more daunting task. Applications have to be able to work with any current or emerging network protocol, device, microbrowser, and markup language, and it is unrealistic to expect developers to have the knowledge and experience to create such a diverse range of applications without a development tool to aid them. The development tool should eliminate the complexities and idiosyncrasies of these mobile technologies, allowing developers to design for multiple clients in a single design environment.

Beyond helping in the application development process, the tool also should aid with overall application management and maintenance.

Built-in Emulators

During the development cycle, wireless Internet applications are usually tested using device emulators. Most microbrowser vendors provide emulators for their products, so that developers can test their applications without having to deploy them to a server that can be accessed using a wireless network. Having these emulators incorporated into the development tool makes testing and debugging an application much easier, as you can do it all from the same environment.


The wireless landscape is constantly changing. Devices that are popular today may not be used at all tomorrow. Therefore, it is important that the applications you develop today will be suitable for the devices and networks of the future. One way to ensure this is by separating the presentation layer from the business logic and data integration layers. This allows businesses to quickly adapt applications to new devices, data sources, and business processes. The development tool should support this layered approach to application development.

Support for Standards

Support for open standards is an important aspect of any mobile platform. Support for XML and J2EE allows for integration with existing J2EE-compliant application servers, so that you can choose best-of-breed solutions. Similarly, support for the standard markup languages (HDML, WML, cHTML, HTML, XHTML, and VoiceXML) lets you deploy your applications to a variety of client devices without modification. Finally, the mobile platform you choose should allow for development using standard networks and security protocols, including WAP, WTLS, HTTP, and HTTPS.

Server Integration

The development tool you select should integrate with the wireless application server you are using. Minimally, this means that it must use compatible technology. For example, if your development tool creates JSPs, make sure JSPs are supported in your server platform. You will find that when vendors include a development tool as part of their platform, these tools usually have very tight integration with the server, often providing automatic deployment and debugging capabilities. Unless you have a good reason for not doing so, it is usually recommended that you use the development tool that comes with the platform you have decided to use.

Development Tool Vendors

We can divide wireless application development tool vendors into two categories: open development tools and platform-specific tools. Most of the open tools are either software development kits (SDKs), provided by microbrowser vendors, or Internet tools that have added wireless capabilities. (These tools are covered in Chapter 12.) Platform-specific tools typically provide a more robust set of features, but, as their name signifies, they are created for a specific server platform. This means that by adopting the development tool, you are adopting the entire platform. This is often not ideal, as the cost of deployment for many of these platforms is beyond what many developers are willing or able to pay.

If you are planning to adopt a platform for your mobile application development, you will want to evaluate all aspects of the platform, including the wireless application server, development tool, support for smart client applications, and mobile messaging support.

Table 14.2 lists the several development tools that are available from mobile platform vendors. Due to the rapid ongoing changes in the wireless Internet industry, detailed information on each tool is not provided, as it would quickly become outdated. Instead, it is recommended that you research the current state of each vendor before making any development tool or platform decisions. The URL for each product is provided here to help aid in that research.

Table 14.2: Development Tool Vendors





Nomad Publisher


Mobile Solutions System


Covigo Studio


Everypath Studio

Extended Systems

Mobile Solutions Platform


iConverse Mobile Studio




Mobile Information Toolkit