Part I, "Language Constructs and Environment" — The first seven chapters of the book focus on core language elements and development tools used by Visual Basic developers. This section introduces Visual Studio 2010, objects, syntax, and debugging.
Chapter 1, "Visual Studio 2010" — Start with the environment where you will work with Visual Basic 10. This chapter looks at the newly redesigned WPF-based Visual Studio development environment. Introducing a simple Windows forms project and reviewing key capabilities like the debugger, this chapter will help you to prepare for and become comfortable with this powerful environment.
Chapter 2, "Objects and Visual Basic" — This is the first of three chapters that explore object-oriented programming and the role of the .NET Framework in Visual Basic. This chapter introduces the basics of objects, types, type conversion, reference types, and the key syntax which make up the core of Visual Basic.
Chapter 3, "Custom Objects" — This chapter examines creating objects, and describes how they fit within Visual Basic. Starting with inheritance, you create simple and abstract classes and learn how to create base classes from which other classes can be derived. This chapter puts the theory of object-oriented development into practice. The four defining object-oriented concepts (abstraction, encapsulation, polymorphism, inheritance) are described, and you will learn how these concepts can be applied in design and development to create effective object-oriented applications.
Chapter 4, "The Common Language Runtime" — This chapter examines the core of the .NET platform: the common language runtime (CLR). The CLR is responsible for managing the execution of code compiled for the .NET platform. You learn about versioning and deployment, memory management, cross-language integration, metadata, and the IL Disassembler. The chapter also introduces namespaces and their hierarchical structure. An explanation of namespaces and some common examples are provided. In addition, you learn about custom namespaces, and how to import and alias existing namespaces within projects. This chapter also looks at the My namespace available in Visual Basic.
Chapter 5, "Declarative Programming with Visual Basic" — The introduction of Windows Presentation Foundation, Windows Workflow (WF), and Silverlight brought a new syntax to .NET: XAML. XML for Application Markup Language, commonly pronounced "zamel," is the core of a new declarative programming model. Using this model, developers describe what they want — e.g., a window. The code that implements the creation of that window is abstracted from the request. As noted, XAML is an enabling syntax for several new technology feature sets. This chapter introduces the core common elements of the XAML syntax so that the other chapters that leverage this syntax have a common baseline.
Chapter 6, "Exception Handling and Debugging" — This chapter covers how error handling and debugging work in Visual Basic 2010 by discussing the CLR exception handler and the Try...Catch...Finally structure. Also covered are error and trace logging, and how you can use these methods to obtain feedback about how your program is working.
Chapter 7, "Test-Driven Development" — This chapter introduces the concepts of test-driven development (TDD) with Visual Studio 2010 and the unit test tools.
Part II, "Business Objects and Data Access" — The next seven chapters, Chapter 8 through Chapter 14, look at common structures used to contain and access data. This includes framework elements such as arrays and collections, XML, database access, and Windows Communication Foundation (WCF) services. These chapters focus on gathering data for use within your applications.
Chapter 8, "Arrays, Collections, Generics" — This chapter focuses on introducing arrays and collections as a baseline for having a sets of related items. It then expands on these basic structures by exploring generics. Introduced with version 2.0 of the .NET Framework, generics enable strongly typed collections. One of the important new features associated with .NET Framework 4 is the extension of generic support to include covariance.
Chapter 9, "Using XML with Visual Basic" — This chapter presents the features of the .NET Framework that facilitate the generation and manipulation of XML. We describe the .NET Framework's XML-related namespaces, and a subset of the classes exposed by these namespaces is examined in detail. This chapter also touches on a set of technologies that utilize XML — specifically, ADO.NET and SQL Server — and then describes in detail how to work with LINQ for XML.
Chapter 10, "ADO.NET and LINQ" — This chapter focuses on what you need to know about the ADO.NET object model in order to build flexible, fast, and scalable data-access objects and applications. The evolution of ADO into ADO.NET is explored, and the main objects in ADO.NET that you need to understand in order to build data access into your .NET applications are explained. Additionally, this chapter delves into LINQ to SQL. LINQ offers the capability to easily access underlying data — basically a layer on top of ADO.NET. Microsoft has provided LINQ as a lightweight façade that provides a strongly typed interface to the underlying data stores.
Chapter 11, "Data Access with the Entity Framework" — One of the major enhancements being released with Visual Studio 2010 is the Entity Framework (EF). The EF represents Microsoft's implementation of an Entity Relationship Modeling (ERM) tool. Using EF, developers can generate classes to represent the data structures that are defined within SQL Server, and leverage these objects within their applications.
Chapter 12, "Working with SQL Server" — This chapter describes how to work with SQL Server 2008 along with your .NET applications. SQL Server provides a strong connection to your applications, and this chapter explains how to effectively utilize this powerful database.
Chapter 13, "Services (XML/WCF)" — This chapter looks at the newest way to build service-oriented components that allow for standards-based communications over a number of protocols. WCF is Microsoft's latest answer for component communications within and outside of the enterprise. Additionally, this chapter reviews the creation and consumption of XML Web services. The abstract classes provided by the CLR to set up and work with Web services are discussed, as well as some of the technologies that support Web services. Also examined are some of the disadvantages to using any distributed architecture.
Part III, "Smart Client Applications" — The next six chapters, Chapter 15 through Chapter 20, focus on creating client applications. Starting with the Windows Forms application model, which was introduced with .NET 1.0, these chapters move through the migration to Windows Presentation Foundation and the introduction of the Blend design engine and Silverlight.
Chapter 14, "Windows Forms" — This chapter looks at Windows Forms, concentrating primarily on forms and built-in controls. What is new and what has been changed from previous versions of Visual Basic are discussed, along with the System.Windows.Forms namespace.
Chapter 15, "Advanced Windows Forms" — This chapter explores some of the more advanced features that are available to you in building your Windows Forms applications.
Chapter 16, "User Controls Combining WPF and Windows Forms" — One of the best practices for creating Windows client applications is the use of user controls. User controls allow for the encapsulation of related user interface elements. In addition, these controls become key for the migration from Windows Forms to WPF. Because many organizations have made significant investments in Windows Forms and are not ready to fully switch their applications to this new technology, Microsoft has provided significant support to integrate WPF into your Windows Forms applications, as well as the capability to bring your Windows Forms components to a WPF application.
Chapter 17, "WPF Desktop Applications" — A technology that was introduced in .NET 3.0, Windows Presentation Foundation offers an alternate mechanism for building desktop applications. This chapter describes how WPF provides a presentation layer that you should find rather fluid and enriching.
Chapter 18, "Expression Blend 3" — In conjunction with the release of WPF, Microsoft introduced a new suite of tools called "Expression Studio." These tools target building rich user interfaces based on XAML. The Blend tool (included in Expression Studio) in particular has proven valuable for designing WPF user interfaces. This chapter introduces you to Expression Blend, which provides a powerful set of tools for designing applications and working with XAML.
Chapter 19, "Silverlight" — This chapter looks at the latest use of XAML for building user interfaces: Silverlight. Silverlight provides a platform-independent solution for .NET-based client application development. Silverlight enables developers to use XAML markup, and brings a more fluid experience to the end user in the browser or on the desktop.
Part IV, "Internet Applications" — The next five chapters, Chapter 20 through Chapter 24, focus on creating applications for the Web. Leveraging Silverlight, which has a client-like feel, these chapters introduce ASP.NET and capabilities such as AJAX and MVC, including fully cloud-hosted solutions, and introduce SharePoint.
Chapter 20, "Silverlight and Services" — Once you've been introduced to Silverlight and what it can do for client applications, this chapter looks at both hosting Silverlight within your website and hooking it to Web services to provide business data.
Chapter 21, "Working with ASP.NET" — This chapter explores the basics of ASP.NET in detail. It looks at building Web applications using Visual Studio and includes discussions on the overall application and page frameworks.
Chapter 22, "ASP.NET Advanced Features" — This chapter looks at several of ASP.NET's advanced features, in particular focusing on AJAX. Examples of items covered include cross-page posting, master pages, site navigation, personalization, and more.
Chapter 23, "ASP.NET MVC" — Visual Studio 2010 introduces the MVC (Model-View-Controller) pattern for ASP.NET to mainstream development. This pattern provides a more structured framework for developing Web applications. This chapter outlines the advantages of using this pattern for new ASP.NET projects.
Chapter 24, "SharePoint 2010 Development" — SharePoint, which includes a number of technologies and services, is Microsoft's fastest-growing product. This chapter looks at how Visual Basic developers can customize and leverage this versatile tool for hosting custom solutions.
Part V, "Libraries and Specialized Topics" — The final 10 chapters, Chapter 25 through Chapter 34, focus on a disparate collection of specialized topics. These topics reference specific .NET libraries that you will probably be interested in working with as you create new solutions and modify existing ones.
Chapter 25, "Visual Studio Tools for Office" — This chapter looks at using Visual Basic to work with your Microsoft Office-focused applications.
Chapter 26, "Windows Workflow Foundation" — This chapter covers the newly updated Workflow implementation. The new capabilities introduced with Visual Studio 2010 make it easy to integrate workflow into your applications. Windows Workflow was introduced in the .NET Framework 3.0, but the new release is a significant departure from the original logic (coverage of the original workflow has been moved to Appendix D).
Chapter 27, "Localization" — This chapter looks at some of the important items to consider when building your applications for worldwide use. It looks closely at the System.Globalization namespace and everything it offers your applications.
Chapter 28, "COM-Interop" — This chapter discusses COM and .NET component interoperability, and what tools are provided to help link the two technologies.
Chapter 29, "Network Programming" — This chapter covers working with some of the networking protocols that are available to you in your development and how to incorporate a wider network into the functionality of your applications.
Chapter 30, "Application Services" — This chapter examines how Visual Basic is used in the production of Windows Services. The creation, installation, running, and debugging of Windows Services are covered.
Chapter 31, "Assemblies and Reflection" — This chapter examines assemblies and their use within the CLR. The structure of an assembly, what it contains, and the information it contains are described. In addition, you will look at the manifest of the assembly and its role in deployment, and how to use remoting. You examine the basic architecture of remoting and build a basic server and client that uses a singleton object for answering client requests in the business tier. You will also learn how to use serialization to return more complex objects from the server to the client, and how to use the call context for passing extra data from the client to the server along with each call, without having to change the object model.
Chapter 32, "Security in the .NET Framework" — This chapter examines additional tools and functionality with regard to the security provided by .NET. Caspol.exe and Permview.exe, which assist in establishing and maintaining security policies, are discussed. The System.Security.Permissions namespace is also covered, including how it relates to managing permissions. Finally, you look at the System.Security .Cryptography namespace and run through some code that demonstrates its capabilities.
Chapter 33, "Parallel Programming Using Tasks and Threads" — This chapter explores threading and explains how the various objects in the .NET Framework enable any of its consumers to develop multithreaded applications. You will learn how threads can be created, how they relate to processes, and the differences between multitasking and multithreading. Additionally, Visual Studio 2010 introduces an entirely new parallel processing framework, which is addressed in this chapter.
Chapter 34, "Deployment" — This chapter takes a close look at the available deployment options for Windows Forms and Web Forms, including the ClickOnce deployment feature and creating .msi files.
Appendix A, "The Visual Basic Compiler" — This appendix covers the Visual Basic compiler vbc.exe and the functionality it provides.
Appendix B, "Visual Basic Power Packs Tools" — This appendix looks at the Visual Basic Power Packs Tools, originally released as off-cycle packages to aid developers who are maintaining traditional Visual Basic 6.0 applications or are looking for capabilities similar to those in Visual Basic 6. These tools were integrated with Visual Studio and help begin the process of transitioning to the current version of Visual Basic.
Appendix C, "Workflow 2008 Specifics" — The Windows Workflow Foundation introduced with .NET 3.0 and supported by Visual Studio 2008 has been completely redone for Visual Studio 2010. However, we moved coverage of the original Workflow services to this appendix so that you will continue to be able to reference this material for existing solutions.
Appendix D, "Enterprise Services" — Over time, with new transaction support and related capabilities, the material in this appendix, which was previously its own chapter, has become less applicable. It has been migrated to this appendix to support those with existing implementations that reference Enterprise Services. This chapter explores the .NET component services — in particular, transaction processing and queued components.
Appendix E, "Programming for the Cloud" — This chapter looks at several new cloud-based environments that Microsoft has introduced and how they affect you as a Visual Basic developer. Whether you are keeping data in the cloud or developing applications that will live in the cloud, this chapter will help you understand this new application paradigm.
Was this article helpful?