Writing Mobile Code Essential Software Engineering for Building Mobile Applications [Electronic resources]

Ivo Salmre

نسخه متنی -صفحه : 159/ 2
نمايش فراداده

Preface

Acknowledgments

Chapter 1. Introduction

Welcome to Mobile Device Software Engineering

Success Is Driven by a Few Key Factors

How to Read This Book

Ways to Develop for Devices

Managed Code

Summary

Chapter 2. Characteristics of Mobile Applications

Introduction

Usage Patterns

Form Factor

Reliability Requirements

Important Characteristics of Mobile Applications

Computer Architecture Differences

Summary

Chapter 3. Design of the .NET Compact Framework

Introduction

Designing the .NET Compact Framework

Desktop Subset

Managed Code and Native Code

The Execution Engine

The Managed-Code Libraries

Factoring of Useful Design and Debugging Information into Optional Components

SQL CE / SQL Connectors

Items Not in the First Version of the .NET Compact Framework

How Code Is Executed and Run

Memory Management and Garbage Collection

Summary

Chapter 4. How to Be Successful Developing Mobile Applications

Introduction

Inherent and Transient Difficulties in Software Engineering

Development Is an Iterative Process, but It Does Have Rules

None of the Details Matter If the Big Picture Is Not Right

Solve Problems in the Right Order; Go Back If You Need To

Summary

Chapter 5. Our Friend, the State Machine

Introduction

What Is a State Machine?

Implicit vs. Explicit State Machines

How Many State Machines Should Be in Any Given Application?

Summary

Chapter 6. Step 0: Before You Start, Decide on the Scope of Your Application

Introduction

Standalone or Part of a Larger System?

Do Not Port Your Desktop Application! Think Devices!

Steps to Define the Scope of Your Mobile Application

Chapter 7. Step 1: Start with Performance; Stay with Performance

Introduction

The Importance of a Disciplined Approach

Defining Performance Objectives

The Cost of Runtime Exceptions

Summary

Chapter 8. Performance and Memory Management

Defining Your Application Memory Model

Macro "Application Level" Memory Management

Micro "Algorithm-Level" Memory Management

Pay Special Attention to String Usage in Your Algorithms

Summary

Chapter 9. Performance and Multithreading

Introduction: When and How to Use Background Threads

Multitasking and Multithreading in Modern Operating Systems

When to Use Background Threads

Design Guidelines for Using Threads in Your Mobile Application

Sample Code You Can Use Using a Background Thread to Accomplish a Single Task

Threads and User Interface

Summary

Chapter 10. Performance and XML

Introduction: Working with XML

To XML or Not to XML?

Comparing XML to Other Text Formats

Different Ways to Work with XML

A Simple Example Using Both the XML DOM and the XML Reader/Writer

Improving Performance by Offloading Work to Others

Summary

Chapter 11. Graphics and User Interface Performance

Introduction

Performance Design Strategies for User Interface Code

Choosing Appropriate Bitmap Formats and Sizes

Design Strategies for Graphics Code That Performs

Summary

Chapter 12. Performance Summary

Performance Summary

Performance and Memory Management Summary

Performance and Multithreading

Performance and API Abstraction Levels

Performance with User Interface and Graphics

Look For and Pay Attention to Performance Warning Signs

Conclusion and Best Practices

Chapter 13. Step 2: Design the Right User Interface

Think Devices!

Design Your Mobile User Interface Code to Allow for Easy Testing and Iteration

A State Model for User Interface Layout and Management

Advanced User Interfaces with the .NET Compact Framework

Chapter 14. Step 3: Get Your Data Access Model Right

Introduction to Mobile Application Data Access

Choosing the Right Abstractions for In-Memory Storage of Data

Choosing the Right Long-Term Storage Model for Data

.NET Compact Framework Specific: ADO.NET

Summary

Chapter 15. Step 4: Get Your Communications Model Right

Introduction to Mobile Application Communications

Coding for Mobile Networking

Communications and Networking Options

Pushing Information to a Device

Web Services

Summary

Chapter 16. Step 5: Packaging and Deploying Your Mobile Application

Introduction

Does Your Mobile Application Need to Be Signed?

Installation of Runtimes and Other Required Components

Packaging and Installation Options

Summary

Chapter 17. Afterword

Appendix A. Additional Resources for the .NET Compact Framework

Online Resources

Appendix B. Visual Basic .NET Samples

Why VB.NET and C#?

Chapter 5 (State Machines) Samples

Chapter 7 (Performance Introduction) Samples

Chapter 8 (Performance and Memory) Samples

Chapter 9 (Performance and Multithreading) Samples

Chapter 10 (Performance and XML) Samples

Chapter 11 (Performance and Graphics) Samples

Chapter 13 (User Interface Design) Samples

Chapter 14 (Data) Samples

Chapter 15 (Communications) Samples

Index