Bob and Chris MSDN Road Show
Spent yesterday, Thursday at the Bob and Chris MSDN Roadshow. They had introductions for Visual Studio 2008 and Microsoft’s suite of “Adobe Killers”…. the expression series. Imagine a day-long master class, or set of high-level lectures, (for free!) and you’ll have an idea of what these days are like. Because of the amount of time available, it is possible to talk about issues in more depth than during most of the half-day TechNet/MSDN days. Recommended. They provided pizza and soft drinks for lunch. At 4:00 we went directly into this month’s meeting for the .NET Developer’s Group, and they provided us with Visual Studio Professional 2008 installation CDs. Everyone who came close to completing an installation was included in a drawing for a Zune. The really good news is that they provided install IDs which we can use for obtaining a full copy of VS2008 professional. My rough notes follow:
Multi-Targeting: found under new project and new web site
Choose the version of the framework enable and disable features of the IDE.
WCF – for example does not appear when you choose a framework <3.0
Need to maintain two versions of the solution file if you are using 2008 and 2005.
Rick Strahl does a nice walk-through of the project and solution files.
New controls in Ajax 3.5
You may have to go to the AJAX CodePlex to get the latest controls.
Anything that is in a referenced assembly, it gives you the oportunity to add the call the “using system” call at the top
Expression Web design sufaces shared with VS2008
Ajax is native
Idea of master pages with content in particular rectangles within a page
IDE now supports the idea of “nested” master pages.
Has a “design view” which shows the image
Has a split view with code and design view like Dreamweaver.
There is a very nice GRID view which allows you to align
Turn on formatting marks (like tags and formatting, kind of like a paragraph mark within Word)
A lot easier to work with CSS in 2008. There is a CSS properties view that show the hierarchy of the CSS values.
Manage Styles View – a higher level way of managing CSS styles and there is a really neat “CSS preview” (like in Word 2007) which shows what something would look like if you apply the CSS style.
There is a kind of “refactoring” thing which will move the CSS reference from an inline to a CSS style sheet page.
Formatting and Validation – two new features (not in the Orcas betas)
You can treat validations as warnings instead of errors. (which would normally stop the app from running if they are errors). Validate html, xml, accessibility, different browsers/versions etc.
Ajax minimizes the full page refresh. Only a small part of the form updates. This is a feature of Ajax. Stock Ticker, Scoreboards, etc.
Ajax master page, Ajax web form, etc. The only difference in these project pages is that the Ajax library code is already includes the Ajax Script Manager. The S.M. control is key for Ajax.
for example, type document. and a full list of properties called up.
Drag and Drop script referencing . Just drag a snippet into the editor and the editor will create the references to the library. This is similar to C# and VB.
You can set breakpoints.
VB uses IE script debugger. Tools| Options| Advanced — enable script debugging. so that VB can talk to IE. So when a script goes bad it pops right back into VB.
“Visualizer” allows you to see full code when expanding a tool-tip.
“Dataset visualizer” shows a grid of the current record set, for example.
Web Deployment Projects – separate download.
Windows Forms- user settings on the web
“Click Once” will now work with FireFox.
WWPF /Windows Forms InterOp
Add WPF to existing Windows Forms (“Crossbow”) allows you to WPF with WinForms and vice-versa.
There are controls for InterOp.
Client Application Services
Share user authentication and authorization between Client and Web applications
Store user settings on the web
Handles web services communication
Secure, reliable, transacted and interoperable distributed applications
Tools for Office
Visual designers for Ribbon, Task and Action Pane
Workflow and SharePoint Support
Application-level add-ins for most client programs
Document level add-ins for Excel and Word 2007
Projects for OutLook Add-in, PowerPoint Addin, In OutLook, it automatically docks a form at the bottom of a particular eMail.
This is now integrated directly into 2008.
Easy to use wizard
Bind XML and CSV files
Load Testing – Take any non-manual test and beat on it.
Unit Testing – Available in Pro!
You can right-click on a class, and there is an option to “unit test”. Automatically creates the framework for a unit test for the class. An example of a data-driven test would be run this
White Paper: 14 page overview (non-technical) of the feature sets
Software + Services
XBox Live – device, has a community aspect, allows for multi-user gaming, there is a web component, combination of device+data center services. The New York Times has a WPF client for reading the Times offline.
What is Software + Services
Software deployed as a hosted service accessible over the internet + a mobile device
Multi-tenant data architecture (single instance)
Similar to a conventional three-tier database client/server
Metadata Services are the unique addition…..allows: configurability, authentication, branding (logo), unique fields/reports, etc. Custom Business Rules
Centralized: ASP.NET membership, profile storage, groups of users with roles and authorization.
Decentralized: Federated approach/allow the customer to manage their own authentication via the customer’s Active Directory
Shared Database /Separate Schemas (each tenant has their own tables within a single database)
Restoring a single tenant is a problem. – additional maintenance costs
Shared Database/ Shared Schemas
Regularity Issues: SOX requirements
Implmenting the Configurabilty
Example: Employee table offered with base set of fields. Extra fields are added by the customer.
Create a View for Each Tenant . Table Employee, Table Employee_Extension.
Published on the road show
All code is available LitWare HR CodePlex
Offline with Synchronization
Scott Gutherie’s blog
Takes a subset of Windows Presentation Foundation
Vector Graphics, Animation, Streaming Video, Vector fonts
Silverlight is cross platform
Version 2.0 will include a subset of the .NET framework
Tools for developing in Silverlight include Expression Blend, and VS.
SkyDrive = 500 megs of storage in the cloud. Currently In beta available for those with an Windows Live ID. Try this out!
Allow data expressions and SQL queries within VB and C#… LinQ is an evolution of ADO
How have the languages been enhanced to incorporate this stuff
Compiler infers the correct type from variables which are initialized in-line.
Only works for local variables, not parameters or return variables
Class and Collection Initializers
Shorter Form of Object Creation Syntax
You can create an object which is not typed. Compiler creates the type anonymous
Frequently used by Linq
Extend existing type without having to subclass it
Add Methods without Derivation
Accesses Public Members of Extended Types
public and status
housed within a static class
Use this keyword before parameter of extended type
Inject code into something else. Formerly delegates, or C# anonymous methods
Reduces code needed to write
Based on anonymous methods
Might be used to translate syntax.
Predicate “(p) => p.Gender == “F”
“All persons p, such that person’s Gender is F”
Embedded SQL within native VB and C# syntax.
Question LK — What is Reflection, or reflector?
5 types of LinQ
LINQ to Objects (in memory)
LINQ to DataSets, SQL, or Entities. (Julie is one of the experts on Entites).
LINQ to XML
Deferred query evaluation, – means that the query is really executed during foreach
Deferred Query Execution – is huge…because the query itself isn’t actually run until the foreach
SEveral extension methods are really helpful working with data including:
in A but not in B
100 useful examples in LINQ
LINQ to SQL
Maps Relational Structures to Classes
Listview is a new control in 3.5
Use the ENTITY FRAMEWORK as a way to create an abstract mapping between the relational data and object-based applications. This is better than LinktoSQL because it will allow you to mess with the back-end database .
Scott Guthrie’s Blog
Microsoft Expression Studio
New product line from Microsoft
Set of tools used primarily by web designers
Import and Export capabilities for Adobe products
The goal is to help the designer be a first-class citizen with Microsoft development prodcuts.
Media, Encoder, Web, Design, Blend
Manage all graphic assets
How does this integrate with source-code control?
Searching for metadata
Makes a lot of sense when you have a lot of assets
Creates a metadata dictionary with pointers to the actual data
Create web galleries, slide shows, videos, etc.
Looks a lot like Outlook…allows the classification of objects. Allows you to give the items ratings. You can add custom people to a file or custom fields
Includes a thumbnail viewer (videos play as well)
You can share the catalogs with Mac users (how? requires a download for the Mac)
Encode Video for use with Silverlight
Sony Vegas Pro or Finalcut for editing although you can
Add a leader, add a trailer
Scrub the beginning or end.
Import .AVI, QuickTime, MPEG, WMV
Will encode in real-time for streaming for live video broadcast
You can do an AB compare = see the original video and compare it with the compressed version
There is a batch mode, or batch job definition. encode a bunch of things in a folder.
You can generate a WMV file, or to full Silvelight application with templates. classic, glassy, expression,
Follow on to FrontPage? Yuck
Fully integrated with ASP.NET
Same/similar Visual Studio IDE
For the person who wants to spin up an html site without a lot of work… there are templates included.
Master Pages – parts that are editable and parts that are not.
Understands data bindinding and ASP.NET controls
LK Question: what is a div?
Good for creating style sheets
Targeted at the designer/end-user
= Ilustrator ?
Can it do color separations?
Blend (December CTP)
= Flash? no actually, that is Silverlight.
When should I use WPF instead of WinForms – when you need to differentiate your user interface, think about using WPF, or when you are using Windows Media or Documents.
Silverlight Tools for VS2008
Blend CTP (December)
======== end of notes =========
Swag was available too….pens, squishy balls, tee-shirts, and a Silverlight book. They came in with two giant screens and put up four-player versions of Halo-3 for the breaks. They also provided sandwiches while we did our installations of VS2008. If you are able to get to one of the cities they are visiting, be sure to check out the Roadshow.