0% found this document useful (0 votes)
16 views11 pages

Investigacion Windows Forms

Windows Forms

Uploaded by

Javier Cú
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views11 pages

Investigacion Windows Forms

Windows Forms

Uploaded by

Javier Cú
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

UNIVERSIDAD MARIANO GÁLVEZ

DE GUATEMALA

FACULTAD DE INGENIERIA

INVESTIGACION

Presenta:
HECTOR JAVIER CU GARCIA
Sección: C
Carne Universitario: 0900-23-21369
Horario:
7:30-9:30
Catedrático:
Ing. Hernán Velásquez

Guatemala, Guatemala 22 de agosto, 2024


Tabla de contenido
Introducción ....................................................................................................................... 3
Windows Forms .................................................................................................................. 4
Definición ....................................................................................................................... 4
Historia ........................................................................................................................... 4
Windows Forms vs Otras Tecnologías .............................................................................. 5
Ventajas sobre otras tecnologías: ................................................................................ 5
Desventajas contra otras tecnologías: .......................................................................... 5
Facilidades de uso .......................................................................................................... 6
Capacidades graficas ...................................................................................................... 6
Gráficos vectoriales 2D ................................................................................................ 6
Creación de imágenes ................................................................................................. 7
Tipografía .................................................................................................................... 7
Compatibilidad ............................................................................................................... 7
Seguridad ....................................................................................................................... 7
Conclusiones ..................................................................................................................... 9
Recomendaciones............................................................................................................ 10
Bibliografía ....................................................................................................................... 11
E-grafía ......................................................................................................................... 11
Introducción
En el campo laboral del desarrollo de software existen dos principales posiciones en el
desarrollo de programas, el backend y el frontend, el backend se encarga principalmente de
cómo funciona el área lógica del proyecto, las tareas, el funcionamiento del proyecto, de
ahí el término “back” pues se trata del área que el usuario no puede observar, el frontend
por su parte se enfoca en el área grafica y lo que los usuarios puede observar, como
botones, casillas de verificación, gráficos y mensajes de texto, básicamente todos los
elementos con los que los usuarios pueden interactuar.
A lo largo de estos proyectos se ha hablado y enseñado contenido útil para desarrollar
backend por medio de c#, por lo mismo en este proyecto se intenta introducir al lector a una
de las herramientas mas comunes para desarrollar frontend, se trata de la herramienta de
formularios Windows Forms.
El objetivo de este proyecto es dar a conocer los principios básicos existentes dentro de
Windows Forms, dando a conocer principios básicos de Windows forms, como su historia,
la comparativa con otras herramientas de desarrollo gráfico, así como las posibilidades y las
limitantes de las cuales esta herramienta dispone.
La finalidad de esta investigación es que el lector pueda comprender los conceptos teóricos
sobre esta herramienta, para que estos comprendan de la mejor forma posible los conceptos
básicos de esta, para que sea capaz de analizar las limitantes y de que forma puede sacarle
el mayor provecho a esta herramienta, con el objetivo que su desarrollo de proyectos sea
realizado de la forma mas optima posible dadas las herramientas disponibles.
Windows Forms
Definición
Este es un marco de interfaz de usuario para compilar aplicaciones hechas para escritorios
de Windows, cuando se desarrolla un proyecto, ciertamente no solo es necesario que trabaje
de forma eficiente, sino que sea fácil de leer y de entender al usuario, esta es la función
elemental que cumple Windows Forms, pues esta te permite desarrollar aplicaciones
enriquecidas gráficamente que son fáciles de implementar y de Actualizar, Las aplicaciones
Windows Forms pueden acceder el hardware local y al sistema de archivos del equipo en el
que se ejecuta.
Es una parte del .NET Framework que tiene un conjunto de clases orientadas a objetos que
se usan para desarrollar complejas y robustas aplicaciones Windows. Este conjunto de
clases del .NET Framework se encuentra físicamente dentro de la librería
System.Windows.Forms.dll ubicada en el directorio donde está instalada la versión del
.NET Framework.Lógicamente, Windows Forms tiene la siguiente jerarquía en el Modelo
de objetos del .NET Framework

