220 likes | 305 Views
Keynote Topics. Visual Studio Team System Eliminate the 'no repro' scenario QA can include call stack, video, sys info Testers can load up saved environment and debug
E N D
Keynote Topics • Visual Studio Team System • Eliminate the 'no repro' scenario • QA can include call stack, video, sys info • Testers can load up saved environment and debug • Discover code structure using Architecture Explorer which walks your dependency map and gives you a graph of the entire system and all dependencies • Build comprehensive UML models of your core code • Lab Management feature allows you to provision virtual instances of your environment and recover them for repro scenarios
Keynote Topics • Code Focused Features • With VS2010 we have built in core editing and discovery features so you can do refactoring right out of the box and use test driven style development • Quick Search allows for easy searching across projects • Easy discovery of the call hierarchies • Parallelism Tools and Support • Enhanced versioning and SCC integration
Keynote Topics • New Web Features • VS2010 will have built-in support for the new MVC framework • Inclusion of the JQuery library including intellisense support (available for VS2008 as an add-on) • New deployment helpers that include adding transforms for your web.config to avoid errors • A million new code snippets to make html coding easier
Keynote Topics • SharePoint Tools • VS2010 has support for building SharePoint projects • Server explorer for viewing sites and lists right in VS • You can create imports from wsp, add event receivers, and workflow parts • A visual designer is included to author parts using WYSIWYG • A new deployment explorer allows you to build up your deployment packages • F5 just works!
Topics for Self-Discovery • Windows Azure – Cloud services • Model-View-Controller (MVC) design pattern • Silverlight v2.0 + • jQuery • VSTS & Team System Lab Management • Major C++ Investment • Ancillaries: IIS v7, IE v8, Vista Bridge, IDE extensions
VS2008 & .NET V3.5 Recap • Javascript Debugging, XElement class for building XML, ListView - a powerful designer supported repeater control, Javascript Debugging, additional refactorings, SQL DB publishing, Ajax is a first class citizen, IQueryable, and Javascript Debugging • Anonymous types vardt = DateTime.Today; var anon = new { Name = "Terry", Age = 34 }; • Automatic Properties public string FirstName {get; set;} public int Age { get; private set; } • Object Initalizers Person person = new Person { FirstName="Chris", LastName="Green", Age=33 }; • Collection Initalizers List<Person> people = new List<Person> { new Person { FirstName = "Chris", LastName = "Green", Age = 33 }, ... }; • Extension Methods public static intLastDay (this DateTimedt) { return DateTime.DaysInMonth(dt.Year, dt.Month); } • Lambda Expressions Func<int, int> Square = x => x * x; intnSquare = Square(5); int[] numbers = { 5, 4, 1, 3 }; intoddNumbers = numbers.Count(n => n % 2 == 1); • LINQ var initials = from person in people where person.City == "Galway“ select person.FirstName.Remove(1) + person.LastName.Remove(1); • Did I mention Javascript Debugging? Lambda Expressions
VS2008 & .NET V3.5 SP 1 Overview • ADO.NET Entity Framework release • Very similar to Linq To SQL • Generate data model • conceptual model < mapping > static (actual db) model • Data Services • Exposes and takes IQueryable<T> so datasets very easy to work with in a LINQ like way • Routing lets URI act like a Linq query • http://Root/my.svc/Customers/35/FirstName
VS2008 & .NET V3.5 SP 1 Overview • Ajax enhancements • History Points • Addresses problem that users lose ability to hit back button • Script combining • To improve performance allows combining libraries • Other Enhancements • Improved javascript intellisense • Improved web designer performance (bugs/regressions addressed)
VS2010: IDE Enhancements • Highlight references • Quick Search • Call Hierarchy • Code Generation • Test-driven development • New WPF text editor • More reliable & modular
Free CodeRush Xpress! announcing
VS2010: Web Features • Document Outline extended • HTML Snippets • Jscript Intellisense V2 • See dynamically created members • File reference hints • XML document comments • Web Deployment • Improved CSS 2.1 Support & Standards Compliance
C# v4.0 • History • V1 – Managed Code big emphasis • V2 – Generics; finished the language • V3 – LINQ • V4 – Dynamic • Call any method of a dynamic object and the compiler won’t complain • No intellisense possible • Will call during runtime • Lots of power to be explored here
C# v4.0 • Optional Parameters • Named parameters • Can also skip optional parameters • Public StreamReaderOpenTextFile(string sFile, boolbReadOnly = true, intnBufferSize = 1024); • sr = OpenTextFile(“foo.txt”, buffersize:4096); • COM Interoperability • No more “ref dummy”! • Will get: doc.SaveAs(“Test.docx”); //WinwordSaveAs • Versus: doc.SaveAs(“Test.docx”, ref dummy, ref dummy, ref dummy, ref dummy, ref dummy, ref dummy, ref dummy, ref dummy, ref dummy, ref dummy, ref dummy, ref dummy, ref dummy, ref dummy);
C# v4.0 • COM Interoperability (cont.) • Automatic dynamic mapping so less unnecessary casting • Interop type embedding • No more bringing in PIA; includes in your assembly • Deploy office solutions to SharePoint • Safe Co and Contra-variance • Compiler as a service • Compiler black box opened up to be used and extended • C# and VB to co-evolve in the future
Parallelism • Need to start thinking about parallelism • Understand goals vs. usage • Measure existing performance. VS2010 has tools to do this • Tuning Performance • Typically we start with sequential programming and add parallelism later • VS2010 has Profiler tool for tuning performance • Identify opportunities for parallelism
Parallelism • IDE Tools to make life easier • Parallel Extensions • First class citizen in VS2010 (v3.5 CTP Preview available) • Parallel.For and Parallel.ForEach • Still need to use critical sections around shared resources inside loop • Parallel extended IEnumerable to perform queries much faster • var q = from n in arr.AsParallel() where IsPrime(n) select n;
AJAX: Overview of Usage Patterns • Server-Side ASP.NET • Using server-side controls • Server-Side ASP.NET AJAX • Using the UpdatePanel control (wisely!) • Client-Side ASP.NET AJAX • Using the Microsoft AJAX Library (services and scripts) • Client-Side ASP.NET AJAX • Using client-side templates and controls • Client-Side ASP.NET AJAX • Using declarative client-side controls
AJAX v4.0 • New Features • Declarative Controls • XML is eXtensible! • xmlns:dataview=“javascript:Sys.UI.DataView” • Data Source Control • Command Bubbling • Live Bindings • Used to execute JavaScript in the context of the current data item
Related Content • Microsoft Community Tech Days – Galway • March 3, 2009 • channel9.msdn.com • Videos Shows • Podcasts Forums • http://blog.developers.ie/cgreen My Blog