sábado, 22 de octubre de 2011

Información general y conceptual sobre .NET Framework


.NET Framework es un componente integral de Windows que admite la compilación y la ejecución de la siguiente generación de aplicaciones y servicios Web XML. El diseño de .NET Framework está enfocado a cumplir los objetivos siguientes:
  • Proporcionar un entorno coherente de programación orientada a objetos, en el que el código de los objetos se pueda almacenar y ejecutar de forma local, ejecutar de forma local pero distribuida en Internet o ejecutar de forma remota.
  • Proporcionar un entorno de ejecución de código que reduzca lo máximo posible la implementación de software y los conflictos de versiones.
  • Ofrecer un entorno de ejecución de código que promueva la ejecución segura del mismo, incluso del creado por terceras personas desconocidas o que no son de plena confianza.
  • Proporcionar un entorno de ejecución de código que elimine los problemas de rendimiento de los entornos en los que se utilizan scripts o intérpretes de comandos.
  • Ofrecer al programador una experiencia coherente entre tipos de aplicaciones muy diferentes, como las basadas en Windows o en el Web.
  • Basar toda la comunicación en estándares del sector para asegurar que el código de .NET Framework se puede integrar con otros tipos de código.
.NET Framework contiene dos componentes principales: Common Language Runtime y la biblioteca de clases de .NET Framework. Common Language Runtime es el fundamento de .NET Framework. El motor en tiempo de ejecución se puede considerar como un agente que administra el código en tiempo de ejecución y proporciona servicios centrales, como la administración de memoria, la administración de subprocesos y la comunicación remota, al tiempo que aplica una seguridad estricta a los tipos y otras formas de especificación del código que promueven su seguridad y solidez.De hecho, el concepto de administración de código es un principio básico del motor en tiempo de ejecución. El código destinado al motor en tiempo de ejecución se denomina código administrado, a diferencia del resto de código, que se conoce como código no administrado. La biblioteca de clases, el otro componente principal de .NET Framework, es una completa colección orientada a objetos de tipos reutilizables que se pueden emplear para desarrollar aplicaciones que abarcan desde las tradicionales herramientas de interfaz gráfica de usuario (GUI) o de línea de comandos hasta las aplicaciones basadas en las innovaciones más recientes proporcionadas por ASP.NET, como los formularios Web Forms y los servicios Web XML.
.NET Framework puede hospedarse en componentes no administrados que cargan Common Language Runtime en sus procesos e inician la ejecución de código administrado, con lo que se crea un entorno de software en el que se pueden utilizar características administradas y no administradas. En .NET Framework no sólo se ofrecen varios hosts de motor en tiempo de ejecución, sino que también se admite el desarrollo de estos hosts por parte de terceros.
Por ejemplo, ASP.NET hospeda el motor en tiempo de ejecución para proporcionar un entorno de servidor escalable para el código administrado. ASP.NET trabaja directamente con el motor en tiempo de ejecución para habilitar aplicaciones de ASP.NET y servicios Web XML, que se tratan más adelante en este tema.
Internet Explorer es un ejemplo de aplicación no administrada que hospeda el motor en tiempo de ejecución (en forma de una extensión de tipo MIME). Al usar Internet Explorer para hospedar el motor en tiempo de ejecución, puede incrustar componentes administrados o controles de Windows Forms en documentos HTML. Al hospedar el motor en tiempo de ejecución de esta manera se hace posible el uso de código móvil administrado (similar a los controles de Microsoft® ActiveX®), pero con mejoras significativas que sólo el código administrado puede ofrecer, como la ejecución con confianza parcial y el almacenamiento aislado de archivos.
En la ilustración siguiente se muestra la relación de Common Language Runtime y la biblioteca de clases con las aplicaciones y el sistema en su conjunto. En la ilustración se representa igualmente cómo funciona el código administrado dentro de una arquitectura mayor.
.NET Framework en contexto

