Book contents
- Frontmatter
- Contents
- Foreword by Roy T. Fielding
- Acknowledgments
- SECTION 1 INTRODUCTIONS TO THE MAIN TOPICS
- Chapter 1 Introduction to Mobile Computing
- Chapter 2 Introduction to Mobile Development Frameworks and Tools
- Chapter 3 XML: The Document and Metadata Format for Mobile Computing
- Chapter 4 Introduction to UML
- SECTION 2 DEVICE-INDEPENDENT AND MULTICHANNEL USER INTERFACE DEVELOPMENT USING UML
- SECTION 3 ADDITIONAL DIMENSIONS OF MOBILE APPLICATION DEVELOPMENT
- SECTION 4 PUTTING THE PROJECT TOGETHER
- References
- Index
Chapter 2 - Introduction to Mobile Development Frameworks and Tools
from SECTION 1 - INTRODUCTIONS TO THE MAIN TOPICS
Published online by Cambridge University Press: 03 September 2009
- Frontmatter
- Contents
- Foreword by Roy T. Fielding
- Acknowledgments
- SECTION 1 INTRODUCTIONS TO THE MAIN TOPICS
- Chapter 1 Introduction to Mobile Computing
- Chapter 2 Introduction to Mobile Development Frameworks and Tools
- Chapter 3 XML: The Document and Metadata Format for Mobile Computing
- Chapter 4 Introduction to UML
- SECTION 2 DEVICE-INDEPENDENT AND MULTICHANNEL USER INTERFACE DEVELOPMENT USING UML
- SECTION 3 ADDITIONAL DIMENSIONS OF MOBILE APPLICATION DEVELOPMENT
- SECTION 4 PUTTING THE PROJECT TOGETHER
- References
- Index
Summary
The truth of the fact is easier to bear than the truth of the fantasy.
James HillmanINTRODUCTION
At its most primitive level, software is a set of instructions for hardware written in machine language. At a higher level, there are assemblers and higher level programming languages. There are frameworks, tools, and other methods of abstracting various aspects of software design that help us achieve one central goal: to handle complexity of software more reliability and faster. The biggest problem with software design and implementation is complexity and it is this complexity that leads into buggy systems, high cost of development, and long development cycles, and the existence of programming languages, frameworks, and other development tools is primarily to solve this very problem of software complexity. In other words, as one of the most fundamental software design concepts, abstraction reduces complexity (at least theoretically).
Today, there are many programming languages, frameworks, and tools designed to develop server-based and desktop applications. These languages, frameworks, and tools have matured through the years, becoming more efficient and more reliable as they get tested in real environments by real users. Along with the maturation of these tools has come the maturation of the process of software design and implementation. Ideas such as OOP, design patterns, and de facto standard software development processes have been developed and have matured with the tools and frameworks in a symbiotic manner.
- Type
- Chapter
- Information
- Mobile Computing PrinciplesDesigning and Developing Mobile Applications with UML and XML, pp. 29 - 103Publisher: Cambridge University PressPrint publication year: 2004