Download - ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor [email protected] David Salgado Microsoft División.

Transcript
Page 1: ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División.

““ORCAS”ORCAS”

La nueva generación de Visual StudioLa nueva generación de Visual Studio

Octavio HernándezOctavio HernándezPlain ConceptsPlain Concepts

Developer AdvisorDeveloper [email protected]@plainconcepts.com

David SalgadoDavid SalgadoMicrosoft Microsoft División de desarrollo y PlataformaDivisión de desarrollo y [email protected]@microsoft.com

Page 2: ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División.

¿Qué hay de nuevo en “Orcas”?¿Qué hay de nuevo en “Orcas”?

Page 3: ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División.

¿Qué hay de nuevo en “Orcas”?¿Qué hay de nuevo en “Orcas”?

LINQLINQ

Page 4: ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División.
Page 5: ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División.

“Your software, our passion”

Page 6: ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División.

WPFWPF

Page 7: ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División.

AJAXAJAX

WPFWPF

Page 8: ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División.

AJAXAJAX

WCF / WFWCF / WF

WPFWPF

Page 9: ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División.

AJAXAJAX

WCF / WFWCF / WF

Office Office

WPFWPF

Page 10: ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División.

AJAXAJAX

WCF / WFWCF / WF

Office Office

WPFWPF

……

Page 11: ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División.

Siguiente VSTS/TFS

Page 12: ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División.

Siguiente VSTS/TFS“Integrated solutions, not just tools”

Page 13: ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División.

RequisitosRequisitos

Page 14: ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División.

TestingTesting

RequisitosRequisitos

Page 15: ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División.

TestingTesting

ReportingReporting

RequisitosRequisitos

Page 16: ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División.

TestingTesting

ReportingReporting

ManagementManagement

RequisitosRequisitos

Page 17: ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División.

TestingTesting

ReportingReporting

ManagementManagement

RequisitosRequisitos

DSIDSI

Page 18: ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División.

TestingTesting

ReportingReporting

ManagementManagement

RequisitosRequisitos

……

DSIDSI

Page 19: ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División.

IDE “ORCAS”IDE “ORCAS”

Page 20: ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División.

LINQLINQ

Page 21: ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División.

IEnumerable<Film> dramas = from f in Film.Datos where f.Género == Género.Drama select new { f.Nombre, f.Año };

Expresiones de consulta

Page 22: ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División.

IEnumerable<Film> dramas = from f in Film.Datos where f.Género == Género.Drama select new { f.Nombre, f.Año };

var dramas = Film.Datos .Where(f => f.Género == Género.Drama) .Select(f => new { f.Nombre, f.Año });

Expresiones de consulta

Page 23: ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División.

IEnumerable<Film> dramas = from f in Film.Datos where f.Género == Género.Drama select new { f.Nombre, f.Año };

var dramas = Film.Datos .Where(f => f.Género == Género.Drama) .Select(f => new { f.Nombre, f.Año });

Expresiones de consulta

Métodos extensores

Expresiones lambda

Inicializadores de objetosTipos

anónimos

Inferencia de tipo de variables

localesÁrboles de

expresiones

Page 24: ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División.

LINQ to ObjectsLINQ to Objects

Page 25: ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División.

