Summary Today's rich mobile devices offer great opportunities to build compelling mobile software. This software has the potential to entertain, to bring valuable information and decision making to people, and to increase people's productivity by unchaining them from their desks. With all this new technology and potential, this is an exciting time to be a software developer.Successful mobile applications bring a highly focused experience to their users, enabling them to zero in on and quickly accomplish desired tasks. Performance is a critical aspect of this experience.When building a mobile application, a primary question that must be answered is "Should it be a local application or a browser-based application?" Local applications enable you to deliver the richest possible experience to the user and also allow the application to run when the device is not directly connected to a communications network but require an on-device footprint.If a rich local-device application is chosen, the next question to be answered is "Should the application be written in native code or using a managed-code runtime?" The default answer should be to use a managed-code runtime because of the great productivity and reliability gains offered by today's managed-code environments.Several managed-code environments exist, the two most popular being J2ME and the .NET Compact Framework. The rest of this book describes the most important aspects of mobile device applications and runtimes and teaches the software engineering concepts that will enable you to build great mobile applications. The .NET Compact Framework is used to demonstrate these concepts with many examples. Regardless of language or runtime choice, the general principals discussed are applicable to all mobile device development whether using native code or managed-code environments.I hope you enjoy the book and have fun experimenting and learning what great opportunities mobile devices have to offer for developing innovative software! |