Historia
WinForms se introdujo con la primera versión de .NET y Visual Studio en 2001. El propio
WinForms puede considerarse como un contenedor para la compleja API de Win32. Se
creó para que los desarrolladores empresariales no necesitaran ser expertos en C++ para
crear aplicaciones de línea de negocio basadas en datos. WinForms fue un éxito inmediato
gracias a su diseñador WYSIWYG, donde incluso los desarrolladores novatos podían crear
una aplicación en minutos para sus necesidades comerciales.
Antes de que se agregara la compatibilidad con las aplicaciones .NET Core, solo había un
proceso, devenv.exe, que ejecutaba tanto el entorno de Visual Studio como la aplicación
que se estaba diseñando. Pero .NET Framework y .NET Core no pueden ejecutarse juntos
dentro de devenv.exe y, como resultado, tuvimos que eliminar el diseñador de procesos, por
lo que llamamos al nuevo diseñador WinForms Out of Process Designer (o diseñador OOP
para abreviar).
Windows Forms vs Otras Tecnologías
Ventajas sobre otras tecnologías:
• Fácil de visualizar y manipular datos: Esta permite manipular y trabajar con
bases de datos, en esta herramienta existe una función conocida como
DataGridView que permite visualizar datos en el formato tabular tradicional, donde
cada elemento tiene su celda.
• Amplio conjunto de controles: Esta herramienta contiene una gran cantidad de
bibliotecas con controles predefinidos. Estos controles se pueden adaptar para
cualquier tipo de aplicación en particular, lo que les permite a los desarrolladores
crear aplicaciones ricas en funciones con una impresionante variedad de
funcionalidades, sin necesidad de crear controles desde el principio.
• Gran integración con el marco .NET: proporciona una base sólida para crear
aplicaciones de Windows. De esta manera, los desarrolladores pueden aprovechar
las múltiples capacidades de la plataforma .NET para crear aplicaciones sólidas y
escalables.
• Permite crear aplicaciones de alto rendimiento: Dado que Winforms tiene una
menor sobrecarga en comparación con otros marcos de interfaz gráfica de usuario,
son perfectos para crear aplicaciones que consumen muchos recursos. Winforms le
permite crear aplicaciones de alto rendimiento con interfaces de usuario adaptables.
La API nativa de Windows también permite una ejecución más rápida.
• Estable y Maduro: WinForms es conocido por su tecnología estable y madura, lo
que lo hace muy confiable para crear aplicaciones de Windows. El marco también
es muy confiable, dado que ha sido probado durante años.
• Curva de aprendizaje sencilla: WinForms es fácil de aprender si conoces C# y
Visual Basic .NET. Además, la comunidad de soporte para desarrolladores es muy
sólida y tienes muchos recursos en línea, como tutoriales y documentación.

Desventajas contra otras tecnologías:


• Algo anticuado: A medida que han aparecido nuevas tecnologías, muchos
desarrolladores sienten que las aplicaciones Winforms están obsoletas y que las
interfaces de usuario creadas con tecnologías modernas son más atractivas.
• No es fácil de depurar: Las aplicaciones Winforms se construyen sobre complejos
conjuntos de tecnologías, por lo que, si el desarrollador utiliza controles de terceros,
será muy difícil depurarlas.
• Gran consumo de memoria: Las aplicaciones WinForms consumen mucha
memoria en comparación con las aplicaciones WPF. Esta diferencia podría deberse
a los distintos tipos de motores de renderizado que utilizan.
• Desarrollo futuro limitado: WinForms todavía se utiliza, pero Microsoft está
prestando más atención y enfoque a otras tecnologías como UWP (Universal
Windows Platform) y WPF. Por lo tanto, es posible que las actualizaciones de
Winforms sean menores en el futuro. Esto podría causar problemas de soporte y
compatibilidad en el futuro.

Facilidades de uso
• Conjunto de bibliotecas: Debido a que esta herramienta tiene mas de 20 años
desde que fue creada, sumándole a esto la gran cantidad de usuarios que ha tenido,
ha causado que existen una serie de bibliotecas y métodos que permiten desarrollar
cualquier tipo de formato con una gran facilidad, generando miles de funciones que
facilitan el desarrollo de estos formatos.
• Compatibilidad con bases de datos: Como se menciono anteriormente, este
sistema permite al desarrollador visualizar y manipular bases de datos en servicios
como XML y archivos JSON.
• Flexible: Los desarrolladores puede ampliar las funcionalidades y los métodos de
las aplicaciones con la ayuda de controles personalizados, controles de terceros,
entre otras herramientas.

Capacidades graficas
Las capacidades graficas de esta herramienta se pueden clasificar en tres grupos
principales:

