1. FIRST LOOK ATFIRST LOOK AT
“ORCAS”“ORCAS”
Scott GuthrieScott Guthrie
General ManagerGeneral Manager
.NET Developer Platform.NET Developer Platform
2. What is “Orcas”What is “Orcas”
Codename of next major release of VisualCodename of next major release of Visual
Studio and .NET FrameworkStudio and .NET Framework
Targeted to ship later this yearTargeted to ship later this year
Go-live beta in the summer timeframeGo-live beta in the summer timeframe
Lots of exciting features for web developmentLots of exciting features for web development
Multi-targetingMulti-targeting
Major HTML / CSS Designer EnhancementsMajor HTML / CSS Designer Enhancements
Rich AJAX and JavaScript SupportRich AJAX and JavaScript Support
LINQLINQ
And much more…And much more…
3. Visual Studio “Orcas” supports targeting multipleVisual Studio “Orcas” supports targeting multiple
versions of the .NET Frameworkversions of the .NET Framework
Choose which Framework version to target whenChoose which Framework version to target when
opening or creating an applicationopening or creating an application
.NET Framework 2.0 (“Whidbey”).NET Framework 2.0 (“Whidbey”)
.NET Framework 3.0 (Vista).NET Framework 3.0 (Vista)
.NET Framework 3.5 (“Orcas”).NET Framework 3.5 (“Orcas”)
Visual Studio IDE only shows feature appropriateVisual Studio IDE only shows feature appropriate
for your selected target versionfor your selected target version
Toolbox, Add New Item, Add Reference, Add WebToolbox, Add New Item, Add Reference, Add Web
Reference, Intellisense, etcReference, Intellisense, etc
Framework MultitargetingFramework Multitargeting
8. ASP.NET AJAXASP.NET AJAX
Works on top of ASP.NET 2.0 and VS 2005Works on top of ASP.NET 2.0 and VS 2005
Fully supported V1.0 shipped last week on the webFully supported V1.0 shipped last week on the web
Delivers core ASP.NET AJAX foundation:Delivers core ASP.NET AJAX foundation:
JavaScript type-systemJavaScript type-system
JavaScript<->.NET Networking SerializationJavaScript<->.NET Networking Serialization
JavaScript library of common routinesJavaScript library of common routines
ASP.NET Server Control IntegrationASP.NET Server Control Integration
ASP.NET AJAX 1.0 features ship in “Orcas”ASP.NET AJAX 1.0 features ship in “Orcas”
ASP.NET AJAX Futures CTP contains next set of featuresASP.NET AJAX Futures CTP contains next set of features
that will start to make their way into Orcasthat will start to make their way into Orcas
Examples: richer web part integration, richer dataExamples: richer web part integration, richer data
serialization support, more client controlsserialization support, more client controls
9. ASP.NET AJAX Control ToolkitASP.NET AJAX Control Toolkit
Separate download from core ASP.NET AJAXSeparate download from core ASP.NET AJAX
Great library of free ASP.NET AJAX enabled controlsGreat library of free ASP.NET AJAX enabled controls
Download from http://ajax.asp.net/Download from http://ajax.asp.net/
Developed using a collaborative source modelDeveloped using a collaborative source model
All source freely available with modification licenseAll source freely available with modification license
Both Microsoft & non-Microsoft developers can contributeBoth Microsoft & non-Microsoft developers can contribute
Already contains 35 really cool controlsAlready contains 35 really cool controls
Goal is to get 50-100 great controls over the next monthsGoal is to get 50-100 great controls over the next months
10. AJAX Control ExtendersAJAX Control Extenders
Controls that can AJAX-enable existingControls that can AJAX-enable existing
HTML UI and ASP.NET Server ControlsHTML UI and ASP.NET Server Controls
<asp:LinkButton ID=“ShowHideBtn" runat="server">Details...</asp:LinkButton><asp:LinkButton ID=“ShowHideBtn" runat="server">Details...</asp:LinkButton>
<asp:Panel ID="detailsPanel" runat="server" CssClass="DetailsPanel"><asp:Panel ID="detailsPanel" runat="server" CssClass="DetailsPanel">
Blah, Blah, BlahBlah, Blah, Blah
<br /><br />
Blah, Blah, BlahBlah, Blah, Blah
<br /><br />
Blah, Blah, BlahBlah, Blah, Blah
</asp:Panel></asp:Panel>
<ajaxToolkit:CollapsiblePanelExtender TargetControlID="detailsPanel“<ajaxToolkit:CollapsiblePanelExtender TargetControlID="detailsPanel“
CollapseControlID="ShowHideBtn"CollapseControlID="ShowHideBtn"
ExpandControlID="ShowHideBtn"ExpandControlID="ShowHideBtn"
Collapsed="true"Collapsed="true"
SuppressPostBack="true"SuppressPostBack="true"
runat="server“ />runat="server“ />
11. Visual Studio AJAX SupportVisual Studio AJAX Support
JavaScript IntellisenseJavaScript Intellisense
Code intellisense for client-side JavaScriptCode intellisense for client-side JavaScript
Integrated editor support for ASP.NET AJAX JS LibraryIntegrated editor support for ASP.NET AJAX JS Library
Intellisense against JSON enabled .asmx web servicesIntellisense against JSON enabled .asmx web services
Build-time syntax checkingBuild-time syntax checking
JavaScript DebuggingJavaScript Debugging
Improved discoverabilityImproved discoverability
Breakpoints in .aspx documentsBreakpoints in .aspx documents
New visualization features for variablesNew visualization features for variables
ASP.NET AJAX Extender Control SupportASP.NET AJAX Extender Control Support
Easy design-time to attach extendersEasy design-time to attach extenders
12. ASP.NET Control ExtendersASP.NET Control Extenders
Smart-task:Smart-task:
“Add Extender…”“Add Extender…”
UI for adding validUI for adding valid
extenders to controlextenders to control
Once extended,Once extended,
target control shows:target control shows:
Extended propertiesExtended properties
in property gridin property grid
Extended smart tasksExtended smart tasks
14. Working with DataWorking with Data
Querying and manipulating data hasQuerying and manipulating data has
always been a fundamental part of ouralways been a fundamental part of our
jobs as programmers, and always will bejobs as programmers, and always will be
Data formats change, but core needsData formats change, but core needs
remain the sameremain the same
With Orcas we are trying to take theWith Orcas we are trying to take the
concept of querying, manipulating, andconcept of querying, manipulating, and
updating data to the next levelupdating data to the next level
15. Introducing LINQIntroducing LINQ
(Language Integrated Query)(Language Integrated Query)
Query, Set and Transform Operations for .NETQuery, Set and Transform Operations for .NET
Makes querying data a core programming conceptMakes querying data a core programming concept
Works with all types and shapes of dataWorks with all types and shapes of data
Relational databaseRelational database
XMLXML
ObjectsObjects
Works with all .NET languagesWorks with all .NET languages
New VB and C# have integrated language supportNew VB and C# have integrated language support
Support for both static typed and dynamic languagesSupport for both static typed and dynamic languages
17. Data Improvements in ASP.NETData Improvements in ASP.NET
New <asp:LinqSqlDataSource> controlNew <asp:LinqSqlDataSource> control
Enables easy databinding to LINQ entitiesEnables easy databinding to LINQ entities
New <asp:ListView> controlNew <asp:ListView> control
Enables richer data UI flexibilityEnables richer data UI flexibility
Scaffolding UI generator for getting startedScaffolding UI generator for getting started
Creates LINQ object model and UI pagesCreates LINQ object model and UI pages
Will ship as separate download in OrcasWill ship as separate download in Orcas
18. Testing FeaturesTesting Features
VSTS Unit Testing Moving to VS ProfessionalVSTS Unit Testing Moving to VS Professional
Improved performance and workflowImproved performance and workflow
New AJAX Web Testing Features in VSTSNew AJAX Web Testing Features in VSTS
Automated scenario testing of ASP.NET AJAX applicationsAutomated scenario testing of ASP.NET AJAX applications
19. 2007 is going to be an exciting year
Major advances and improvements coming
Developing applications will be easier
Build-on existing VS 2005 / ASP.NET skills/code
Significant productivity gains with LINQ, AJAX, etc
Upgrading will be easy
Can use HTML designer, JavaScript
intellisense/debugging, and new language
features of VS “Orcas” on ASP.NET 2.0 projects