Mostrando entradas con la etiqueta Visual Studio 2010. Mostrar todas las entradas
Mostrando entradas con la etiqueta Visual Studio 2010. Mostrar todas las entradas

Microsoft .NET - Solución VS - Proyecto CS - Componentes CS

Componentes de una solución VS. 
Puede estar compuesta de diferentes proyectos con diferentes lenguajes. Cada uno sirve para diferentes fines!
Properties:
- Resource.resx: Recursos externos que puede utilizar la aplicación.
- AssemblyInfo.cs: Metadata de la aplicación.
- Settings.settings: Configuraciones que se pueden recuperar en la siguiente sesión.
Program.cs: Punto de entrada principal para la aplicación.
References: Librerías o namespaces que usa la aplicación.

El proyecto que se establece como proyecto de inicio se denota por la negrita que lo resalta.
Las dependencias de un proyecto se aplican cuando un proyecto está compuesto por n-capas
Ubicación de las librerías que se están usando para el código fuente.
En las propiedades de la configuración se puede cambiar las opciones de inicialización de un proyecto:
- Debug (Depuración): Permite parar, dar seguimiento, buscar errores de sintaxis, lógica, es decir permite probar la aplicación. Esta configuración es pesada.
- Release: Esta configuración no permite probar la aplicación o darle seguimiento, esta se la usa para ya generar una aplicación probada. Es mas liviana y rápida.
La plataforma permite configurar la compatibilidad de las arquitecturas.


Nombres que se manejan en VS.
Solución: Nombre de la solución o del conjunto de proyectos. "SoluciónGlobalAplicación"
Ensablado: Nombre del archivo físico ejecutable o release. "Aplicación.dll"
Namespace: Nombre lógico o de las bibliotecas, para acceder a las diferentes clases que están dentro del proyecto. "Aplicación"
Proyecto: Nombre físico de lo que estamos desarrollando. "Aplicación.csproj"

El tipo de resultado depende de los proyectos agregados en la solución.
Archivo de recursos son los recursos que el exclusivamente proyecto va a usar.

En Generar:
- Símbolos de compilación condicional permite agregar librerías o web services adicionales.
- Resultado:
- Generar ensamblados de serialización: Mediante un algoritmo de encriptación permite compactar y poder transmitirlo por la red.

En Depurar:
- Argumentos de la linea de comando: son variables que necesita para continuar con la ejecución.

En Rutas de acceso de referencia:
- Direccionar la ubicación de los componentes que permiten enlazar diferentes plataformas. ver: http://goo.gl/I2zGb

La diferencia entre Build y Rebuild: 
Al inicio ambos hacen lo mismo.
Rebuild: Genera o compila desde cero.
Build: Compila desde el anterior build. Menos pesado. Compila las modificaciones anteriores.
Limpiar/Clean: Borra completamente de la memoria el proyecto en cuestión y hace Rebuild.

Otra opción es borrar el bin y el debug pero previo al cierre de la solución o proyecto para que el VS al iniciar lo reconstruya.

- Las dependencias y el orden solo brindan información.
- En agregar referencia permite agregar las dll de otros componentes a usar en el proyecto: .NET, COM, Proyectos (proyectos adicionales), Examinar (dll, tlb, olb, ocx, exe, manifest).
- Agregar referencia de servicio: Web services externos.
- Ver diagrama de clases permite ver las clases y componentes que componen el proyecto.

Convenciones / Standares en el nombre de los componentes, variables y métodos:
Las tres primeras consonantes del control más el nombre de la clase a la que representa con la inicial en mayúscula.
Componentes (en singular):
- Form: frmCliente
- Button: btnGrabar
- Combobox: cmbSemestre

Variables:
- int: intEdad;
- string: strNombre;
- boolean blnValidar;

Métodos:
- validarCedula
- guardarFactura
- buscarCliente

Trabajando en un Formulario de Windows:
*.resx Archivo recurso del formulario.
*.Designer.cs Propiedades de inicio del formulario.
*.cs Programación de la clase.

Propiedades de los controles de CS
El name es el nombre al que se va a referir en la programación, mientras que el text es el nombre que se va a desplegar.

A partir de 2005 se generan en clases parciales, se dividen en la parte de diseño (Designer) y programación (cs), físicamente las clases están dividas en varias pero lógicamente son una sola (un solo Form).

ControlBox permite determinar si el formualrio tiene un cuadro de menú control o de sistema
Las propiedades mas usadas en un formulario son: WindowsState, StartPosition, ControlBox, Location.

Las propiedades más usadas en el txtBox son: Text, Name, textAlign, ReadOnly, Enabled, PasswordChar, Multiline (varias lineas de texto), MaxLength (tamaño máximo permitido), Location (Cordenadas de la ubicación actual del componente sobre el contenedor form), Size.



