Mobile applications are not just desktop applications reformatted for a small display. They are fundamentally different for many reasons:
Multiple devices - faced with a multitude of choices, developers can either develop for the biggest selling devices or specialize in one particular vendor
Limited bandwidth - although wireless networks offer broadband data capabilities, throughput can vary which requires memory management systems, optimized graphics, and data compression
Multiple operating systems - your choice of Java ME, Brew, Windows Mobile, or others will dramatically influence graphic richness and user experience of the application
More complex usability - the ideal user interface for a small screen and a small (if any) keyboard differs significantly from desktop/laptop systems
A different user context - the mobile environment provides opportunities unavailable to web developers such as location-specific data, on-the-go messaging, and voice communication
More complex development process - the fragmented nature of the mobile environment requires a unique methodology that leverages development frameworks to create source code that is optimized for portability
Geography matters - each region has different characteristics such as mobile data use, levels of operator control, predominant standards, and prevailing operating systems
Restricted distribution - unlike the open environment of the web where anyone can create and upload content, the mobile world is still largely controlled by devices and network operators