Application Development Using Visual Basic and .NET
Authors: Robert J. Oberg, Peter Thorsteinson, Dana L. Wyatt
Venue:  (2002)

From the Book:PrefaceFor many years, Microsoft Visual Basic has been used as the ultimate rapid application development tool for Windows applications. Its ease of use revolutionized Windows programming, and successive generations of Visual Basic have progressively made it more powerful. VB6 can be used to implement complex multiple-tier applications using COM and COM+ components as well as traditional Windows desktop programs. But you could never quite do everything in Visual Basic that you could in a lower level language such as C++, and many projects would use a mixture of languages, with resulting complexity from interfacing between the diverse environments.Microsoft's .NET brings a sea change to software development. The powerful Common Language Runtime and the vast .NET Framework class library provide a consistent software platform for all .NET programming languages. Visual Basic now enjoys virtually identical capabilities to other languages, including the new Visual C# and the ever-popular Visual C++, while preserving the basic ease of use and strong RAD features that have made Visual Basic so popular. The Common Language Specification and the Common Type System make interoperability between the different .NET languages almost seamless, while the power of each is such that for most projects you will probably never have to use a mixed language approach, unless other factors such as legacy code or programmer skill sets steer you in that direction.There is substantial change to the Visual Basic language itself, and VB6 code will not run unmodified in the .NET environment. Also, the new version of the language, Visual Basic .NET, or just VB.NET, is now afully object-oriented language with features such as interfaces, inheritance, and polymorphism. The result is that there is a definite learning curve when moving to VB.NET from VB6. And learning the new programming language is only part of the challenge. The much greater challenge is learning the .NET Framework and all its capabilities, including Windows Forms, ADO.NET, ASP.NET Web Forms, and Web services.This book is written for the experienced programmer to help you quickly come up to speed on the VB.NET language and then go on to an in-depth study of the .NET Framework. It is a practical book for practicing professionals, and it has many examples and a realistic case study that continues through many of the chapters. The goal is to equip you to begin building significant applications using Visual Basic .NET and the .NET Framework. The book is part of The Integrated .NET Series from Object Innovations and Prentice Hall PTR. Other books in the series provide a more a more basic introduction to VB.NET, discuss the issues of migrating to VB.NET, and cover other important .NET languages and topics in the Framework. See the front of this book for a list of titles in the series. This book, in substance and structure, is quite close to the companion titles Application Development Using C# and .NET and .NET Architecture and Programming Using Visual C++. A major difference between those books and this, besides using VB.NET as the language, is extensive coverage of GUI programming, including three chapters on Windows Forms and a chapter on GDI+.OrganizationThe book is organized into six major parts and is structured to make it easy for you to navigate to what you need to learn. Part 1, consisting of the first two chapters, provides an overview that should be read by everyone. It answers the big question, What is Microsoft .NET? and outlines the programming model of the .NET Framework.Part 2, consisting of Chapters 3 to 6, covers the VB.NET programming language. Even if you know classic Visual Basic, you should read this part, paying attention to the changes in data types (Chapter 3) and the new object-oriented features (Chapters 5). Chapter 6 covers important interactions between VB.NET and the .NET Framework. The Acme Travel Agency case study, which is elaborated throughout the entire book, is introduced in Chapter 5. Part 3, consisting of Chapters 7 and 8, covers the fundamentals of Windows Forms. Windows Forms is a set of classes in the .NET Framework for writing graphical user interfaces. Programmers familiar with previous versions of Visual Basic will notice that this significantly changes the programming model, yet also introduces flexibility not previously available.Part 4, consisting of Chapters 9 and 10, introduces important fundamental topics in the .NET Framework. Chapter 9 discusses assemblies and deployment, which constitute a major advance in the simplicity and robustness of deploying Windows applications, ending the notorious situation known as "DLL hell." Chapter 10 introduces important .NET Framework classes and covers the topics of metadata, serialization, threading, attributes, asynchronous programming, remoting, and memory management. Part 5, consisting of Chapters 11 and 12, covers additional advanced topics in UI programming with VB.NET. Chapter 11 introduces GDI+, which provides a graphics programming model that is both more powerful and easier to use than the classic GDI model of traditional Windows. GDI+ is also completely accessible through Visual Basic. Chapter 12 introduces some important additional advanced topics, such as visual inheritance, MDI, and the use of ActiveX controls in .NET applications.Part 6, consisting of Chapters 13 to 17, covers important parts of the .NET Framework that are useful in creating a variety of different applications. Chapter 13 covers ADO.NET, which provides a consistent set of classes for accessing both relational and XML data. Chapter 14 introduces the fundamentals of ASP.NET, including the use of Web Forms, for the development of Web sites. Chapter 15 covers SOAP and Web services, which provide an easy-to-use and robust mechanism for heterogeneous systems to interoperate. Chapter 16 covers the topic of security in detail, including code access security and declarative security. Chapter 17 covers interoperability of .NET with legacy COM and Win32 applications. Appendices introduce Visual Studio .NET and the debug and trace classes provided by .NET.Sample ProgramsThe only way to really learn a major framework is to read and write many programs, including some of reasonable size. This book provides many small programs that illustrate pertinent features of .NET in isolation, which makes them easy to understand. The programs are clearly labeled in the text, and they can all be found in the software distribution that accompanies this book. A major case study, the Acme Travel Agency, is progressively developed in a number of the chapters, beginning with Chapter 5. It illustrates many VB.NET and .NET Framework features working in combination, as they would in a practical application. The sample programs are provided in a self-extracting file on the book's Web site. When expanded, a directory structure is created, whose default root is c:\OI\NetVb. The sample programs, which begin with the second chapter, are in directories Chap02, Chap03, and so on. All the samples for a given chapter are in individual folders within the chapter directories. The names of the folders are clearly identified in the text. An icon in the margin alerts you to a code example. Each chapter that contains a step of the case study has a folder called CaseStudy, containing that step. If necessary, there is a readme.txt file in each chapter directory to explain any instructions necessary for getting the examples to work.As part of The Integrated .NET Series, the sample programs in this book are designed to integrate with sample programs from other books in the series. The sample programs for each book in the series are located in their own directories underneath \OI, so all the .NET examples from all books in the series will be located in a common area as you install them.These programs are furnished solely for instructional purposes and should not be embedded in any software product. The software (including instructions for use) is provided "as is" without warranty of any kind. Web SitesThe Web site for the book series is www.objectinnovations.com/dotnet.htmA link is provided at that Web site for downloading the sample programs for this book. Additional information about .NET technology is available at www.mantasoft.com/dotnet.htmThe book sample programs are available at this Web site as well.The Web site for the book also has a list of .NET learning resources that will be kept up to date.