Código administrado dentro de una arquitectura mayorEn las secciones siguientes se describen con más detalle los componentes y características principales de .NET Framework.
Common Language Runtime administra la memoria, ejecución de subprocesos, ejecución de código, comprobación de la seguridad del código, compilación y demás servicios del sistema. Estas características son intrínsecas del código administrado que se ejecuta en Common Language Runtime.
Con respecto a la seguridad, los componentes administrados reciben grados de confianza diferentes, en función de una serie de factores entre los que se incluye su origen (como Internet, red empresarial o equipo local). Esto significa que un componente administrado puede ser capaz o no de realizar operaciones de acceso a archivos, operaciones de acceso al Registro y otras funciones delicadas, incluso si se está utilizando en la misma aplicación activa.
El motor en tiempo de ejecución impone seguridad en el acceso al código. Por ejemplo, los usuarios pueden confiar en que un archivo ejecutable incrustado en una página Web puede reproducir una animación en la pantalla o entonar una canción, pero no puede tener acceso a sus datos personales, sistema de archivos o red. Por ello, las características de seguridad del motor en tiempo de ejecución permiten que el software legítimo implementado en Internet sea excepcionalmente variado.
Además, el motor en tiempo de ejecución impone la solidez del código mediante la implementación de una infraestructura estricta de comprobación de tipos y código denominada CTS (Common Type System, Sistema de tipos común). CTS garantiza que todo el código administrado es autodescriptivo. Los diversos compiladores de lenguaje de Microsoft y de otros fabricantes generan código administrado que se atiene al CTS. Esto significa que el código administrado puede consumir otros tipos e instancias administrados, al tiempo que se exige fidelidad de tipos y seguridad de tipos estrictamente.
Además, el entorno administrado del motor en tiempo de ejecución elimina muchos problemas de software comunes. Por ejemplo, el motor en tiempo de ejecución controla automáticamente la disposición de los objetos, administra las referencias a éstos y los libera cuando ya no se utilizan. Esta administración automática de la memoria soluciona los dos errores más comunes de las aplicaciones: la pérdida de memoria y las referencias no válidas a la memoria.
Además, el motor en tiempo de ejecución aumenta la productividad del programador. Por ejemplo, los desarrolladores pueden crear aplicaciones en el lenguaje que prefieran y seguir sacando todo el provecho del motor en tiempo de ejecución, la biblioteca de clases y los componentes escritos en otros lenguajes por otros colegas. El proveedor de un compilador puede elegir destinarlo al motor en tiempo de ejecución. Los compiladores de lenguajes que se destinan a .NET Framework hacen que las características de .NET Framework estén disponibles para el código existente escrito en dicho lenguaje, lo que facilita enormemente el proceso de migración de las aplicaciones existentes.
Aunque el motor en tiempo de ejecución está diseñado para el software del futuro, también es compatible con el software actual y el software antiguo. La interoperabilidad entre el código administrado y no administrado permite que los desarrolladores continúen utilizando los componentes COM y las DLL que necesiten.
El motor en tiempo de ejecución está diseñado para mejorar el rendimiento. Aunque Common Language Runtime proporciona muchos servicios estándar de motor en tiempo de ejecución, el código administrado nunca se interpreta. Una característica denominada compilación JIT (Just-In-Time) permite ejecutar todo el código administrado en el lenguaje máquina nativo del sistema en el que se ejecuta. Mientras tanto, el administrador de memoria evita que la memoria se pueda fragmentar y aumenta la zona de referencia de la memoria para mejorar aún más el rendimiento.
Por último, el motor en tiempo de ejecución se puede hospedar en aplicaciones de servidor de gran rendimiento, como Microsoft® SQL Server™ e Internet Information Services (IIS). Esta infraestructura permite utilizar código administrado para escribir lógica empresarial, al tiempo que se disfruta del superior rendimiento de los mejores servidores empresariales del sector que puedan hospedar el motor en tiempo de ejecución.
La biblioteca de clases de .NET Framework es una colección de tipos reutilizables que se integran estrechamente con Common Language Runtime. La biblioteca de clases está orientada a objetos, lo que proporciona tipos de los que su propio código administrado puede derivar funciones. Esto ocasiona que los tipos de .NET Framework sean sencillos de utilizar y reduce el tiempo asociado con el aprendizaje de las nuevas características de .NET Framework.Además, los componentes de terceros se pueden integrar sin dificultades con las clases de .NET Framework.
Por ejemplo, las clases de colección de .NET Framework implementan un conjunto de interfaces que puede usar para desarrollar sus propias clases de colección. Éstas se combinarán fácilmente con las clases de .NET Framework.
Como en cualquier biblioteca de clases orientada a objetos, los tipos de .NET Framework permiten realizar diversas tareas de programación comunes, como son la administración de cadenas, recolección de datos, conectividad de bases de datos y acceso a archivos. Además de estas tareas habituales, la biblioteca de clases incluye tipos adecuados para diversos escenarios de desarrollo especializados. Por ejemplo, puede utilizar .NET Framework para desarrollar los siguientes tipos de aplicaciones y servicios:
Por ejemplo, las clases de Windows Forms son un conjunto completo de tipos reutilizables que simplifican enormemente el desarrollo de interfaces GUI para Windows. Si escribe una aplicación Web Form de ASP.NET, puede utilizar las clases de formularios Web Forms.

