Investigacion Windows Forms
Investigacion Windows Forms
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
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.
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.
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 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