UNIVERSIDAD LAICA VICENTE ROCAFUERTE Facultad de Ciencias Económicas
FORMULACION Y EVALUACION DE LA PROPUESTA
4.2 COSTO DE PROPUESTA.
4.2.2 Análisis de flujo de caja de los productores.
Bonus Materials 144
20.1.3.1 .Net Framework
The .net framework is the class library that is the core of .net. This class library includes classes for I/O, data storage, simple types, complex types, database access, user interface and more. What the VCL is to Delphi programmers, is what the .net framework is to .net programmers.
The Win32 API is also gone, and has been replaced by classes in the .net framework which provide a better, and abstracted platform independent interface. Provisions exist to access the Win32 API directly, as well as true compiled DLL's. However using such access methods will make your code unmanaged and is not desirable in a .net application.
20.1.3.2 WinForms
WinForms is an assembly in the .net framework which includes classes for forms, buttons, edit boxes, and other GUI controls for building GUI applications. WinForms is a .Net managed interface to the Win32 API and is what Visual Studio.net uses for building GUI applications.
20.1.3.3 RTL
The RTL which consists of the non visual lower level classes in Delphi such as TList, TStrings, etc. The RTL is still available in Delphi.net. Much of what is in the RTL has similar counterparts in the .net framework, but by providing the RTL Borland has made it easier to port existing Delphi code without the need to rewrite large sections of code, and permits for cross platform code.
20.1.3.4 CLX
This is the part that gets confusing. Prior to Delphi 7 the following designations were used:
· VCL - Visual Component Library. The VCL collectively referred to the visual components, non visual components, and the RTL.
· CLX (Pronounced "Clicks") - Component Library for Cross Platform - CLX referred to the new cross platform version of the visual part of the VCL that was based on QT and ran on Linux as well as Windows.
Now that Delphi 7 has been released, Borland has reorganized and redesignated the meanings of existing acronyms. This can be a big source of confusion, so please pay close attention. Starting with Delphi 7 the new designations are as follows:
· CLX - CLX refers to the entire component framework included in Delphi, C++ Builder, and Kylix.
· VCL - VCL refers to the visual components that link directly to the Win32 API.
· Visual CLX - Visual CLX refers to the cross platform visual components that are based on QT are available in Delphi and Kylix.
· VCL for .net - VCL for .net refers to a new VCL that runs under .net and provides a compatibility layer for older applications, as well as additional functionality.
If you look at the new designations, I am not so sure they are consistent. I think in the future they will lead to further confusion. I think NLX (Nelix?) or NCL (Nickel?), or really anything more consistent may have been a better choice for VCL for .Net. As it stands, Visual CLX is a subset of CLX, but VCL for .net is a sibling of VCL, as is Visual CLX.
A secret decoder ring might look something like this:
Indy in Depth 145
(C) 2003 Atozed Computer Software Ltd.
This book is registered to Constantinos Pitsakis
· CLX --> Visual CLX
· Visual Parts of VCL --> VCL
Ok, so if this is all as clear as mud... On to the next topic.
20.1.3.5 VCL for .Net
VCL for .net refers to a new VCL that runs under .net and provides a compatibility layer for older applications, as well as additional functionality.
VCL for .net allows existing applications to be ported quickly as it is very similar to the Win32 VCL and CLX. This also allows for continued development of cross platform applications. This is an important feature that allows continued support of Windows installations without the .net framework, and Linux as well.
20.1.3.6 WinForms or VCL for .Net?
This is definitely an area of confusion for users - Should I use WinForms or VCL for .net to develop the GUI?
The following comparison can help you choose. A hard fast rule for all projects should not be established, but each project should be evaluated separately.
Bonus Materials 146
VCL for .Net WinForms
Larger deployment size because of additional assemblies. Smaller deployment because all assemblies are included in the .net framework.
For Win32 platforms only. Subsets available in the compact
.net framework for pocket PC's. May be ported to other .net implementations.
High degree of compatibility with existing code. Requires significant changes to existing code.
Cross platform with VCL for Win32, and Visual CLX for Linux (and Windows).
.Net framework only.
More efficient in some areas. Does not implement all the
optimizations that the VCL does. Additional features and classes. This includes additional
visual controls, but also things such as action lists, data access, and more.
Full source code is available. No source code is available.
Another possibility is this - you can mix and match. VCL for .net and WinForms are not exclusive and can be used together in the same application.