Here we go Visual Studio 2010 & ASP.NET 4.0

  • Lots of content not being covered. At least he’s clear about this.
  • Now built on WPF – woof. Multi monitor support.
  • Demos being done on the MVC codebase :-)
  • Code navigation – select param, highlights all instance usages.
  • Intellisense – Mid term search, no longer need to type start of term. Filters based on camelcasing woot. Someone has been using Quicksilver.
  • Oh dear – resharper is in trouble. Navigate to – “goto Type”. Although now quite as neat – needs keyboard interaction.
  • View call heirarchy – more Resharper features :-) (althought being able to keep searches around is a nice feature.
  • Col based code selection as well as line selection.
  • TDD support – “Consume First”, stops intellisense from attemting to autocomplete when writing not-yet-existing classes. Then becomes aware of class and allows you to define/work with properties. Nice.
  • TDD support – generate class (wait – this wasn’t in 08? More resharper?)
  • MY GODS – 2010 really is 2008 + Resharper (so far). Remind me to reiterate my love for Resharper.
  • CodeSnippets in VS2010 feel like completion in TextMate. Nice mechanism. Extended for ASP.NET, download extra snippets.
  • #scottgufact – Scott Gu works at Redmond, you don’t.
  • Debug history – useful landmarks in lifecycle.
  • Historic debugging – allows step forward/step back through source code.
  • Test tool – run on client, captures information on state of crash. Sends state back to developer. Developer can debug from the state of the crash. That’s pretty damn neat. Can also capture screenshots/video.
  • .NET 4.0, new version of CLR (guessing because of dynamics, etc).
  • Visual Studio 2010 filters intellisense and properties for target framework. Uses reference libraries.
  • ASP.NET 4 – emphasis on clean HTML and SEO (routing, user configurable ClientIDMode), etc.
  • Are we back on web apps vs web sites? (Scott jumped straight to web app rather than web site).
  • New web app template looks good. Jquery, logins, etc included out of the box. Very nice.
  • ClientIdMode – Predictable is the new black (and will save front end developers having migraines when given ASP.NET apps).
  • CSS rendering for controls – YES! THE TABLES ARE BANISHED! RenderTable=false
  • Finer grained control over the viewstate.
  • Improvements coming to the WYSIWIG designer – who uses the designer for ASP.NET? Really?
  • Routing support for ASP.NET 4 – quite elegant :-) Page.RouteData.Values. Doesn’t to URL rewriting, more subtle mechanism.
  • IIS SEO Toolkit. Analysis tool for SEO optimisation of sites. Target site does not need to be running on IIS. Can perform some optimisations to IIS sites – hence linked to IIS manager.
  • It looks like VS 2010 javascript support no longer sucks. A seriously robust engine. Involves intellisense which can keep track of quite impressive object definition at design time. Woot!
  • ASP.NET Ajax – new things for those people that use it (I’ve never got on with it).
    • ADO.NET Entity Framework – more T4 support good. Model first and POCO to boot.
  • Apparently LINQ 2 SQL is not dead – improvements coming. I remain sceptical.
  • Design surface no longer has a “dump and replace” attitude. This may rendel DBML Tools redundant.
  • Inbuilt fake support, reliance on T4 – looks like MS is buying hard into T4 for code gen. I see this as a positive thing.
  • I admit – the chart control is cute :-)
  • WAIT? Multiple config file support – build config dependant. I do this already! I will no longer be special! Don’t like deployment support from within VS, prefer to do it clean from a build server.
  • Release specific configs only contain overwrites – this is useful.
  • If you can tie the Deployment Projects up with build servers (I’m looking at you CCNet), you’ve got a rather powerful test & deployment environment.
  • Seriously folks – this is one of the really nice things…

[Please note these posts are done from my G1. Typos and errors may/will/are included].

Covered so far:

  • Websitespark (we know about this already
  • Web Platforms Installer (Apt for windows – this looks good – can developers submit apps to it?)
  • MVC (we’re here for two hours on this – basic intro and new stuff on 2.0)
    • Support for jQuery.validate in MVC2
    • (Usual MVC basics – saw this at Mix 07)
    • Humm, routes supports reg-ex. Is this new to 2.0?
    • Ahh – scaffolding, etc is T4. That’s been an itching question. I severely like the layout of the default generated views.
    • MVC2 – new “filter” attributes. [HttpPost] replaces [AcceptVerbs(Http.Post)]. Small but nice detail.
    • Ohh, you can mark which attributes are bindable in the class – you don’t have to do it in UpdateModel.
    • “buddy class” – way to get around partial method limitation. Haven’t seen this before… Link the buddy class to the type class using [Metadatatype(typeof(buddy))]
    • Er, okay. This is new stuff in the validation. Direct validation attributes using the buddy class. COOL! System.ComponentModel.DataAnnotations.
    • The binding has changed quite a bit. I like the new architecture, much less messy, much stronger.
    • MicrosoftMvcJQueryValidation.js <– nice one.
    • Complex validation – base off a webservice.
    • New helpers: Html.EditorFor, Html.DisplayFor. Strongly typed lambda syntax – compile time checking.
    • Templates allow override of HTML generated for EditorFor and DisplayFor. Uses partial views. Name partial view to type (e.g. Decimal). Drop in “EditorTemplates” folder. Can be applied to shared folder and/or view specific. Nice.
    • Can also generate templates not related to type, pass to “EditorFor” as a parameter. Also nice.
    • Can use the buddy class with [UIHint] attribute to specify type to field. Big emphasis on DRY. Ohhh nice.
    • Whole model can be CRUD rendered on the fly. [ScaffoldColumn] can be used to inclue/exclude properties.
    • Unit testing time… First up the unit testing sales pitch.
    • “Vs 08 adds all this value added … crap” as the Gu goes mad with the delete key.
    • Unit testing models, unit testing controllers (nothing new here so far).
    • Simple testing on controllers to ensure they render views, etc.
    • Here we go – the hiccups with tight binding to the DB for tests. Ohh, dependancy injection.
    • IService, Db imp of service. Pass into constructor.
    • Use 3rd party dependancy injection or “poor mans – pass through the controller”.
    • Pass collection of objects to “FakeService”. How should you happen multiple services?
    • No shame in writing tests to test the database and tests against the fake services.

Polanski

Apparently, hitting the “publish button” on articles that aren’t finished, or in some cases even started is all in vogue this year. First of all techcrunch manage foot-in-mouth syndrome over Spingate, and now Forbes has managed one, publishing an internal memo or note over the Polanski affair. Link available as long as it’s live.

This begs several questions:

  • Who is Frank?
  • Who are the sources in the Justice Department.
  • Does no one even look for the draft button anymore?

Bad Behavior has blocked 67 access attempts in the last 7 days.