Paseo rápido por el entorno de desarrollo integrado (IDE) Visual Studio 2010


En este tema se proporciona información general breve de muchas de las características y herramientas incluidas en Visual Studio para el desarrollo de aplicaciones.
La gama de productos de Visual Studio comparte un único entorno de desarrollo integrado (IDE) que se compone de varios elementos: la barra de menús, la barra de herramientas Estándar, varias ventanas de herramientas que se acoplan u ocultan automáticamente a la izquierda, en la parte inferior y a la derecha, así como en el espacio del editor. Las ventanas de herramientas, menús y barras de herramientas disponibles dependen del tipo de proyecto o archivo en el que esté trabajando.
Figura 1: IDE con la configuración de desarrollo general aplicada

IDE con configuración de desarrollo general aplicado.
Dependiendo de la configuración aplicada y de las subsiguientes personalizaciones que haya realizado, variará la colocación de las ventanas de herramientas y de otros elementos en el IDE. Puede cambiar la configuración mediante el Import and Export Settings Wizard. Al seleccionar la opción Restablecer todas las configuraciones, se puede cambiar el lenguaje de programación predeterminado.
Puede desplazarse y acoplar ventanas con facilidad mediante el rombo de guía visual u ocultar temporalmente las ventanas utilizando el comando Ocultar automáticamente. Para obtener más información, vea Cómo: Organizar y acoplar ventanas.
Puede utilizar el modelo de automatización de Visual Studio para automatizar y extender el IDE. Para obtener más información, vea Personalizar, automatizar y ampliar el entorno de desarrollo.
Las soluciones y los proyectos contienen elementos en forma de referencias, conexiones de datos, carpetas y archivos necesarios para crear la aplicación. Un contenedor de tipo solución puede contener varios proyectos y un contenedor de tipo proyecto normalmente contiene varios elementos. Para obtener más información, vea Soluciones como contenedores y Proyectos como contenedores.
El Solution Explorer muestra soluciones, sus proyectos y los elementos incluidos en dichos proyectos. En el Explorador de soluciones, puede abrir archivos para editar, agregar nuevos archivos a un proyecto y ver las propiedades de las soluciones, proyectos y elementos.
Figura 2: Explorador de soluciones

Ventana Explorador de soluciones
El editor y los diseñadores que utilice dependerán del tipo de archivo o documento que esté creando. El Editor de texto es el procesador de textos básico del IDE, mientras que el Editor de código es el editor de código fuente básico.
Otros editores, como el Editor CSS, el Diseñador HTML y el Diseñador de páginas Web, comparten muchas de las características del Editor de código, junto con mejoras específicas en el tipo de código o de marcado admitido.
Los editores y diseñadores normalmente tienen dos vistas: una vista de diseño gráfica y la vista de código subyacente o vista de código fuente. La vista de diseño le permite especificar la ubicación de los controles y otros elementos en la interfaz de usuario o la página web. Puede arrastrar controles desde el cuadro de herramientas y colocarlos en la superficie de diseño.
Figura 3: Diseñador de páginas Web, vista Diseño

