Download presentation
Presentation is loading. Please wait.
1
1 Visual Studio 2008 Fons Sonnemans (Trainer) Reflection IT fons.sonnemans@reflectionit.nl http://www.reflectionit.nl
2
2 Agenda Multitargetting Occasionally connected Systems Office Applications Client Applications Windows Communication Foundation ASP.NET Web Applications C# 3.0 and LINQ
3
3.NET 3.5 Sp1 Release History 2008.NET 3.5.NET 3.0 Visual Studio 2008 Sp1 2007 Visual Studio 2008.NET 2.0 2005 Visual Studio 2005.NET 1.1 2003 Visual Studio.NET 2003.NE T 1.0 2002 Visual Studio.NET 2006.NET 3.5.NET 3.0 2007 Visual Studio 2008.NET 2.0.NET 1.1.NE T 1.0
4
4 Multitargetting No longer a hard link between Visual Studio and the application’s target framework VS 2008.NET Fx 2.0.NET Fx 3.0.NET Fx 3.5
5
5 Connected Single data source Database driven Hard coded Monolithic & rigid Occasionally connected Multiple data sources Information based Model driven SOA Sync Framework & Services
6
6 ADO.NET Sync Services Client App SyncServices No active connection to the database required Data is persisted using SQL Server Everywhere Edition Local Change Tracking for Sending Updates When Connected VS2008 Developer Productivity “Pay to Play”, RAD Component Architecture Leveraging Developers ADO.NET Knowledge Auto Creation of Database and Table Schema SQL Server Everywhere Edition SQL Server
7
7 { ADO.NET Sync Services }
8
8 Office Applications (VSTO) Office 2003 & 2007 Support Built in to core product Office 2007 Customisations Document or Application Ribbon Designer Outlook Form Region Designer Custom Action Panes ClickOnce Deployment
9
9 Ribbon Customization New Look and Feel for Office UI Replaces Command Bars in “the big 5” Office apps VSTO Ribbon Designer Tab Group Control Ribbon
10
10 Custom Task & Actions Panes VSTO simplifies and speeds up task pane UI design process with visual designers and.NET hookup Actions Pane More robust, easier to program alternative to Office’s built-in “Smart Document” technology Custom Task Pane The same general idea as Actions Pane, only on the application add-in level, not individual doc
11
11 Outlook Form Region Features New technology in Outlook 2007 for enhancing and replacing Outlook’s built-in forms Code behind form region is implemented as COM add-in New controls provide built-in look & feel and data binding to Outlook data
12
12 { Office Applications }
13
13 Client Applications Windows Presentation Foundation Visual Designer Integrated into Visual Studio XBAP deployment to FireFox UIElement3D, Viewport2DVisual3D Windows Forms ClickOnce For FireFox Consume ASP.NET Provider Services Better WPF Interoperablity UAC Manifests Consume WCF Services in Partial Trust
14
14 { WPF Support in VS2008 }
15
15 WF and WCF Workflow (WF) Integration with WCF Communication (WCF) RESTful support Syndication Support Partial Trust Support
16
16 ASP.NET Web Applications Microsoft AJAX LibrariesIDE Enhancements Javascript IntelliSense Javascript Debugging New HTML Editor Shared with Expression Web Rich support for CSS Split view with better switching performance Nested Master Pages Controls – ListView, DataPager
17
17 { WCF Support in VS2008, ASP.NET Applications }
18
18 VB9 Language Features in VS 2008 Most are LINQ enablers XML Literals Relaxed Delegates C# 3 Collection Initialisers Partial Methods Automatic Properties Extension Methods Object Initialisers Anonymous Types Local Type Inference Lambda expressions If Ternary Operator Nullable Syntax Lambda statements
19
19 C# 3.0: Local Variable Type Inference Local variable type inference is a feature in C# 3.0 where you can use the var keyword instead of explicitly specifying the type of a variable. The C# 3.0 compiler makes the type of the variable match the type of the right side of the assignment. public void Foo() { var i = 5; var s = "Hello"; var d = 1.0; var z;// compiler error, no initializer z = DateTime.Today; }
20
20 C# 3.0: Object Initializers public class Point { private int x, y; public int X { get { return x; } set { x = value; } } public int Y { get { return y; } set { y = value; } } } Point a = new Point { X = 0, Y = 1 }; Point a = new Point(); a.X = 0; a.Y = 1; Field or property assignments
21
21 C# 3.0: Anonymous Types Different anonymous object initializers that define properties with same names in the same order generate the same anonymous type var emp = new { Name = "Fons", Salary = 2000, DateTime.Today.Year }; var year = emp.Year; class XXX { public string Name { get; set; } public int Salary { get; set; } public int Year { get; set; } }
22
22 C# 3.0: Extension Methods Extend existing types with additional methods. namespace MyStuff { public static class Util { public static bool IsWeekend(this DateTime value) { return (value.DayOfWeek == DayOfWeek.Sunday || value.DayOfWeek == DayOfWeek.Saturday); } using MyStuff; Brings extensions into scope dt.IsWeekend() MyStuff.Util.IsWeekend(dt) DateTime dt = DateTime.Today; bool b = dt.IsWeekend();
23
23 C# 3.0: Lambda Expressions delegate string SomeDelegate(string s); private static string TestMethod1(string s) { return s.ToUpper(); }... SomeDelegate d1 = new SomeDelegate(TestMethod1); string a = d1("abcde"); SomeDelegate d3 = delegate(string s) { return s.ToUpper(); }; string a = d3("abcde"); SomeDelegate d4 = s => s.ToUpper(); string a = d4("abcde"); SomeDelegate d2 = TestMethod1; string a = d2("abcde"); Delegate Inference Anonymous Method Lambda Expression OO Function- Pointer C# 1.x C# 2.0 C# 3.0
24
24 { C# 3.0 }
25
25 Language INtegrated Query? Lots of code written today in order to loop, filter, sort, group, etc. Why not build better support for this? sortsort looploop sumsum
26
26 Why Have LINQ? Access to common data like XML or SQL is harder than accessing in memory objects; Why not have better API’s than this? hope!hope! pray!pray!hope!hope!
27
27 Language Integrated Query from data in someDataSource join otherData in someOtherSource on keyExpr equals keyExpr (into itemName)? let someVariable = someExpression wheresomePredicate orderby (expression (ascending | descending)?)* select expression group expression by keyExpression into itemName from data in someDataSource join otherData in someOtherSource on keyExpr equals keyExpr (into itemName)? let someVariable = someExpression wheresomePredicate orderby (expression (ascending | descending)?)* select expression group expression by keyExpression into itemName.NET Framework V3.5 Language Features ( C# V3 and VB V9 ) CustomCustomObjectsObjectsXMLXMLSQLSQL
28
28 How Does LINQ Work? Compiler rewrites as method calls No need to implement Select() etc. if myData is eitherIEnumerableIEnumerableIQueryableIQueryable Implementations already present in the.NET Framework for those cases
29
29 IEnumerable & IQueryable? IEnumerable – query is executed in memory Execute where select where select Parse & Execute IQueryable – query is parsed then translated to SQL and finally executed on to the database
30
30 LINQ to SQL from c in db.Customers where c.City == "London" select c.CompanyName; IQueryable<T> SELECT CompanyName FROM Customer WHERE City = 'London' SQL Query or SProc Resultset Objects db.Customers.InsertOnSubmit(c1); c2.City = "Asten" ; db.Customers.DeleteOnSubmit(c3); SubmitChanges() INSERT INTO Customer … UPDATE Customer … DELETE FROM Customer … DML or SProcs Application SQL Server LINQ to SQL
31
31 { LINQ to Objects, LINQ to SQL }
32
32 Summary Visual Studio 2008 Great for Windows Vista Development Great for Client Development Great for Web Development Great for Database Applications Development Great for.NET Framework v3.5 Service Pack 1 will add even more features ADO.NET Entity Framework ADO.NET Data Services ASP.NET Dynamic Data
33
33 Resources http://msdn.microsoft.com/en-us/vstudio http://msdn.microsoft.com/en-us/sync http://msdn.microsoft.com/en-us/office http://windowsclient.net http://netfx3.com/content/WCFHome.aspx http://www.asp.net http://msdn.microsoft.com/en-us/vcsharp http://www.datadeveloper.net Visual Studio 2008 Upgrade Training http://www.reflectionit.nl/Training/default.aspx#orcas
34
34 Questions mailto:fons.sonnemans@reflectionit.nl http://www.reflectionit.nl http://www.objectmap.nl
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.