So you've heard of HDML and you've heard of WML, but you don't know the differences, and you don't know which to use. Perhaps you're already using one and thinking of switching to the other. Perhaps you've heard that they are the same (as I first did). Let's clear up some of this confusion. First, some back ... So you've heard of HDML and you've heard of WML, but you don't know the differences, and you don't know which to use. Perhaps you're already using one and thinking of switching to the other. Perhaps you've heard that they are the same (as I first did). Let's clear up some of this confusion. First, some background information. In May of 1997 Unwired Planet, a member of the World Wide Web Consortium (W3C), submitted a request to the W3C for the HDML (Handheld Device Markup Language) Specification. The full specification can be found at www.w3.org. Although the submission was acknowledged by the W3C, it is still considered a "working draft" and no further enhancements have been made since its inception. In June of 1999 the WAP Forum, currently enrolling over 200 members, released WML (Wireless Markup Language) v1.1 and shortly after, it released v1.2 in November of 1999. The most recent WML Specification can be found at www.wapforum.org. Both languages share the same basic programming model and functionality; however, there are some notable differences to discuss. The main difference is that WML is XML-based, while HDML is not. The main benefit of being XML-based is that a company can use commercially available XML tools to generate, parse and manipulate WML, and they can also user XSL/XSLT to construct WML decks from XML meta-languages. Another major difference between HDML and WML is that HDML does not allow scripting, (sorry JavaScripters), while WML allows it's own version of JavaScript, called none other than WMLScript. WMLScript allows the programmer to check the validity of user input, access other facilities on the device (make a call on a phone, add a number to the phone book, etc.), generate messages and dialogs, and other device-specific tasks. HDML has the functionality to do most of the same tasks; however, using WMLScript reduces overall network traffic by performing the task locally. HDML does not have a DTD (Document Type Definition) while WML does. As expected, there are also other smaller functionality and syntax differences such as WML's intrinsic events and the ways in which variables are set and passed. Feature | HDML | WML | XML-based | No | Yes | DTD available | No | Yes | Scripting | None | WMLScript | Display Cards | Yes | Yes | Choice/Select Cards | Yes | Yes | Entry/Input Cards | Yes | Yes | Nodisplay Cards | Yes | Yes | Images in Text and Anchors | Yes | Yes | Variables | Yes | Yes | Deck Access Control | Yes | Yes | Deck Cache Control | Yes | Yes | Timers | No | Yes | Multiple Choice Lists | No | Yes | Bookmarks | Yes | No* | Nested Activities | Yes | No** | Images in Labels and Choices | Yes | No** | Mobile Originated Pre-fetch | Yes | No** | Key Accelerators for Links | Yes | No** | * UP.Browser supports this feature via WML meta tag ** Supported by Up.Browser 4.0 via Phone.com WML extended tag So which language is the most promising pick for the future? Based on the aforementioned facts, I'd have to say that WML is going to live much longer and go farther than HDML. Unfortunately, I think Unwired Planet came out with HDML just a tad before its time. When the HDML Spec was released, XML was so new, Unwired Planet did not know enough about it to make HDML based upon it. Although the Phone.com's UP.Link platform will continue to support applications written in HDML, they are recommending to its users to move to WML. Remembering this and all the other limitations of HDML, I think WML, or some form thereof, will stick around to see the future of WAP. In Europe and Japan, some WAP devices already do not accept the HDML format. In the US and Canada many of the commercially available CDMA and CDPD phones only support HDML. It is most likely that the future US and Canadian phones will all support WML also. Fortunately, it is not difficult to convert HDML to WML and the learning curve should be minimal. References: W3Schools.com WAP Forum W3C Submissions Phone.com
| | DISCLAIMER: The content provided in this article is not warranted or guaranteed by Developer Shed, Inc. The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware. |
More ASP Articles More By aspfree developerWorks - FREE Tools! | Build secure Web services with transport-level security using IBM Rational Application Developer V7 and IBM WebSphere Application Server V6.1. Follow this three-part series for step-by-step instructions about how to develop Web services and clients, configure HTTP basic authentication, and configure HTTP over SSL (HTTPS). This first part of the series walks you through building a Web service for a simple calculator application. You generate and test two different types of Web services clients: a Java Platform, Enterprise Edition (Java EE) client and a stand-alone Java client. You also handle user-defined exceptions in Web services. FREE! Go There Now!
| | | | Download the Rational Application Developer (RAD) v7.5 open beta code and start developing applications for the JEE5 standard which features EJB3.0, JPA, JSF 1.2, JSP 2.1 and Servlet 2.5 standards. When you use this beta you will see how you can increase developer productivity for already existing applications with improved support for refactoring, as well as adding new features to existing applications. In addition, the beta provides tooling for JD Edwards, Oracle, SAP, Siebel and PeopleSoft to improve the developer productivity with these enterprise systems. FREE! Go There Now!
| | | | Download a free trial version of IBM DB2 9.5 for Linux, UNIX, and Windows. DB2 9 is the result of a five-year development project that transformed traditional (static) database technology into an interactive data server that merges the high performance and ease of use of DB2 with the self-describing benefits of XML. FREE! Go There Now!
| | | | Visit IBM developerWorks to download a free trial of the Rational Host Access Transformation Services (HATS) Toolkit. The HATS toolkit provides a set of plug-ins for the IBM Rational Software Delivery Platform to help you easily extend your legacy applications. HATS makes your 3270 and 5250 applications available as HTML through the most popular Web browsers, while converting your host screens to a Web look and feel and it also enables you to develop new Web, portal, and rich-client applications. FREE! Go There Now!
| | | | Learn from the best! Find out how developers use Rational ClearCase to be more flexible, innovative and deliver higher quality code in the Rational ClearCase Power Users eKit. This complimentary eKit provides a collection of materials, like articles, whitepapers, and demos that can help you become a power user of Rational ClearCase. FREE! Go There Now!
| | | | Learn how Rational Build Forge can extend a simple compile and package build process by adding customization and deployment capability. Go from a manual method to automating: checking for code changes; getting the latest source; compiling and packaging; customizing; copying to and restarting a deployment server; and sending e-mail notification that a new version is available. FREE! Go There Now!
| | | | Try the latest version of IBM Rational Manual Tester V7.0.1 by downloading a free trial from IBM developerWorks. This manual test authoring and execution tool promotes test step reuse to reduce the impact of software change on testers and business analysts and addresses the needs of teams performing at least a portion of their testing manually. FREE! Go There Now!
| | | | The Eclipse community is constantly working to extend Eclipse's functionality. In this webcast, learn about some of the most important and feature-rich projects under development. From multi-language support to plug-in development, tune in to see what Eclipse is capable of now. FREE! Go There Now!
| | | | In this webcast, you'll get an introduction to the eXtreme Transaction Processing (XTP) features of WebSphere Extended Deployment and the common architectural traits required by XTP applications. See how WebSphere Extended Deployment's ObjectGrid feature provides a state-of-the-art infrastructure for hosting XTP applications. FREE! Go There Now!
| | | | The discipline of assembling and delivering software is maturing beyond standard developer-centric compile/test software builds. The end-to-end software development lifecycle is emerging as the new focus moves “Beyond the Build.” Join this on demand webcast to learn about methods for streamlining software delivery and key capabilities of the IBM Rational Build Forge framework for automating build and release management in environments of any size. FREE! Go There Now!
| | | | All FREE IBM® developerWorks Tools! | |