• HoyHoyXmlDocument doc = new XmlDocument();XmlElement films = doc.CreateElement(“films");foreach (Film f in Film.Datos) if (f.Género == Género.Drama) { XmlElement elem = doc.CreateElement(“film"); XmlElement n = doc.CreateElement("nombre"); n.InnerText = f.Nombre; elem.AppendChild(n); XmlElement a = doc.CreateElement(“año"); a.InnerText = f.Año; elem.AppendChild(a); films.AppendChild(elem); }doc.AppendChild(films);doc.Save(“DRAMAS.XML”);

<films> <film> <nombre>CASABLANCA</nombre> <anno>1942</anno> </film> …</films>

Modeloimperativo

Orientado al documento

Sin consultas integradas

Alta exigencia de memoria

Page 26: ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División.

• Con LINQ to XMLCon LINQ to XML

• Sintaxis especial en VB 9.0Sintaxis especial en VB 9.0

XElement films = new XElement(“films", from f in Film.Datos where f.Género == Género.Drama select new XElement(“film", new XElement("nombre", f.Nombre), new XElement(“año", f.Año)));Films.Save(“DRAMAS.XML”);

Modelo declarativo

Orientado a elementos

Consultas integradas

Más compacto y rápido

Page 27: ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División.

LINQ to XMLLINQ to XML

Page 28: ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División.

• HoyHoySqlConnection c = new SqlConnection(cadenaCon);c.Open();SqlCommand cmd = new SqlCommand( @"SELECT c.NombreApellidos FROM Personas WHERE Sexo = @p0“, c);cmd.Parameters.AddWithValue("@p0", sexo);DataReader dr = cmd.ExecuteReader();while (dr.Read()) { string nombreApellidos = dr.GetString(0);}dr.Close();

Consultas entre comillas

Parámetros sin control de tipos

estricto

Resultados sincontrol de tipos

estricto

Sin comprobación del compilador

Page 29: ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División.

• Con LINQ to SQLCon LINQ to SQLpublic class Persona { … }

public class FilmsDataContext : DataContext{ public Table<Persona> Personas; …}

var db = new FilmsDataContext();var delMismoSexo = from f in db.DBPersonas where f.Sexo == sexo select f.NombreApellidos;

Clases que describen los

datos

Conexiones fuertemente

tipadas

Consultas integradas

Resultados fuertemente

tipados

Tablas como colecciones

Page 30: ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División.

LINQ to SQLLINQ to SQL

Page 31: ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División.
Page 32: ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División.

• Mapeado lógico/físicoMapeado lógico/físico– Por defecto, 1:1 con la BB.DD.Por defecto, 1:1 con la BB.DD.– Modelo de datos basado en ENTIDADESModelo de datos basado en ENTIDADES

•Proveedor de mapeadoProveedor de mapeado•Entidades, relaciones, herenciaEntidades, relaciones, herencia

– Renombrar tablas y campos, crear jerarquías entre Renombrar tablas y campos, crear jerarquías entre tablas, eliminar las “tablas de relación”, etc.tablas, eliminar las “tablas de relación”, etc.

– FlexibilidadFlexibilidad– Acceso al proveedor del almacén en caso Acceso al proveedor del almacén en caso

necesarionecesario

Page 33: ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División.

• MSDNMSDN– http://msdn.microsoft.com/data/ref/linq/

• MSDN en castellanoMSDN en castellano– http://www.microsoft.com/spanish/msdn/articulo

s/architec/fecha/2007.mspx• Especificación de C# 3.0Especificación de C# 3.0• El proyecto LINQEl proyecto LINQ• Operadores de consulta estándar de .NETOperadores de consulta estándar de .NET• Acceso a datos de próxima generaciónAcceso a datos de próxima generación• Presentación técnica de ADO.NETPresentación técnica de ADO.NET• El Marco de Entidades de ADO.NETEl Marco de Entidades de ADO.NET

Page 34: ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División.

• dotNetManíadotNetManía– ““Lo que nos traerá Orcas”Lo que nos traerá Orcas”

• Novedades en C# 3.0 (Nº 24, marzo de 2006) Novedades en C# 3.0 (Nº 24, marzo de 2006) • La tecnología LINQ (Nº 25)La tecnología LINQ (Nº 25)• VB 9.0 y LINQ (Nº 27)VB 9.0 y LINQ (Nº 27)• LINQ to XML (Nº 29)LINQ to XML (Nº 29)• LINQ to DataSet (Nº 32)LINQ to DataSet (Nº 32)• LINQ to SQL (Nº 36, abril de 2007)LINQ to SQL (Nº 36, abril de 2007)• Serie sobre ADO.NET vNext y LINQ to Entities (próxima aparición)Serie sobre ADO.NET vNext y LINQ to Entities (próxima aparición)

• Web de “El Guille”Web de “El Guille”– http://www.elguille.info/

Page 35: ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División.