Comments
Marvin Castro wrote: Hi, I'm really interested in Google Wave. I find it useful for a plethora of things. I would appreciate an invite, and I will surely return the favor by inviting others. chaoswotaku[at]gmail[dot]com
Cloud Expo on Google News

SYS-CON.TV

2009 East
PLATINUM SPONSORS:
IBM
Smarter Business Solutions Through Dynamic Infrastructure
IBM
Smarter Insights: How the CIO Becomes a Hero Again
Microsoft
Windows Azure
GOLD SPONSORS:
Appsense
Why VDI?
CA
Maximizing the Business Value of Virtualization in Enterprise and Cloud Computing Environments
ExactTarget
Messaging in the Cloud - Email, SMS and Voice
Freedom OSS
Stairway to the Cloud
Sun
Sun's Incubation Platform: Helping Startups Serve the Enterprise
POWER PANELS:
Click For 2008 West
Event Webcasts
.NET Book Review — Practical Mono
All about Mono on Linux and Windows

Mark Mamone is a program lead and solutions architect for British Telecom, and he's been involved in .NET since Beta 1; he's presently spearheading a Mono-driven project for BT. Mamone has co-authored several books, including Beginning Fedora 2, Beginning Red Hat Linux 9, and Professional Windows Forms.

The first chapter of this book gives an overview of .NET, a history of the Mono project, and instructions on downloading and installing Mono on Linux and Windows. OSX is mentioned, but specific instructions aren't included. Moppix, the "live" version of Mono that runs from a bootable CD (based on the Konppix Linux distro), is also mentioned.

The second chapter gives an introduction to installing and using MonoDevelop, an IDE for .NET development under Linux that's closely associated with the Mono project.

Chapter three gives a quick overview of basic C#, and chapter four continues this covering classes, attributes, interfaces, delegates, and exceptions, closing with a short section on what's new in C# 2.0.

Chapter five gives a high-level view of .NET and its advantages, including the intermediate language, assemblies, the GAC (Global Assembly Cache), memory management and garbage collection, and application domains. It closes with a short paragraph on each of the system namespaces (IO, Collections, Security, etc.).

Chapter six covers creating graphics programs using System.Windows.Forms by creating a user interface for a RSS aggregator application that uses menus, dialog boxes, panels, ListBoxes, datagrids, and events. The code is created manually without using an IDE graphic layout designer so the reader can understand how a .NET program works. Using System.Windows.Forms, this is not that difficult. The chapter closes by giving an overview of the advances in System.Windows.Forms 2.0.

Chapter seven covers creating applications by using the GTK# library and the Glade design tool for user interface layout. The author does this by recreating the same RSS aggregator user interface produced in chapter six.

Chapter eight covers database connections using ADO.NET, concentrating on MySQL. Mono and .NET can use a number of different databases, but here the author concentrates on MySQL because it's one of the most popular open source databases, and it is available on many platforms. Another advantage is that by limiting the discussion to a single database, he can go into details such as how to install and set up MySQL. This chapter gives an excellent overview of using a database with .NET, but if you want to have a deep and wide understanding of databases under .NET, check out Pro ADO.NET 2.0, also from Apress; it covers .NET databases in detail.

Chapter nine covers XML. It starts with a good overview of XML and all of its parts. Since RSS uses XML for its document format, this chapter shows how to read and write RSS XML documents, and parse out the information for the application created in chapter six and seven.

Chapter 10 gives a quick overview of networking, including the OSI model, and then introduces the System.Net namespace classes. It gives a quick example of how to read a Web page from a server and describes what a proxy server is, and how to connect to one. It then shows how to add network connectivity to the RSS aggregator application using the .NET networking classes. It closes, like most chapters in this book, with a description of the new .NET 2.0 classes, including the NetworkInterface class that retrieves information on all the network cards in the system, and the Ping and FTP classes that support ping and FTP protocols and functions.

Chapter 11 covers ASP.NET, including installing and using both the Mono XSP ASP server, and installing and configuring Apache to be an ASP.NET server using Mono on both Windows and Linux. The book gives an example of how to set up your own Web server and create a WebForm application. It also covers creating and consuming Web services. It again closes with a description of the ASP.NET changes in .NET 2.0; however these changes are so great I would recommend using this book to see how to set up ASP.NET using Mono with XSP and Apache, but continue with another book on ASP.NET 2.0 such as Pro ASP.NET 2.0 Website Programming, also from Apress.

Chapter 12, the last chapter is divided into two parts. The first part covers profiling using the Mono profiler and the low-level OProfile tool that comes as part of Linux. It points out that you can use other profilers, such as the one for the Nermele programming language, by using the Mono profiler flag.

The second section gives a few good tips on how to write faster programs, such as using StringBuilder instead of String when several strings have to be concatenated, and using structures instead of classes where appropriate. These are good tips, but are too few and basic to help an experienced .NET programmer, but could be helpful to a beginner.

This is a great book for anyone who wants to use .NET on Linux. It gives .NET programmers everything they need to use Linux, and it gives the Linux gurus everything they need to use .NET. It is a must have for anyone doing cross-platform .NET.

SIDEBAR

Title: Practical Mono
Author: Mark Mamone
Publisher: Apress
ISBN #: 1-59059-548-3
Price: US $49.99

About Dennis Hayes
Dennis Hayes is a programmer at Georgia Tech in Atlanta Georgia where he writes software for the Adult Cognition Lab in the Psychology Department. He has been involved with the Mono project for over six years, and has been writing the Monkey Business column for over five years.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

Mark Mamone is a program lead and solutions architect for British Telecom, and he's been involved in .NET since Beta 1; he's presently spearheading a Mono-driven project for BT. Mamone has co-authored several books, including Beginning Fedora 2, Beginning Red Hat Linux 9, and Professional Windows Forms.


Your Feedback
.NET News Desk wrote: Mark Mamone is a program lead and solutions architect for British Telecom, and he's been involved in .NET since Beta 1; he's presently spearheading a Mono-driven project for BT. Mamone has co-authored several books, including Beginning Fedora 2, Beginning Red Hat Linux 9, and Professional Windows Forms.
Latest Cloud Developer Stories
CloudBench Applications, Inc. announced its financial results for the three months and nine months ending September 30, 2009. All amounts are stated in Canadian dollars unless otherwise noted. Revenues from BasicGov, the Company's cloud computing solution for local government, gr...
The new contract is an industry first, with CSC being the first Microsoft partner to lead and win a cloud computing services agreement of this scale. Under terms of the contract, CSC will provide Royal Mail Group's 30,000 employees with access to new IT services using Microsoft's...
Operates in over 170 countries and is one of the world’s leading providers of communications solutions and services. Richard Tarboton talks for MeettheBoss.TV on his role as Head of Energy & Carbon for BT and what they are doing towards reducing carbon emissions.
CA is going to put its Agile Planner software on salesforce.com’s Force.com platform in the first half to accelerate development time and give users visibility over their development initiatives to reduce time-to-market. Customers are supposed to be able to accelerate the deploym...
Despite its uncertain fate Sun soldiers on. Monday it trotted out a cloud-based multiplatform desktop as a service for K-12 and community colleges that can run Windows, the Mac OS, Linux and Solaris applications to nearly any client device, including its own Sun Ray thin clients....
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

SYS-CON Featured Whitepapers
ADS BY GOOGLE

Breaking Cloud Computing News
CloudBench Applications, Inc. announced its financial results for the three months and nine months e...