Diseñador de páginas Web, vista Diseño
La vista Código fuente muestra el código fuente del archivo o documento. Esta vista admite ayudas de codificación como IntelliSense, secciones de código plegables, Refactorización (C#) e inserción de fragmentos de código. Otras características incluyen el ajuste automático de línea, los marcadores y la visualización de números de línea, por citar algunos. Para obtener más información, vea Funciones y comandos prácticos del editor.
Figura 4: Diseñador de páginas Web, vista Código fuente

Diseñador de páginas Web, vista Código fuente
Algunos editores, como el Diseñador de páginas web y el Diseñador XAML, también proporcionan una vista híbrida que le permite ver la vista del gráfico y del código de un archivo simultáneamente. Esta vista se llama la Vista dividida.
Figura 5: Diseñador de páginas web, Vista dividida

Vista de la ficha Dividir del Diseñador HTML
Visual Studio proporciona un sólido conjunto de herramientas de compilación y depuración. Con las configuraciones de compilación puede seleccionar los componentes que se van a generar, excluir los que no se van a generar y determinar cómo se van a generar los proyectos seleccionados y en qué plataforma. Puede tener configuraciones de compilación para soluciones y para proyectos. Para obtener más información, vea Cómo: Crear y editar configuraciones y Versiones de generación durante el desarrollo de una aplicación.
Cuando genera, está comenzando el proceso de depuración. La compilación de la aplicación le ayuda a detectar errores de compilación. Estos errores pueden deberse a una sintaxis incorrecta, a palabras clave mal escritas o a divergencias entre los tipos. La Resultados (Ventana) muestra estos tipos de errores.
Figura 6: Ventana de salida con información de compilación

Ventana Resultados con información de generación
Después de generar la aplicación, puede utilizar el depurador para detectar y corregir problemas como errores lógicos y semánticos que se descubren en tiempo de ejecución. En el modo de interrupción, puede examinar las variables locales y otros datos pertinentes utilizando herramientas como Ventanas de variables y Memoria (Ventana).
Figura 7: Formulario de Visual Basic en el modo de interrupción

Ejemplo de punto de interrupción de depuración en Visual Basic
Figura 8: Ventanas de herramientas de depuración

Herramientas de depuración
La Lista de errores (Ventana) muestra errores, advertencias y otros mensajes relacionados con la depuración.
Para obtener más información, vea Guía básica del depurador.
Visual Studio proporciona dos estrategias de implementación diferentes: ClickOnce y Windows Installer. Con la implementación de ClickOnce, publica la aplicación en una ubicación centralizada y el usuario instala o ejecuta la aplicación desde esa ubicación. La implementación de Windows Installer permite empaquetar la aplicación en un archivo setup.exe y distribuir ese archivo entre los usuarios; ellos ejecutan el archivo setup.exe para instalar la aplicación. Para ver una comparación detallada, consulte Elegir una estrategia de implementación.
ClickOnce permite implementar rápidamente aplicaciones mediante el Asistente para publicación.
Figura 9: Asistente para publicación

Asistente para publicación
La implementación de Windows Installer proporciona mayor flexibilidad para implementar aplicaciones. Varios editores, como el Editor de acciones personalizadas y el Editor de la interfaz de usuario, permiten personalizar Windows Installer para satisfacer sus necesidades de implementación. Para crear un archivo de instalación básico, utilice el Editor del sistema de archivos, para especificar qué elementos desea implementar.
Figura 10: Editor del sistema de archivos

Editor del sistema de archivos de Windows Installer
Para obtener más información, vea Windows Installer Deployment Tasks y Editores de implementación.
Para obtener acceso a la Ayuda, puede presionar F1 en el IDE o hacer clic en Documentación de Visual Studio en el menú Ayuda. La documentación de la Ayuda se muestra en el explorador web. Puede utilizar la Ayuda instalada localmente o MSDN en pantalla y otros de recursos en pantalla para obtener ayuda.
Figura 11: Ayuda en la ventana del explorador

Página de búsqueda de la Ayuda
Fuente: Micorsoft

Reciclarán satélites obsoletos que orbitan alrededor de la Tierra


Agencia de Investigación de Proyectos Avanzados de Defensa de los EE.UU. desarrollará pequeños satélites con los componentes útiles de la llamada basura espacial.

Alrededor de la Tierra hay todo un basurero de decenas y decenas de satélites obsoletos y por eso, descartados por sus propietarios. Si bien los objetos deambulan sin ninguna orientación, inevitablemente en cualquier momento podrían caer contra nuestro planeta.
Ahora, la Agencia de Investigación de Proyectos Avanzados de Defensa de los Estados Unidos (DARPA, por sus siglas en inglés) señaló que muchos de los componentes de estos satélites aún son útiles y para aprovecharlos, prepara una interesante propuesta.
DARPA espera reciclar en el mismo espacio los dispositivos que aún tengan utilidad a través del programa Phoenix. De esta manera, se producirán nuevos satélites a partir de los desechados.
Para cumplir con la iniciativa se emplearán robots especializados en operaciones quirúrgicas a distancia y sistemas de cámaras. Así se desarrollarán unos robots-técnicos especializados, operados desde la Tierra, que serán capaces de crear “satlets” o pequeños mini-satélites para nuevas misiones.

Fuente RPP

Google mostró el nuevo look de Gmail por error


  • Representante de Gmail, Andrea Freund, reconoce que el video se filtró por error.
Entre los cambios destacan mayor espacio en blanco, mejor utilización de los colores y mayores opciones para optimizar el uso de esta cuenta.

Google lanza Apps, Search Appliance y la esperada Chromebook| RPP

Las Llamadas desde Gmail ahora disponible en más países| PUB

Microsoft parodia servicio de correo electrónico de Google| RPP

Google difundió por error el nuevo diseño de su popular cuenta de correo electrónico Gmail, que aún no ha sido activado, a través de un video que colgó en su canal de Youtube y en el que aparece Jason Cornwell, diseñador de experiencia del usuario.
Cuando los directivos de la empresa se percataron de esta difusión, el material audiovisual fue retirado de la red, no obstante algunos internautas lograron descargarlo para luego compartirlo a otros usuarios.
Entre los cambios destacan mayor espacio en blanco, mejor utilización de los colores y mayores opciones para optimizar el uso de esta cuenta.
La web Mashable logró contactar a la representante de Gmail, Andrea Freund, quien dijo que el video se filtró por error."Pronto compartiremos más información sobre el nuevo look",agregó.

fuente RPP

viernes, 21 de octubre de 2011

Fiscales sobrevuelan el Colca por diligencias del caso Ciro Castillo-Rojo


Los representantes del Ministerio Público partieron de la Ciudad Blanca al promediar las 15:10 horas y en el valle del Colca sobrevolaron Tapay y Cabanaconde.


Los fiscales del Ministerio Público de Arequipa, a cargo de las investigaciones del desaparecido universitario Ciro Castillo-Rojo, sobrevuelan el valle del Colca, provincia de Caylloma, como parte de las diligencias del cadáver hallado en la zona.
A bordo del helicóptero de la Policía Nacional PNP-501, la fiscal María del Rosario Lozada Sotomayor, junto al presidente de la Junta de Fiscales Superiores, Jesús Fernández Alarcón, se encuentra en el Colca acompañados del jefe de la Undécima Dirección Territorial Policial, general Víctor Rojas Herrera, y cuatro especialistas forenses.
Los representantes del Ministerio Público partieron del aeropuerto Alfredo Rodríguez Ballón de la Ciudad Blanca al promediar las 15:10 horas y en el valle del Colca sobrevolaron los distritos de Tapay y Cabanaconde.
Fue en la víspera, que la fiscal María del Rosario Lozada confirmó el hallazgo de restos humanos en una zona alejada y agreste del nevado Bomboya, iniciándose las coordinaciones respectivas para iniciar las diligencias y determinar si los restos corresponden al desparecido universitario Ciro Castillo-Rojo.
Lea más noticias de la región Arequipa

Fuente RPP

jueves, 20 de octubre de 2011

Plantillas web en flash gratis: Flashmo

En Flashmo podemos encontrar muchas plantillas web en flash gratis.

En Flashmo, además de plantillas web en flash gratis, podemos encontrar galerías de fotos en flash, galerías de fotos en 3d, presentaciones en flash, y archivos con extensión fla.

En resumen, Flashmo es un excelente sitio para webmasters, con gran variedad deplantillas web en flash gratis.

Link: Flashmo - Flash Templates - Plantillas web en flash gratis

miércoles, 19 de octubre de 2011

Windows Forms DataGridView Maestro/ Detalle


Introduction

This example demonstrates a Windows Forms equivalent to the Microsoft Access one-to-many form by binding a DataSet containing a DataRelation between 2 DataTables to a DataGridView resulting in Parent/Child views.

Building the Sample

This sample was built using Visual Studio 2010.
Description
In Microsoft Access you can create a form that contains a subform (a one-to-many form) which is useful when working with relational data.  For this sample we'll use the Customer Orders scenario giving the user a way to view both Customer and related Order data at the same time by creating a Parent/Child view on a Windows Form using DataGridViews.  This is accomplished through the use of a DataRelation between two DataTable objects in a DataSet which are bound to DataGridViews.
Below is a code snippet from Form1.cs which creates the DataSet, DataTables, DataRelation, adds test data, and binds the data to DataGridViews.
The purpose of this sample is to fulfill a code sample request.  I hope this helps.
C#
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 FormSubformEquivalent 
{ 
    /// <summary> 
    /// This class demonstrates the use of DataTables and DataRelations, 
    /// creating Master/Child views to mimic a one-to-many form  
    /// (form/subform) in Microsoft Access.  This should be considered a  
    /// starting point. 
    /// </summary> 
    public partial class Form1 : Form 
    { 
        private DataTable tblCustomer; 
        private DataTable tblOrder; 
        private DataSet tblDataSet; 
 
        public Form1() 
        { 
            InitializeComponent(); 
 
            // Create Tables 
            tblCustomer = new DataTable("tblCustomer"); 
            tblOrder = new DataTable("tblOrder"); 
 
            // Create DataSet 
            tblDataSet = new DataSet(); 
 
            // Create Columns and Add to Tables 
            tblCustomer.Columns.Add("ID", typeof(int)); 
            tblCustomer.Columns.Add("CustomerName", typeof(string)); 
            tblOrder.Columns.Add("ID", typeof(int)); 
            tblOrder.Columns.Add("Order", typeof(string)); 
            tblOrder.Columns.Add("CustomerID", typeof(int)); 
 
            // Add Test Data 
            tblCustomer.Rows.Add(1, "Jane Doe"); 
            tblCustomer.Rows.Add(2, "John Smith"); 
            tblCustomer.Rows.Add(3, "Richard Roe"); 
            tblOrder.Rows.Add(1, "Order1.1", 1); 
            tblOrder.Rows.Add(2, "Order1.2", 1); 
            tblOrder.Rows.Add(3, "Order1.3", 1); 
            tblOrder.Rows.Add(4, "Order2.1", 2); 
            tblOrder.Rows.Add(5, "Order3.1", 3); 
            tblOrder.Rows.Add(6, "Order3.2", 3); 
             
            // Add Tables to DataSet 
            tblDataSet.Tables.Add(tblCustomer); 
            tblDataSet.Tables.Add(tblOrder); 
 
            // Create Relation 
            tblDataSet.Relations.Add("CustOrderRelation", 
                tblCustomer.Columns["ID"], tblOrder.Columns["CustomerID"]); 
 
            BindingSource bsCustomer = new BindingSource(); 
            bsCustomer.DataSource = tblDataSet; 
            bsCustomer.DataMember = "tblCustomer"; 
 
            BindingSource bsOrder = new BindingSource(); 
            bsOrder.DataSource = bsCustomer; 
            bsOrder.DataMember = "CustOrderRelation"; 
 
            // Bind Data to DataGridViews 
            dgvCustomer.DataSource = bsCustomer; 
            dgvOrder.DataSource = bsOrder; 
        } 
    } 
}