Visual Studio 11, nuevas fronteras de la programación .NET Luis Alfonso Rey | 9º Encuentro Danysoft en Microsoft 9º Encuentro Danysoft en Microsoft | www.danysoft.com | 902 123146 Agenda • Novedades generales • La Web • Aplicaciones Metro 9º Encuentro Danysoft en Microsoft | www.danysoft.com | 902 123146 9º Encuentro Danysoft en Microsoft | www.danysoft.com | 902 123146 Novedades del entorno • • • • • • • Compatibilidad entre proyectos de VS10 y VS11 Mejoras en las búsquedas y las barras de herramientas Mejoras en el explorador de soluciones Gestión de documentos mejorada Buscar y reemplazar mejorados Nuevo diálogo para agregar referencias Mejoras de rendimiento 9º Encuentro Danysoft en Microsoft | www.danysoft.com | 902 123146 …Y C++ • • • • • IntelliSense Code Snippets Resaltado de referencias Colorización semántica Creación de nuevos snippets y plantillas 9º Encuentro Danysoft en Microsoft | www.danysoft.com | 902 123146 Novedades de lenguaje • Programación asíncrona • Métodos “Async” • Invocaciones await • Task “WhenAll” o “WhenAny” • Nuevo visualizador de concurrencias • Información del llamante public void TraceMessage(string message, [CallerMemberName] string memberName = "", [CallerFilePath] string sourceFilePath = "", [CallerLineNumber] int sourceLineNumber = 0) 9º Encuentro Danysoft en Microsoft | www.danysoft.com | 902 123146 Novedades C++ • Soporte mejorado de estandares C++11 • Mejoras en la Standard Template Library • Expresiones lambda sin estado • Iteradores SCARY • Estructura for-range-declaration : expression • Compilador y linker Visual C++ • Auto-vectorizer y Auto-parallelizer, reorgainazar iteraciones para ejecutarlas en paralelo cuando sea posible. 9º Encuentro Danysoft en Microsoft | www.danysoft.com | 902 123146 Novedades Javascript • Strict Mode. Restricciones de ejecución y comprobación de errores • Arrays tipados • Windows Runtime en aplicationes "Metro style" • Background workers 9º Encuentro Danysoft en Microsoft | www.danysoft.com | 902 123146 NET Framework 4.5 • Mejoras generales • Reducción de los reinicios necesarios en la instalación • Operaciones con ficheros asíncronos • Compilación JIT en background y multicore • Networking • Nuevo interfaz de programación para ap. HTTP • WCF • Mejoras para el desarrollo • Streaming asíncrono • WF • Mejoras en el diseñador • Máquinas de estado • WPF • Ribbon control • Mejoras de rendimiento en la presentación de datos 9º Encuentro Danysoft en Microsoft | www.danysoft.com | 902 123146 Herramientas Gráficas • • • • • Nuevos editores de texturas e imagenes Inspector de modelos 3D Nueva primitiva 3D para la generación de materiales Shaders DirectX programables(HLSL) Depurador de gráficos DirectX 9º Encuentro Danysoft en Microsoft | www.danysoft.com | 902 123146 Data Application Development • SQL Server Object Explorer aporta una experiencia similar a SQL Server Management Studio • Nuevo diseñador gráfico de tablas que aporta un información de los objetos relacionados • SQL Server Express LocalDB engine 2012 9º Encuentro Danysoft en Microsoft | www.danysoft.com | 902 123146 9º Encuentro Danysoft en Microsoft | www.danysoft.com | 902 123146 9º Encuentro Danysoft en Microsoft | www.danysoft.com | 902 123146 Visual Studio 11 • HTML 5 / CSS 3 / Javascript • Soporte completo para HTML 5 / CSS • JavaScript basado en el motor Chakra de IE 9 • La vista de código soporta: • Diseñadores de Web Form • Diseñadores de Eventos • Crear un control desde marcado • Page Inspector • Page Inspector proporciona una vista “viva” de la página • El editor y el navegador están siempre sincronizados 9º Encuentro Danysoft en Microsoft | www.danysoft.com | 902 123146 ASP.NET Runtime • Las librerías de scripts se incluyen como paquetes NuGet • • • • nunca se desactualizan Optimización empaquetando y minimizado scripts y stylesheets Soporta “await” y programación asincrona Soporte de proveedores universales Membership, Profile, Role, Session Mejoras en el comportamiento del RequestValidation 9º Encuentro Danysoft en Microsoft | www.danysoft.com | 902 123146 Otras novedades • • • • • • • Mejoras de Data Annotations Mejoras de rendimiento Uploads > 2GB Librerías Anti-XSS Modulos de administración ASP.NET Soporte Multi-Version IIS Express 9º Encuentro Danysoft en Microsoft | www.danysoft.com | 902 123146 ASP.NET Web Forms • HTML 5 • • Text • <asp:TextBox runat=“server” TextMode=“Date” /> Multiline Password • Compatibilidad con navegadores antiguos Color • Adaptación automática al tamaño del dispositivo Date DateTime Request Validation más granular DateTimeLoc • <asp:TextBox id="Description" runat="server" AllowHtml="true" al /> Email Month Strongly Typed Data Expressions Number • Intellisense Range Search • Convertir los errores de compilación en diseño Phone • <asp:FormView ModelType="Customer"> Time Url Week 9º Encuentro Danysoft en Microsoft | www.danysoft.com | 902 123146 ASP.NET Web Forms Model Binders • Alternativa a DataSourceControl • Métodos en la página para las operaciones • Soporte automático para anotaciones DynamicField, DynamicControl Update Method: <asp:GridView runat="server" ID="gvCustomers" Select Method: public void UpdateCustomer(Customer custom … public er) { IQueryable<Customer> SelectCustomers( SelectMethod="SelectCustomers" ) {UpdateMethod="UpdateCustomer" DemoContext db = new DemoContext(); DeleteMethod="DeleteCustomer"> DemoContext db = new DemoContext(); try { <Columns> return if db.Customers; (ModelState.IsValid) { <asp:DynamicField DataField="Id" /> DataField="FirstName" /> } <asp:DynamicField db.AttachAsModified(customer); </Columns> db.SaveChanges(); </asp:GridView> } else { } <asp:ValidationSummary runat="server" DisplayMode="BulletList“ } catch (System.Data.DataException ex) { ShowModelStateErrors="true" /> } } ModelState.AddModelError("", ex); 9º Encuentro Danysoft en Microsoft | www.danysoft.com | 902 123146 ASP.NET Web Forms Ubobtrusive Javascript <script src="/WebResource.axd?d=xbnsY67TzSh7_MtLOVi1NfHY_FUziZBaN29xfk2kjijolFWl9CXR9moC 050QP957sCgwIktcm_EZNwGcLpiV3xIaqdr5pPL-eR-KzJYcJjk1&amp;t=634311370649037323" type="text/javascript"></script> <input name="txtFirstName" type="text" id="txtFirstName" /> <span id="rfvFirstName" style="visibility:hidden;">Please enter a value for First Name</span> <script type="text/javascript"> //<![CDATA[ var rfvFirstName = document.all ? document.all["rfvFirstName"] : document.getElementById("rfvFirstName"); rfvFirstName.controltovalidate = "txtFirstName"; rfvFirstName.errormessage = "Please enter a value for First Name"; rfvFirstName.evaluationfunction = "RequiredFieldValidatorEvaluateIsValid"; rfvFirstName.initialvalue = ""; //]]> </script> <script type="text/javascript"> //<![CDATA[ • Marcado más claro • Se soportan librerías de validación personalizables (jQueryValidate por defecto) <script src="Scripts/jQuery-1.4.4.js" type="text/javascript"></script> <script src="Scripts/jQuery.validate.js" type="text/javascript"></script> <script src="Scripts/jQuery.validate.unobtrusive.js" type="text/javascript"></script> <input name="txtFirstName" type="text" id="txtFirstName" data-val="true" var Page_ValidationActive = false; data-val-focusonerror="false" data-val-required="Please enter a value for if (typeof(ValidatorOnLoad) == "function") { First Name" />ValidatorOnLoad(); } <span id="rfvFirstName" class="field-validation-valid" data-valmsgfunction ValidatorOnSubmit() { for="txtFirstName" data-valmsg-replace="true"></span> if (Page_ValidationActive) { } return ValidatorCommonOnSubmit(); } else { return true; } //]]> </script> 9º Encuentro Danysoft en Microsoft | www.danysoft.com | 902 123146 ASP.NET MVC 4 • Soporte para desarrollo móvil • Aplicaciones “Single Page” • WCF Web API • • • • • • • ASP.NET Routing Model binding Validación Filtros Generación de Links Fácil de probar Dependency resolver • Moderno modelo de • • • • • programacíon HTTP Asyncronía basada en tareas Negociación de contenido Composición de query en servidor Cliente de prueba y página de ayuda Auto alojado 9º Encuentro Danysoft en Microsoft | www.danysoft.com | 902 123146 Desarrollo para Sharepoint • Nuevos diseñadores para listas y tipos de contenidos (plantilla de columna de sitio). • Plantilla para crear Web Parts Silverlight • Publicación remota • Soporte de características de ALM como • Perfilador de rendimiento • Pruebas unitarias • Depuración con IntelliTrace • Web parts visuales en soluciones Sandboxed • Mejora de la experiencia de desarrollo con las aplicaciones Sandboxed • Intellisense y depuración para Javascript 9º Encuentro Danysoft en Microsoft | www.danysoft.com | 902 123146 9º Encuentro Danysoft en Microsoft | www.danysoft.com | 902 123146 9º Encuentro Danysoft en Microsoft | www.danysoft.com | 902 123146 Plataforma Windows 8 Kernel System Services Model Contr. View Metro style Apps XAML C C++ Desktop Apps HTML/CSS C# VB JavaScript WinRT APIs Communication & Data Graphics & Media HTML JavaScrip t C C+ + VB C# Internet Explore r Win3 2 .NE NE T SL Devices & Printing Application Model Windows Kernel Services 9º Encuentro Danysoft en Microsoft | www.danysoft.com | 902 123146 Diseño Metro • Tres influencias claves • Diseño moderno • Estilo tipográfico internacional • Diseño de movimiento, cinematográfico, vivo 9º Encuentro Danysoft en Microsoft | www.danysoft.com | 902 123146 Principios del diseño Metro Style • • • • • Orgulloso de la artesanía Rápido y fluido Autenticamente digital Hacer más con menos Muchos Windows como uno 9º Encuentro Danysoft en Microsoft | www.danysoft.com | 902 123146 Metro Style applications • Plantillas de proyecto Metro • Usando HTML and JavaScript • Usando XAML and C++, C#, or Visual Basic • Debugging • Simulador Metro • Depuración remota • Visual Studio IDE • Store menu • Empaquetamiento y subida de aplicaciones • Herramientas • Profiler • Análisis de código • Blend for Microsoft Visual Studio 11 9º Encuentro Danysoft en Microsoft | www.danysoft.com | 902 123146 9º Encuentro Danysoft en Microsoft | www.danysoft.com | 902 123146 Gestión activos software y libros 9º Encuentro Danysoft en Microsoft | www.danysoft.com | 902 123146 Formación, consultoría y seminarios 9º Encuentro Danysoft en Microsoft | www.danysoft.com | 902 123146 9º Encuentro Danysoft en Microsoft | www.danysoft.com | 902 123146