Introduction


Developing mobile applications is all about taking pieces of applications beyond a typical desktop environment and into the world of wireless devices. Where did these devices come from? Before trying to understand how to build mobile applications, take a step back and understand their very existence. In the past few years , a number of technology innovations in the area of mobile computing have emerged. For instance, a large number of mobile devices have appeared, such as mobile phones, Personal Device Assistants (PDAs), convergence devices, embedded communications devices, and the like. Innovations have also surfaced to make mobile communication better and reliable. Basic voice communication on a mobile phone has been available for quite some time, and data communication where wide area wireless networks can be used to send and receive data have also progressed. Today, a typical professional (or even a consumer) has basic data-communication mechanisms on his or her own device. It typically is in the flavor of what is known as Short Message Service (SMS) messaging, sending and receiving emails, or in many scenarios a device with a microbrowser ( sort of like a mini Internet Explorer/Netscape Navigator), where devices can wirelessly utilize Internet connections. For instance, you can check your flight status or get a map or directions to a place of interest.

Along with the innovation in connectivity and device development has been a constant need for developing richer and device-centric applications. However, mobile application development presents its own set of challenges and intricacies:

  • Disparate devices ” Various kinds of devices are available today; the most popular are mobile phones, PDAs, PDAs plus mobile phone convergent devices, pagers, two-way pagers , a palm top, embedded devices (for instance, devices in cars ), and vertical focused devices (such as the device that is used by your courier or FedEx agent), which are focused on package routing and delivery.

  • Form factor ” The form factor, which is the overall size of the device and in particular the usable screen area of the device, is different from a typical desktop environment. The form factor also differs from a phone to a PDA to an embedded device. Some devices have keyboards, some have thumb-based navigation, and some have a stylus for screen navigation.

  • Processing power, ROM, RAM ” Most of these devices are small, and because they are mobile, they run on a small battery-enabled power supply. What that means is a much lower CPU and memory capability. In addition to the CPU speeds, the CPUs themselves are built on many different architectures.

  • Color versus black and white ” Initially, many of these devices didn't have a color LCD. With the continued innovation in that area, many phones and PDAs now have color screens.

  • Intermittent connectivity ” Whereas: desktop computers are typically connected with always-on (mostly) connectivity with local area networks (LANs), mobile devices are connected using wireless networks, which don't have the connectivity speeds, availability, and reliability like LANs. Apart from that there are multiple kinds of wireless networks. The most common is the wide area network (WAN) provided by the wireless carriers . WANs typically provide wireless connectivity speeds similar to that of dial-up networks. Another kind of wireless network is a wireless LAN, which provides significantly faster connectivity but to a localized area. Last but not least is Bluetooth connectivity, which provides a "personal wireless network" focused for connecting devices in a very short radius.

In a nutshell , mobile device application development has been quite a challenge. Developers have been restricted to developing applications for specific devices with specific instruction sets and capabilities using typically proprietary development tools. In this chapter you will explore some of the technologies associated with the .NET Framework and platform. You will understand how these technologies make mobile application development to a large extent very similar to development of a typical desktop application.

Before delving deeper into the various toolkits and class libraries that are available with .NET for mobile application development, it is important to understand the various application delivery models that each one of the frameworks is built on. Key mobile application delivery models are

  • Sync ” In a sync-based application delivery, the device is not always connected to the back-end business logic/data server. Typically, the application is installed on the device and stores data on the device. Periodically, the user syncs the device with a server using either a physical cable connection between the user 's computer and the mobile device (for example, the USB ActiveSync cable that comes with a Pocket PC) or even wirelessly, either using hotspots (802.11b wireless LANs) or a wireless WAN connection.

  • Online/Connected ” This is very similar to the Web model. The user's device is connected using a wireless network (either wireless LAN or WAN) and connects to the Web application server using HTTP/HTTPS to access the application. This model is very similar to that provided by the Web application delivery model; the only major difference is the form factor and capabilities of the device.

  • Mixed ” In this scenario the application is installed on the device, but for some application functionality, the application needs a connection with a back-end resource (typically to connect with a database or a Web service).

  • Telephony ” In the telephony environment, the application is accessed by the user using either a LAN or a mobile phone. Speech is used as a key input/output interface between the user and the back-end telephony.



Microsoft.Net Kick Start
Microsoft .NET Kick Start
ISBN: 0672325748
EAN: 2147483647
Year: 2003
Pages: 195
Authors: Hitesh Seth

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net