Getting Started with Microsoft Mobile Internet Toolkit (MMIT)
Last Updated: Nov 09, 2025
5 min read
Legacy Archive
Legacy Guidance:This article preserves historical web development content. For modern .NET 8+ best practices, visit our Tutorials section.
Introduction
MMIT, also known as .NET Mobile, extends the .NET framework's functionality to enable mobile application development for devices like cell phones and PDAs. With the .NET framework, you can create two types of mobile applications: web-based applications that execute on the server and are accessed via the internet, or local applications that run directly on mobile devices.
Web-based mobile applications require MMIT, while local applications use the compact framework. This guide focuses on MMIT for creating server-based mobile web applications.
System Requirements
Before developing MMIT-based mobile applications, you'll need to set up your development environment with these components:
Windows 2000 with all service packs installed
Internet Information Services (IIS) 5 or higher
Internet Explorer 5.5 or later
Microsoft Mobile Internet Toolkit
ASP.NET Framework
The Power of Device-Agnostic Development
MMIT lets you create a single application that works across various mobile devices. The toolkit automatically translates your application code according to the target device. For example, it generates WML code for WAP-enabled cell phones, HTML for Pocket PC devices, and cHTML for i-mode phones. This means you'll write your code once and MMIT handles the device-specific rendering.
Architecture of .NET Mobile Applications
Just as ASP.NET has web controls, .NET Mobile provides mobile controls. The specification includes three key components:
Mobile Page contains your mobile application and serves as the top-level container.
Mobile Forms are the building blocks of your page, with each form representing a screen or view.
Mobile Panel constitutes sections within mobile forms, helping you organize content logically.
Understanding Mobile Control Categories
User Interface Controls These controls appear directly in the user's interface:
The development of MMIT-based mobile applications enables users to access information from anywhere, making mobile devices more powerful and practical for everyday tasks. By leveraging MMIT's device-agnostic architecture and comprehensive control library, you can build mobile web applications that reach users across all mobile platforms with minimal development effort.
Quick FAQ
How does MMIT know which markup language to generate for different devices?
MMIT uses device detection built into ASP.NET, which examines the HTTP headers sent by the requesting device. Based on the device's browser capabilities and supported markup languages, MMIT automatically selects the appropriate rendering (WML, HTML, cHTML, etc.) without requiring any changes to your code. This device detection is configured in the machine.config and web.config files.
Can I customize the appearance of mobile controls for different devices?
Yes, you can use device-specific templates and style sheets. MMIT supports DeviceSpecific and Choice elements that let you define different layouts and styles based on device capabilities. For example, you can show rich graphics on devices with larger screens while displaying text-only versions on basic phones. You'll wrap your customizations in DeviceSpecific tags and specify filters based on device characteristics.
What's the difference between mobile forms and panels in MMIT?
Mobile Forms represent individual screens or views in your application and serve as containers for controls. Mobile Panels are sections within forms that help organize content logically. Think of forms as pages and panels as divisions within those pages for better content organization. Each form can contain multiple panels to structure your interface effectively.
Do I need to write separate code for different mobile devices?
No, MMIT's power lies in device-agnostic development. You write your code once using mobile controls, and MMIT automatically translates it to the appropriate markup for each device - WML for WAP phones, HTML for Pocket PCs, and cHTML for i-mode phones. This dramatically reduces development time and maintenance overhead.