Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Cross-platform .NET development : using Mono, portable .NET, and Microsoft .NET
Easton M., King J., APress, LP, 2004. Type: Book (9781590593301)
Date Reviewed: Feb 7 2005

This is a very timely book, which sheds new light on what many may see as a Microsoft-only direction in software development. The book shows that .NET has gained serious ground among the open source community of software developers. Today, this technology can be used to build portable software solutions for many non-Windows platforms.

The book begins in chapter 1 with a necessary crash course in the .NET platform, including a brief overview of its history, its relationship with C# as its primary programming language, the standardization of .NET, and the underlying software architecture of the .NET platform: the common language infrastructure (CLI). Special attention is paid to such features of .NET as the intermediate language (IL) of CLI, metadata, common type system, and assemblies. Instead of focusing solely on Microsoft’s implementation of .NET, the book introduces Mono, a GNU/Linux-based open source implementation of CLI, as well as other environments, such as Mint (interpreter-based Mono for a somewhat larger set of hardware platforms), the Open CLI Library created by Intel, and portable .NET (PNET). Chapter 2 continues the unorthodox trend of the book, not only by dissecting the development of a cross-platform “Hello World” CLI application on Windows Server 2003 with .NET, SuSE Linux 8.2 with Mono, and Mac OS X 10.2 with PNET, but also by describing how to install the corresponding CLI implementation for each of these platforms.

Chapter 3 discusses the issues of cross-platform development, and examines the IL code generated by different CLI implementations. Special attention is given to writing portable programs by disassembling and examining the native code generated by the same C# code compiled for different platforms. Although such in-depth details may seem over the top to some, the most adept readers will find them enlightening. Chapter 4 dissects Microsoft’s implementation of CLI, the Microsoft .NET Framework, by focusing on its intrinsically cross-platform class libraries and namespaces, and contrasting them to those that are dependent on Windows architecture. A good half of this chapter is dedicated to bridging the difference between platforms, by developing cross-platform software using the bridge design pattern.

The rest of the book is dedicated to a diverse range of tools and techniques that developers may find useful, and to issues that they may encounter while creating cross-platform CLI applications. Chapters 5 and 6 discuss different graphical user interface (GUI) toolkits and database connectivity toolkits, available for different implementations of CLI, and ASP.NET (a system for developing Web-based client/server applications). Chapter 7 focuses on different strategies for embracing the native code while developing cross-platform software; chapter 8 talks about integrating .NET code with programs written in Visual Basic 6 and Java, as well as integrating it with component technologies, such as common object request broker architecture (CORBA). Chapter 9 discusses various strategies for testing CLI code.

This book will prove indispensable for those .NET developers who would like to learn how to write code that is portable to other platforms, as well as to other CLI-based programmers who would like to expand their horizons and learn more about software development with Microsoft .NET. The book contains a sizeable amount of C# code snippets; a working knowledge of C# should be a prerequisite for anyone interested in reading this book. There are a large amount of monkey-related references, such as a recipe for “The Monkey Gland Cocktail” offered in chapter 1, which, according to the authors, should make coding more fun (mono means monkey in Spanish, and a monkey is the mascot for the Mono project). The book is easy to read, a fact that is helped by many light-hearted (but probably fictitious) dialogs between the two authors sprinkled throughout the chapters.

Reviewer:  Stan Kurkovsky Review #: CR130777 (0511-1196)
Bookmark and Share
  Featured Reviewer  
 
Integrated Environments (D.2.6 ... )
 
 
C# (D.3.2 ... )
 
 
Data Compaction And Compression (E.4 ... )
 
 
Microsoft .NET (D.3.2 ... )
 
 
Object-Oriented Design Methods (D.2.2 ... )
 
 
Design Tools and Techniques (D.2.2 )
 
  more  
Would you recommend this review?
yes
no
Other reviews under "Integrated Environments": Date
Modern languages and Microsoft’s component object model
Gray D., Hotchkiss J., LaForge S., Shalit A., Weinberg T. Communications of the ACM 41(5): 55-65, 1998. Type: Article
Aug 1 1998
Websphere studio application developer 5.0 practical J2EE development
Livshin I., APress, LP, 2003.  656, Type: Book (9781590591208)
Nov 4 2003
A generative approach to framework instantiation
Cechticky V., Chevalley P., Pasetti A., Schaufelberger W.  Generative programming and component engineering (Proceedings of the second international conference, Erfurt, Germany, Sep 22-25, 2003)267-286, 2003. Type: Proceedings
Jan 27 2004
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy