Catálogo de publicaciones - libros

Compartir en
redes sociales


Practical Mono

Mark Mamone

Resumen/Descripción – provisto por la editorial

No disponible.

Palabras clave – provistas por la editorial

Software Engineering/Programming and Operating Systems

Disponibilidad
Institución detectada Año de publicación Navegá Descargá Solicitá
No detectada 2006 SpringerLink

Información

Tipo de recurso:

libros

ISBN impreso

978-1-59059-548-0

ISBN electrónico

978-1-4302-0097-0

Editor responsable

Springer Nature

País de edición

Reino Unido

Fecha de publicación

Información sobre derechos de publicación

© Apress 2006

Tabla de contenidos

Introducing .NET and Mono

Mark Mamone

In this chapter, I introduced the .NET Framework, its associated technologies, and the industry standards it has either embraced or defined. You should now have obtained and downloaded the version of Mono that is relevant to the platforms on which you want to run it and have the necessary knowledge to install and test Mono on your platform. You are now ready to begin Mono development!

In the next chapter, I’ll introduce and discuss some of the tools that are either provided as part of the .NET Framework or provided as part of the open-source community, specifically an IDE, to make the process of developing applications easier and more graphical.

Pp. 1-20

Introducing Development Tools and MonoDevelop

Mark Mamone

In this chapter, I introduced a comprehensive but user-friendly IDE in the form of MonoDevelop and touched on some of the other IDEs on the market such as Eclipse. These allow you to build enterprise-class applications but in a more user-friendly and productive environment. I also introduced some of the development tools provided as part of the core Mono environment. I encourage you to use these throughout the book, as it will improve your productivity, even though you can build all the applications presented throughout this book using the command-line tools.

The next two chapters will introduce the C# language, which is the default programming language used throughout this book and one of the most common in the industry. This will provide the foundation necessary to start building the book’s project application, the RSS aggregator.

Pp. 21-40

Introducing C#

Mark Mamone

In this chapter, I introduced the fundamentals of the C# programming language available with the .NET Framework while touching on some of its influences. I also described the high-level structure of the C# language and how a C#-based application may look.

You learned how to use variables, value types, statements, classes, and structures. This knowledge can supplement any existing development knowledge you have or can act as an introduction to C#. In either case, you should now understand the fundamental constructs of the C# language needed for developing C#-based applications. In the next chapter, I’ll elaborate on some of the concepts discussed here and introduce more features of the C# language.

Pp. 41-61

Learning C#: Beyond the Basics

Mark Mamone

is a modern scientific approach to . Its has been developed in the work of the present authors (see [Iva91, ILI95, IS01, IP01b, IP01a, Iva02, Iva04, Iva05, IB05, PI03, PI04]). The dynamics of human motion is extremely complex, multi–dimensional, highly nonlinear and hierarchical. Human skeleton has more than two hundred rigid bones, connected by rotational joints, witch have up to three axes of rotation. Nevertheless, in classical biomechanics the main analytical tool was (see Figure 1.1). The skeleton is driven by a synergistic action of its 640 skeletal muscles. Each of these muscles has its own and dynamics, in which neural action potentials are transformed into muscular force vectors (see [Hat77a, Hat77b, Hat78]).

Pp. 63-105

Exploring the .NET Core

Mark Mamone

This chapter introduced some of the core concepts within the .NET Framework, including the CLR, the garbage collector, and the class libraries. The CLR provides a sophisticated runtime environment with advanced features such as memory management, security, exception handling, and so on. This provides the framework within which you can deploy and execute your managed and unmanaged applications. The garbage collector, a component of the CLR, provides automatic memory management such that the performance of the CLR is on par with native compilers and their executable code. Often, skeptics dismiss the improved performance of runtime environments, which has led to tests demonstrating that on the Windows platform, memory management is faster than unmanaged code. The garbage collection of generation-0 objects on a 200MHz Pentium machine takes less than a millisecond.

The power and the scale of the .NET Framework allow you to develop commercial, enterprisescale applications much more quickly than was previously possible. You can now put the knowledge you have accumulated to good use-in the following chapters, you’ll learn how to develop a RSS aggregator using the Mono environment and the .NET Framework’s class library.

Pp. 107-131

Creating Windows Forms

Mark Mamone