Gráficos vectoriales 2D
Los gráficos vectoriales bidimensionales, como las líneas, las curvas y las figuras, son
primitivas especificadas mediante conjuntos de puntos en un sistema de coordenadas. Por
ejemplo, una línea recta se especifica mediante sus dos extremos, y un rectángulo se
especifica mediante un punto que indica la ubicación de su esquina superior izquierda y un
par de números que indican su ancho y su alto. Un trazado simple se especifica mediante
una matriz de puntos conectados con líneas rectas. Un B-spline es una curva sofisticada que
se especifica mediante cuatro puntos de control.
GDI+ proporciona clases y estructuras que almacenan información sobre las primitivas,
clases que almacenan información sobre cómo se dibujarán las primitivas y clases que
hacen el dibujo. Por ejemplo, la estructura Rectangle almacena la ubicación y el tamaño de
un rectángulo; la clase Pen almacena información sobre el color, el ancho y el estilo de la
línea; y la clase Graphics contiene métodos para dibujar líneas, rectángulos, trazados y
otras figuras. También hay varias clases Brush que almacenan información sobre cómo se
rellenarán las figuras y trazados cerrados con colores o patrones.
Puede grabar una imagen vectorial, que es una secuencia de comandos gráficos, en un
metarchivo. GDI+ proporciona la clase Metafile para grabar, mostrar y guardar
metarchivos. Con las clases MetafileHeader y MetaHeader, puede inspeccionar los datos
almacenados en un encabezado de metarchivo.
Creación de imágenes
Ciertos tipos de imágenes son difíciles o imposibles de mostrar con las técnicas de los
gráficos vectoriales. Por ejemplo, las imágenes de botones de la barra de herramientas y las
imágenes que aparecen como iconos son difíciles de especificar como colecciones de líneas
y curvas. Una fotografía digital de alta resolución de un estadio de béisbol abarrotado es
aún más difícil de crear con técnicas vectoriales. Las imágenes de este tipo se almacenan
como mapas de bits, que son matrices de números que representan los colores de puntos
individuales en la pantalla. GDI+ proporciona la clase Bitmap para mostrar, manipular y
guardar mapas de bits.

Tipografía
La tipografía es la presentación del texto en diversas fuentes, tamaños y estilos. GDI+
proporciona una amplia compatibilidad con esta tarea compleja. Una de las nuevas
características de GDI+ es el suavizado de contorno de subpíxeles, que proporciona un
aspecto más suave al texto representado en una pantalla LCD.
Además, Windows Forms ofrece la opción de dibujar texto con funcionalidades de GDI en
su clase TextRenderer.

Compatibilidad
Debido a la gran cantidad de herramientas y de utilidades que esta plataforma de
formularios tiene, la compatibilidad y las posibilidades que esta herramienta contiene, esto
permite que WinForms sea una herramienta con una gran cantidad de oportunidades y con
una gran capacidad de compatibilidad con muchas plataformas, exceptuando aplicaciones
móviles, siendo compatible para hasta .NET 8, la única limitante a considerar seria el hecho
de que esta aplicación no tiene la suficiente capacidad como para trabajar en aplicaciones
móviles debido a que esta no es una opción optima si se necesita desarrollar aplicaciones
con movimiento, al ser esta una funcionalidad casi necesaria para desarrollo web, este no es
realmente compatible entre estas plataformas.

Seguridad
La seguridad es importante en todos los pasos del desarrollo de aplicaciones. Comience por
consultar y seguir las instrucciones de codificación segura.

A continuación, decida si su aplicación debe ejecutarse con plena confianza o si debe


ejecutarse en confianza parcial. La ejecución de la aplicación en plena confianza facilita el
acceso a los recursos del equipo local, pero expone la aplicación y sus usuarios a grandes
riesgos de seguridad si no diseña y desarrolla la aplicación respetando estrictamente las
instrucciones de codificación segura. La ejecución de la aplicación en confianza parcial
facilita el desarrollo de una aplicación más segura y reduce los riesgos, pero requiere una
mayor planeación para la implementación de ciertas características.
Si elige la confianza parcial (es decir, el conjunto de permisos de Internet o de la intranet
local), decida cómo desea que la aplicación se comporte en este entorno. Windows Forms
proporciona otros métodos más seguros de implementar características cuando se trata de
un entorno de confianza parcial. Ciertas partes de la aplicación, como el acceso a datos, se
pueden diseñar y escribir de manera diferente para entornos de plena confianza y confianza
parcial. Algunas características de Windows Forms, como la configuración de la aplicación,
están diseñados para trabajar con confianza parcial. Para más información, consulte
Introducción a la configuración de la aplicación.

Si la aplicación necesita más permisos que los que permite la confianza parcial, pero no
desea que se ejecute en plena confianza, puede ejecutarla en confianza parcial y validar tan
solo los permisos adicionales que necesite. Por ejemplo, si desea ejecutar en confianza
parcial, pero debe conceder a la aplicación el acceso de solo lectura sobre un directorio del
sistema de archivos del usuario, puede solicitar FileIOPermission tan solo para ese
directorio. Usado correctamente, este enfoque puede proporcionar a la aplicación una
mayor funcionalidad y minimizar los riesgos de seguridad para los usuarios.