Realizar un informe que contenga: Título, nombre, desarrollo, comentario, recomendaciones.
Código: http://sdrv.ms/XokI9L
Proyecto Fuente: http://sdrv.ms/XokI9L
Corrida:



Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace PART
{
    static class Program
    {
        /// <summary>
        /// Punto de entrada principal para la aplicación.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new frmSitioTuristico());
        }
    }
}

frmSitioTuristico.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace PART
{
    public partial class frmSitioTuristico : Form
    {
        public frmSitioTuristico()
        {
            InitializeComponent();
        }
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Quiero visitar " + txtNombre.Text);
        }
    }
}
frmSitioTuristico.Designer.cs
namespace PART
{
    partial class frmSitioTuristico
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;
        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }
        #region Windows Form Designer generated code
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.txtNombre = new System.Windows.Forms.TextBox();
            this.lblNombre = new System.Windows.Forms.Label();
            this.lblProvincia = new System.Windows.Forms.Label();
            this.lblCanton = new System.Windows.Forms.Label();
            this.txtProvincia = new System.Windows.Forms.TextBox();
            this.txtCanton = new System.Windows.Forms.TextBox();
            this.btnGuardar = new System.Windows.Forms.Button();
            this.SuspendLayout();
            //
            // txtNombre
            //
            this.txtNombre.Location = new System.Drawing.Point(128, 75);
            this.txtNombre.Name = "txtNombre";
            this.txtNombre.Size = new System.Drawing.Size(100, 20);
            this.txtNombre.TabIndex = 0;
            //
            // lblNombre
            //
            this.lblNombre.AutoSize = true;
            this.lblNombre.Location = new System.Drawing.Point(53, 78);
            this.lblNombre.Name = "lblNombre";
            this.lblNombre.Size = new System.Drawing.Size(47, 13);
            this.lblNombre.TabIndex = 1;
            this.lblNombre.Text = "Nombre:";
            //
            // lblProvincia
            //
            this.lblProvincia.AutoSize = true;
            this.lblProvincia.Location = new System.Drawing.Point(65, 110);
            this.lblProvincia.Name = "lblProvincia";
            this.lblProvincia.Size = new System.Drawing.Size(54, 13);
            this.lblProvincia.TabIndex = 2;
            this.lblProvincia.Text = "Provincia:";
            //
            // lblCanton
            //
            this.lblCanton.AutoSize = true;
            this.lblCanton.Location = new System.Drawing.Point(65, 144);
            this.lblCanton.Name = "lblCanton";
            this.lblCanton.Size = new System.Drawing.Size(44, 13);
            this.lblCanton.TabIndex = 3;
            this.lblCanton.Text = "Cantón:";
            //
            // txtProvincia
            //
            this.txtProvincia.Location = new System.Drawing.Point(128, 107);
            this.txtProvincia.Name = "txtProvincia";
            this.txtProvincia.Size = new System.Drawing.Size(100, 20);
            this.txtProvincia.TabIndex = 4;
            //
            // txtCanton
            //
            this.txtCanton.Location = new System.Drawing.Point(128, 141);
            this.txtCanton.Name = "txtCanton";
            this.txtCanton.Size = new System.Drawing.Size(100, 20);
            this.txtCanton.TabIndex = 5;
            //
            // btnGuardar
            //
            this.btnGuardar.Location = new System.Drawing.Point(97, 190);
            this.btnGuardar.Name = "btnGuardar";
            this.btnGuardar.Size = new System.Drawing.Size(75, 23);
            this.btnGuardar.TabIndex = 6;
            this.btnGuardar.Text = "Guardar";
            this.btnGuardar.UseVisualStyleBackColor = true;
            this.btnGuardar.Click += new System.EventHandler(this.btnGuardar_Click);
            //
            // frmSitioTuristico
            //
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(292, 266);
            this.Controls.Add(this.btnGuardar);
            this.Controls.Add(this.txtCanton);
            this.Controls.Add(this.txtProvincia);
            this.Controls.Add(this.lblCanton);
            this.Controls.Add(this.lblProvincia);
            this.Controls.Add(this.lblNombre);
            this.Controls.Add(this.txtNombre);
            this.Name = "frmSitioTuristico";
            this.Text = "Sitio Turístico";
            this.ResumeLayout(false);
            this.PerformLayout();
        }
        #endregion
        private System.Windows.Forms.TextBox txtNombre;
        private System.Windows.Forms.Label lblNombre;
        private System.Windows.Forms.Label lblProvincia;
        private System.Windows.Forms.Label lblCanton;
        private System.Windows.Forms.TextBox txtProvincia;
        private System.Windows.Forms.TextBox txtCanton;
        private System.Windows.Forms.Button btnGuardar;
    }
}





Microsoft .NET- Assembly - CLR - CLS

Los recursos en esta dir: http://sdrv.ms/XokI9L
Sitio VS Portal Web

Un sitio puede ser dinámico o estático. Netamente es informativo. Por ejemplo Wikipedia.
Un portal web permite realizar transacciones por ejemplo el portal web de un banco.

