Post on 15-Dec-2015
description
Ahmed SalijeeISV Developer AdvisorMicrosoft South Africa
ahmeds@microsoft.com
Ahmed SalijeeISV Developer Advisor and VSTS GuyMicrosoft South Africa
ahmeds@microsoft.com
Target Windows Vista and .NET Framework 3.0 developmentCreate Microsoft Office applicationsHandle data more smoothlyEnable new web experiencesImproves application life-cycle management (ALM)
Introduction/Core BitsVisual Studio “Orcas” features for:
Programmability and Data AccessServer DevelopmentWeb DevelopmentWindows DevelopmentOffice DevelopmentMobile DevelopmentDevelopment Lifecycle
IDEMulti-targeting
MSBuild Parallel/Multi-Processor Builds UAC Manifests in the Managed Build Process
Unit TestingIn Pro Edition
Visual Studio “Orcas” supports targeting multiple versions of the .NET Framework
Choose which Framework version to target when opening or creating an application
.NET Framework 2.0 (“Whidbey”)
.NET Framework 3.0 (Vista)
.NET Framework 3.5 (“Orcas”)
Visual Studio IDE only shows feature appropriate for your selected target version
Toolbox, Add New Item, Add Reference, Add Web Reference, Intellisense, etcObject Browser Support
Add-in ModelDesigned to help solve versioning, isolation, and security issues for hosting applications (i.e., MSN Messenger, etc)Gives builders of host applications consistent infrastructure and patterns for adding an extensibility model to their application
Library FeaturesDateTimeOffset: date/times with time zoneTimeZoneInfo: a much improved time zone classHashSet: a useful set classSuite B cryptography support: classes for new crypto algorithms in Windows VistaETW support: managed classes for ETW tracing in Windows VistaPeer Networking ClassesWMI Provider Extension ++
Engine FeaturesTargeted features for key scenarios: GC, code genReflection in partial trustLots of bug fixes
Introduction/Core BitsVisual Studio “Orcas” features for:
Programmability and Data AccessServer DevelopmentWeb DevelopmentWindows DevelopmentOffice DevelopmentMobile DevelopmentDevelopment Lifecycle
var contacts = from c in customers where c.State == "WA" select new { c.Name, c.Phone };
var contacts = customers .Where(c => c.State == "WA") .Select(c => new { c.Name, c.Phone });
Extension methods
Lambda expressions
Query expressions
Object initializers
Anonymous types
Local variable type inference
Expression trees
Automatic properties
Partial methods
Implicitly typed localsExtension methodsLambda ExpressionsObject initializersAnonymous typesNullable typesQuery expressions XML LiteralsXML Literals
Dim x = 5Dim x = 5
<Extension><Extension> Sub Randomize(col As Collection)Sub Randomize(col As Collection)
Function(c) c.NameFunction(c) c.Name
New Point With { .x = 1, .y = 2 }New Point With { .x = 1, .y = 2 }
New With { c.Name, c.Phone }New With { c.Name, c.Phone }
From … Where … SelectFrom … Where … Select
If emp.DOB >= Today If emp.DOB >= Today
SqlConnection c = new SqlConnection(…);SqlConnection c = new SqlConnection(…);c.Open();c.Open();SqlCommand cmd = new SqlCommand(SqlCommand cmd = new SqlCommand( @"SELECT c.Name, c.Phone@"SELECT c.Name, c.Phone FROM Customers cFROM Customers c WHERE c.City = @p0");WHERE c.City = @p0");cmd.Parameters["@p0"] = "London";cmd.Parameters["@p0"] = "London";DataReader dr = c.Execute(cmd);DataReader dr = c.Execute(cmd);while (dr.Read()) {while (dr.Read()) { string name = dr.GetString(0);string name = dr.GetString(0); string phone = dr.GetString(1);string phone = dr.GetString(1); DateTime date =dr.GetDateTime(2);DateTime date =dr.GetDateTime(2);}}dr.Close();dr.Close();
Queries in Queries in quotesquotes
Loosely bound Loosely bound argumentsarguments
Loosely typed Loosely typed result setsresult sets
No compile time No compile time checkschecks
public class Customer { … }public class Customer { … }
public class Northwind: DataContextpublic class Northwind: DataContext{{ public Table<Customer> Customers;public Table<Customer> Customers; … …}}
Northwind db = new Northwind(…);Northwind db = new Northwind(…);var contacts =var contacts = from c in db.Customersfrom c in db.Customers where c.City == "London"where c.City == "London" select new { c.Name, c.Phone };select new { c.Name, c.Phone };
Classes describe data
Strongly typed connection
Integrated query syntax
Strongly typed results
Tables are like collections
LINQ to Objects APIqueries over any .NET collection, such as arrays and generic lists.
LINQ over XML (XLinq) Core functionality of the XLinq API such as load, modify, and save XML documents
LINQ to SQL provides direct access to database tables from the programming environment
LINQ to Entities enables developers to use LINQ over EDM models
LINQ to Dataset allows the full expressivity of LINQ to be used over Datasets.
Introduction/Core BitsVisual Studio “Orcas” features for:
Programmability and Data AccessServer DevelopmentWeb DevelopmentWindows DevelopmentOffice DevelopmentMobile DevelopmentDevelopment Lifecycle
SQL Server Compact EditionTimestamp type, improved table designer, Query processor enhancements and support for local transaction
Improved SQL Reporting Services SupportNew SQL Server Reporting Services Report Wizard.New Report Project templates (for VB, C#, Web)
Microsoft Synchronization ServicesVisual Studio Dataset Designer improvements
Generate the typed TableAdapters and typed Dataset definitions into separate Visual Studio projectsGeneration of a TableAdapter Manager capable of managing hierarchy
LINQ,LINQ,LINQ
Conceptual expression of a logical schema that makes sense to your appDifferent apps may have different views (Entity Data Models – EDM’s) of the same data in a backend storeEntity Data Model Designer
Integrated into the Orcas IDECreate entities from scratch or generate EDM models from an existing databaseEasily consume existing EDM models
Entity SQL “eSQL” may be used to query an Entity Data Model
Introduction/Core BitsVisual Studio “Orcas” features for:
Programmability and Data AccessServer DevelopmentWeb DevelopmentWindows DevelopmentOffice DevelopmentMobile DevelopmentDevelopment Lifecycle
WF Designer and Debugger integration with Visual Studio New Templates for simplified WCF Service AuthoringWF & WCF integration
New WCF Send and Receive Activities Enhanced Workflow and Service hosting
Enhancement to WF Rules Partial Trust support in WCF when using the BasicHttpBinding End-to-end programming model for building Ajax style web applications using WCF services.
Enhanced REST/POX Support in WCF RSS and Atom Programming Model
Support for OASIS specifications
Introduction/Core BitsVisual Studio “Orcas” features for:
Programmability and Data AccessServer DevelopmentWeb DevelopmentWindows DevelopmentOffice DevelopmentMobile DevelopmentDevelopment Lifecycle
AJAX integrated New ASP.NET WebForms design-surface
Advanced XHTML and CSS featuresNested Master Pages in the IDE
Jscript EnhancementsIntelliSense Debugging
Data<asp:LinqSqlDataSource> control<asp:ListView> controlLINQ to SQL designer integration
Services exposed as Web servicesAuthentication, Roles etc
Introduction/Core BitsVisual Studio “Orcas” features for:
Programmability and Data AccessServer DevelopmentWeb DevelopmentWindows DevelopmentOffice DevelopmentMobile DevelopmentDevelopment Lifecycle
IIS
Web
Laptop
Client App
Web Services
Web Page
Client Application ServicesLogin/Logout + OfflineRole management & Profiles
Microsoft Synchronization Services for ADO.NET
Sync Designer
Designer support for WPF developers Spicing Up existing Windows Forms Applications using WPFClickOnce Enhancements
IIS
Web
Laptop
Client App
Web Services
Web Page
Introduction/Core BitsVisual Studio “Orcas” features for:
Programmability and Data AccessServer DevelopmentWeb DevelopmentWindows DevelopmentOffice DevelopmentMobile DevelopmentDevelopment Lifecycle
Client DevelopmentVisual designers for Ribbon Outlook Custom Form RegionsData binding in Word Content ControlsApplication-level add-ins for most client programs (both 2003 & 2007)Improved deployment and security – ClickOnce Document-level add-ins for Excel & Word 2007
Server DevelopmentWorkflow & Microsoft SharePoint Support
Introduction/Core BitsVisual Studio “Orcas” features for:
Programmability and Data AccessServer DevelopmentWeb DevelopmentWindows DevelopmentOffice DevelopmentMobile DevelopmentDevelopment Lifecycle
Windows Communication Foundation support (over email)Support for LINQ (XML, Objects and Dataset)New Tool - CLR ProfilerCompression SupportClient side certificatesSound APIs Windows Forms enhancementsManaged debugger fixes
Introduction/Core BitsVisual Studio “Orcas” features for:
Programmability and Data AccessServer DevelopmentWeb DevelopmentWindows DevelopmentOffice DevelopmentMobile DevelopmentDevelopment Lifecycle
Architecture Top-down service design Architectural Roles on System, Applications and Endpoints
Developing Profiler Support for WCF Applications Customize and extend code correctness policies Performance tune an enterprise applicationCode Metrics
TestingUnit Test Generation Improvements Web Test Validation Rule Improvements
New functions e.g. Stop test on error, Redirect validation,Expected HTTP code
Improved Load Test Results Management Web Test Data Binding AJAX Support.
Team Foundation Build Support multi-threaded builds with the new MSBuild.Continuous IntegrationImproved ability to specify what source, versions of source, etc to include in a build.
Version Control support DestroyAnnotate. Folder DiffGet Latest on Checkout
Performance and Scale This release includes numerous improvements in performance and scalability of Team Foundation Server.
Improve Developer ProductivityManage the Application Life CycleEmploy the Latest Technologies
© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED
OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.