Cuando desarrolle una aplicación que se ejecutará en confianza parcial, realice un


seguimiento de los permisos que debe ejecutar la aplicación y de los permisos que la
aplicación podría usar de forma opcional. Si se conocen todos los permisos, realice una
solicitud declarativa de permisos en el nivel de aplicación. La solicitud de permisos informa
al tiempo de ejecución de .NET Framework de los permisos que necesita la aplicación y los
permisos que no desea específicamente. Para más información sobre la solicitud de
permisos, consulte el artículo sobre solicitud de permisos.

Cuando solicite permisos opcionales, debe controlar las excepciones de seguridad que se
generarán si la aplicación realiza una acción que requiere permisos que no tiene
concedidos. El control adecuado de SecurityException garantizará que la aplicación
continúa ejecutándose. La aplicación puede usar la excepción para determinar si se debería
deshabilitar una característica para el usuario. Por ejemplo, una aplicación puede
deshabilitar la opción de menú Guardar si no se concede el permiso de archivo necesario.
A veces es difícil saber si ha declarado todos los permisos adecuados. Por ejemplo, una
llamada de método que a primera vista parece inofensiva, puede tener acceso al sistema de
archivos en algún momento durante su ejecución. Si la aplicación no se implementa con
todos los permisos necesarios, la depuración en el escritorio no dará problemas, pero
producirá un error cuando se implemente. Tanto el SDK de .NET Framework 2.0 como
Visual Studio 2005 contienen herramientas para calcular los permisos que necesita una
aplicación: la herramienta de línea de comandos MT.exe y la característica Calcular
permisos de Visual Studio, respectivamente.
Conclusiones
• El front end es una de las herramientas con la que los usuarios mas suelen
interactuar, esta representa el área estética de un programa, y las herramientas con
las cuales este puede interactuar, Windows Forms es una herramienta para el
desarrollo de front end, pues este permite generar el área estética e interactiva como
botones, imágenes, entre otras herramientas.
• Windows forms es un poderoso desarrollador de frontend el cual permite al
desarrollador trabajar en la interfaz de usuario. Puede que Winforms sea antiguo,
pero este tipo de proyecto sigue siendo muy popular. Si buscas desarrollar una
aplicación sencilla sin muchas funcionalidades añadidas, Winforms es la solución.
Winforms cuenta con una gran cantidad de recursos en línea, comunidades de
desarrolladores y controles de terceros, por lo que siempre habrá documentación y
soporte para desarrolladores. Este tipo de proyecto tiene experiencia en tiempo de
diseño en Visual Studio, lo que facilita la creación de estilos y la colocación de la
capa de interfaz de usuario, incluso antes que el resto de la aplicación.
Recomendaciones

• Se recomienda al usuario estudiar y comprender los principios básicos de Windows


Forms para que el estudiante sea capaz de entender e identificar los principios de
esta herramienta, así como sus ventajas y sus limitantes.
• Se le recomienda al lector investigar y leer más acerca de Winforms, en este
documento se presentan generalidades acerca de esta herramienta, por lo que se
recomienda que se busque mas información acerca de esta para ser capaz de
comprender como funciona y bajo que circunstancias se puede sacar el mayor
provecho posible a esta.
Bibliografía
E-grafía

“adegeo” (seudónimo), “brittmsantos” (seudónimo), Microsoft Learn, “categorías de


servicios gráficos” https://learn.microsoft.com/es-
es/dotnet/desktop/winforms/advanced/three-categories-of-graphics-
services?view=netframeworkdesktop-4.8
Fajardo, L.E., OneCompiler, “El lenguaje de programación C# y Windows Forms”,
consultada el día 22 de agosto de 2024, sitio web:
https://onecompiler.com/posts/3z2k68me5/el-lenguaje-de-programaci-n-c-y-windows-
forms
Loffelmann, K, Blog de .NET, “Estado del Diseñador de formularios Windows para
aplicaciones.NET: ¿se centra en la IA?”, consultada el día 22 de ago. de 24, sitio web:
https://devblogs.microsoft.com/dotnet/state-of-the-windows-forms-designer-for-net-
applications/
Thattil, S,.Yuhiro, “Advantages and Disadvantages of Winforms?”, consultada el Dia 22 de
Agosto del 2024, sitio web: https://www.software-developer-india.com/advantages-and-
disadvantages-of-winforms/

You might also like