Microsoft tiene su propia metodología de desarrollo de proyectos, pueden implementar o desarrollar diferentes tipos de proyectos.

El objetivo de TFS gestionar un proyecto, no importa si se usa cualquier metodología que pueden ser MSF, ágiles, pesadas. Sirve para gestionar las diferentes etapas del desarrollo. También permite usarlo con otras herramientas Microsoft.

Sharepoint permite gestionar documentos de office.

.NET es una plataforma de desarrollo.

Dentro del .NET Framework viene el CLR y el CL
En el .NET SDK incluye el .NET Framework, CLS y los lenguajes.

Que se abra una interfaz hace referencia al HW por lo que interviene el S.O. y los API.
Exactamente en el .exe hay el programa de máquina que hace que se ejecute el programa.
Cuando se generan los ejecutables se escriben las instrucciones en el lenguaje de máquina 0 y 1's, por lo que cada máquina tiene su propio CHIPSET, entonces por mas que sea la misma máquina y se use el mismo ejecutable en otra máquina de las mismas características no se va a ejecutar, entonces ahí interviene el CLS ahí se genera un archivo .MSI es un código intermedio, es un código generado a partir de la máquina donde se compiló el programa. El .net framework es el que interpreta el msi y lo traduce a lenguaje de máquina.

JIT llama a las librerías justo en el momento en que las necesita.

Las arquitecturas están compuestas por componentes. En .NET no se llaman Assemblies = componentes.

Se puede simular multithreading. 

Qué es un Assembly?
Es la únidad mínima de ejecución, distribución, instalación y versionado de aplicaciones .NET
Es como que fuera el átomo, no hay más división. Lo mínimo que debe existir para ejecutar, distribuir, instalar y versionado aplicaciones .NET.

La Metadata permite identificar al código MSIL.

Las aplicaciones de consola están conformadas por un solo assembly. En el caso de una aplicación de escritorio o web necesitará mas de uno porque ubica los componentes.

Namespace: Conjunto de clases y métodos relacionados por ejemplo IO (Teclado, Mouse, Impresora, Touch)
Pueden tener gerarquías.
Es similar a los packages en Java.

Diapositiva 26.

Leer SOA - BPM

Microsoft .NET - Introducción - WPF - WCF - WWF


WPF
Tecnología para implementción de interfaces en .net
se divide en 2 Silverlight(aplicaciones flash - aplic Windows) y WPF/XAML (aplicaciones Web)
Conjuntos de name spaces para implementar en las interfaces.

Cuando se tiene una interfaz muy sobrecargada de elementos gráficos se sobre carga y consume muchos recursos mientras que 

WCF
Marco de trabajo para el desarrollo de aplicciones enfocadas a la entrega de servicios, Aplicaciones bancarias, transacciones, chat en línea, sistemas asíncronos.

Sistemas asíncronos: Sistema distribuido, con arquitectura C-S pero no del sistema sino en los mensajes que se envían entre el cliente y listener.
Los mensajes se reciben sin excepción todos y envía un mensaje de que si recibió la instrucción, mientras el cliente puede seguir haciendo otras cosas, el servidor atiende el mensaje (es decir lo procesa) y devuelve un mensaje de que ya se procesó satisfactoria o negativamente.

Síncronos tiene que esperar necesariamente a una respuesta para continuar con el trabajo. El listener es uno a la vez.


VISUAL STUDIO
Los cambios de versión se han hecho porque se cambian los paradigmas de desarrollo, programación.

VS 6 aprox. HASTA EL 2000 framework 2.0 SE AGruparon las aplicaciones VB, VFox, XC, VJ

VS.net 
plataforma .net se la parcha en el 2003 y aparece una versión de framework.

VS2008 - fw 3.5 
Desempeño, escalabilidad, seguridad, ejecución, rendimiento
WPF, permite crear soluciones para distintos ambientes
Web developer.

VS2010 - FW 4.0
Cada uno brinda mas facilidades.
Ultimate: 
Premium: 
Professional: 
Developer: 

Team Foundation Server
Test
Everywher

VS 2012 - FW 4.5

Las herramientas de desarrollo no solamente brindan herramientas al programador, por lo que se preocupan en todo el ciclo de vida del desarrollo de software, por lo que complementó su entorno y creó TFS. TFS es una herramienta que permite manejar las fases ANÁLISIS  DISEÑO, IMPLEMENTACIÓN, PRUEBAS. Da una plantilla para la aplicación. También se preocupó por el control de versiones en anterioridad se manejaba VS ahora se llama Team Explorer.



API Capa de abstracción de los componentes, dll para la interacción entre el sistema y la aplicación.
COM Paradigma de programación, es un dll con mas características, por lo que evolucionó a MFC Microsoft Clases

Servidor de Aaplicaciones Tomcat, o el IIS.

JVM es multiplataforma mientras que .net no lo es.

JVM es similar a .NET framework
Compact para móviles 

Info extra WPF - WCF - WWF




Leer TFS
Identificar las nuevas características del VS2012.