C # / .NET

.NET Compact Framework Programming with C#
THUD, yeah that's the sound this book makes when you drop it on the floor. Worth its weight though and written in an easily readable format. I found this book to be helpful in learning more about the .NET environment as well even though its focus in on the Compact Framework. While the book does not come with a CD ROM, all of the examples are available as a free download from the authors web site. The two writers take you on a great tour of what you can and can not do with .NET CF. I found the examples to be excellent launching points if not complete solutions for developing CE.NET applications. For example the last chapter on printing from CE devices takes you on a tour of four possible ways to print from CE devices; using the GDI, direct output, an HP solution and a 3rd party tool by FieldSoftware. The book also confirms that a good understanding of the Win32 API is essential to developing .NET CF applications via platform invoke. The book covers: .NET CF background and architecture, the .NET type system. platform invoke, forms, mouse and keyboard input, controls, binding data to controls, obtaining dynamic information about controls, building custom controls, types of storage, ADO.NET (SQL Server CE, SQL Server 2000, Web Services), synchronization(Active Synch, RDA, Merge Replication), the remote API, type of graphics programming (raster, vector), text and fonts, and printing. (Addison Wesley, 1379 pages) [Highly Recommended]
C# Network Programming
A tour through the framework classes of C#. A nice feature the author provided is that you do not need a full blown GUI IDE to develop the examples illustrated in the book. Go to the Microsoft website and download the .NET Framework runtimes and .NET Framework SDK for free. You can then compile and run the examples. Book starts out with the basics of .NET and TCP and how to set up an environment to build, test and trace C# applications. Book then delves into building TCP and UDP client/server models. The limitations and merits of both TCP and UDP are illustrated through examples. DNS, helper classes, asynchronous sockets, thread use, Multicasting, ICMP, SNMP, SMTP, HTTP models are all illustrated with yet more examples. The final three chapters delve into initial coverage of Active Directory, Remoting (similar to RMI), Security and Encryption/Decryption. Readability and coverage are good, plus you will learn what soapsuds is. (Sybex, 647 pages)
Building ASP.NET Applications for Mobile Devices
Satan was here, complete with 666 pages of detail on creating applications with the ASP.NET Mobile Controls. This covers essentially all of the functionality of the renamed Mobile Internet Toolkit. This is a nice technology only if you are connected to a MAN or WLAN network 100% of the time. A good feature of this technology is that it supports a wide variety of devices such as HTML, cHTML, WML, XHTML browser enabled devices, so this includes a lot of phone and mobile based devices beyond those running Windows CE. When you build an application you create an abstaction of what the GUI will look like. At run time ASP.NET generates the layout for the devices browser dynamically. This does have its niche for application development. All of the examples are in C#. Topics covered; introduction, programming with the MIT, the standard controls, validation controls, list controls, downloadable controls, using CSS, customizing with property overrides/templates, advanced list control programming, database access, state management, performance enhancements, multilingual/multicultural development, XML Web services, testing debugging and tracing, packaging and configuration, application security, supporting new device clients, building reusable interfaces, custom controls, device adapters and building controls from scratch. (Microsoft Press, 666 pages)
.NET Compact Framework
Skipping all of the appendices, only about 650 pages of detail on the .NET Compact Framework. All of the examples are in C# which is why this book is reviewed here. The estimates are that the CF is 25% of the full desktop framework. As mobile hardware gets more advanced the gap should diminish to nothing. Although why they left out these features leaves me wondering; like input validation, serialization, reflection and remoting. Topics covered, Intro, class concepts, garbage collection, GUI development with different controls, testing debugging and tracing, distributing your application, collection classes, dates and strings, XML what you can and can not do, I/O, networking, security, ADO.NET, SQL Server, XML Web Services, SQL Server CE, creating custom controls, globalization and localization, multithreading, graphics programming, native code what you can and can not do including some useful explanations on interfacing with COM objects, and finally migrating existing applications VC++ or VB to .NET CF. (Microsoft Press, 860 pages)
Introducing .NET
While tending to shy away from introductory books, this one is definitely a good read. Covers the basics of the dot net architecture. Writing style is active and the author keeps the reader entertained. Books covers .NET Objects, ASP.NET, Web Services, Windows Forms, ADO.NET, XML, Events and Delegates, Threads, Remoting and Reflection. Good background reading for learning about dot net. (Microsoft Press, 329 pages)
Developing Windows Based Applications with Visual Basic and Visual C# .NET
Some of this needed a steady accompaniment of nodoze or numerious mugs of coffee to work through. Covers and somewhat thinly at times all of the material to test for the exams 70-306 or 70-316. The labs are ok and help to reinforce the material, but some of them have errors. The book comes with a 60 day evaluation copy of the .NET Professional IDE. Additionally an eBook is included. Included are free trial exams consisting of 100 questions for either VB or VC#. Unfortunately these were the worst part of the deal. The exams developed by NIIT have some of the worst GUI design ever endured. They force a large white background which kills your vision after about five minutes, every question forces the user to scroll the dialog up and down adding more tedium to the testing process. (I guess they are worried about people screen saving their material to plagiarize). You can not minimize the dreaded white screen. If you change your default windows colors their white screen does not change. BUZZ! NITT fails at app development. I attempted to contact them on their web site. After tactfully detailing this information, I hit the submit button and their ASP page crashed. BUZZ! Use Measureup.com for evaluation exams. You can test drive their exams from Microsoft's Web Site. The topics covered by the book; .NET Framework, Creating a UI, Types and Members, OO Programming and Polymorphism, Testing and Debugging Your Application, Data Access Using ADO.NET, Creating Controls, Assemblies, Configuration, Security, Application Deployment. I was suprised to find out that MSI is embedded within the .NET IDE. (Microsoft, 585 pages, CD-ROM)
C#.NET The Deluxe Learning Edition
There are three of these in the deluxe learning edition series; C#, C++ and Visual Basic. Each one supplies you with a full blown copy of the Visual Studio Standard 2003 IDE for the respective language. In some cases the book is cheaper than purchasing the IDE by itself. Great book to learn about some of the things this Swiss Army Knife of an IDE can do. Book takes you on a 600 page technology tour covering basic language functionality, classes, exceptions, indexes, delegates, events, data base access, SDI, MDI, menus, complex controls, validation. ASP.NET, Forms development and finally Web Services with SOAP and XML. The lab exercises are well thought out, much better than the C# MCAD/MCSD book (Microsoft, 635 pages, CD-ROM)