In this chapter, I covered a massive topic with a focus on what you need to do to create a main form, complete with controls and a dialog box that links to the main menu. I discussed the differences between windows, both form and dialog box variations, and I also discussed how you can put event handlers to work to provide the implementation behind a user’s actions. Finally, you looked at some of the controls available as part of the .NET Framework, and I showed how you can place and manipulate them to provide the foundation for this book’s project, the RSS aggregator.

The Windows.Forms namespace is huge; to do it justice is simply not possible within one chapter. Therefore, I provided a good foundation for you to continue exploring at your own leisure. It’s also worth mentioning that under .NET, Mono is not limited to Windows Forms as the only method for implementing your user interface. The GNOME toolkit (Gtk#) is another powerful user interface technology stack and, in some cases, far more mature. Therefore, you’ll spend Chapter 7 comparing the two technologies and looking at how to make an informed decision about which one to use. I’ll also provide a foundation in using Gtk# with Mono to implement your own user interfaces.

Pp. 133-178

Introducing Gtk+, Glade, and User Interfaces

Mark Mamone

In this chapter, I discussed the features of Glade and the Gtk+ toolkit and how to use these two technology stacks collaboratively to build platform-independent GUIs. Gtk+ acts as a multiplatform toolkit for creating GUIs and includes a comprehensive set of controls (known as ) that can be used to build your application’s user interface by implementing the Gtk# .NET wrapper to access the Gtk+ API from your Mono application. Glade provides a GUI designer that allows you to build your user interfaces using Gtk+ widgets and save them in a language-independent format called XML. To accompany the designer, Glade also provides libraries that you can use to harness your user interfaces and dynamically load and use them at runtime with a variety of languages, including those supported by Mono.

Pp. 179-203

Using ADO.NET

Mark Mamone

As you can see, the ADO.NET namespace and its associated classes are extremely versatile and feature rich. As a result, numerous classes and features exist that I did not have the space to cover in this chapter alone. This chapter merely provided the foundation. I discussed the requirements for database interaction and used a well-known open-source database provider, MySQL, in the examples. I also discussed the design for the data abstraction layer in the form of the DAL and DSL, through which I have demonstrated how to implement these techniques:

I also touched on the concept of transactions, which allow numerous database changes to be written to the database as a single atomic operation, with changes being rolled back if an error occurs. I finished the chapter by showing how to join user interface code and database code to provide a user interface that is populated from the database.

For a more detailed understanding, I recommend you spend some time exploring and practicing your ADO.NET implementations by referring to the RSS aggregator’s source code, which uses the two distinct layers demonstrated in this chapter for all its database handling. I also recommend the book by David Sussman (Apress, 2004).

Pp. 205-239

Using XML

Mark Mamone

This chapter first provided an overview of the history of XML, including its influences. I explained the benefits of using XML as a means for representing data, both from an extensibility point of view and also to support transferring data in a heterogeneous environment. I also covered some XML-related technologies in the form of namespaces and schemas, which provide qualification and validity surrounding the data that the XML represents.

I then covered the .NET Framework’s support for XML and how you can implement the classes required for the RSS aggregator application. I introduced the namespaces available within the .NET Framework and the classes they provide, specifically those that provide basic reading and writing functionality. In addition to these basic features, I also discussed how you can traverse an XML document, extracting and interpreting the data required and using this within a C# class to represent your data internally and perform additional functionality such as supporting your persistent storage.

This chapter provided an implementation of the RSS feed classes that, when combined with Chapter 10’s discussion of how to represent data entity classes, will allow you to persist this data to a database of your choice. You’ll find the complete implementation for this code within the book’s RSS aggregator project. The next chapter will focus on the network features available to you within the .NET Framework; you’ll use these features to establish a connection to your RSS feed over the Internet and download the contents directly.

Pp. 241-272

Introducing Networking and Remoting

Mark Mamone

In this chapter, I covered several important topics that are especially crucial in a connected world. I introduced networking, introduced the different types of networks, and explained how the types fundamentally work. You then looked at the .NET Framework’s support for some of the networking concepts described, including protocol support. You explored the intricacies of the request-response method for retrieving data over HTTP (and FTP) because they provide a foundation for the Internet. You saw examples of how some of the .NET classes can download Web pages and XML feeds, a key requirement in the implementation of the RSS aggregator. You then learned about remoting, the features it provides, and how the .NET Framework supports remoting. Finally, you saw some examples that implemented the remoting concepts discussed; you can use these examples when developing your own applications with remoting functionality.

In the next chapter, you’ll use this network knowledge to learn how to run applications against your own Web server using Mono.

Pp. 273-305