Compsoft Flexible Specialists

Compsoft plc

Compsoft Weblog Compsoft Website News Archive Privacy Policy Contact Us  

Tuesday, November 07, 2006

Tim Jeanes: Microsoft TechEd (Tuesday)

Wow, they work you hard at TechEd! Five seminar sessions a day keep you going from 9am till 7pm, yet none of them is ever long enough to fit in everything you want to learn. Every session left me wanting more, and with 138 seminars, white board discussions and hands-on labs to choose from, you can never get more than a fraction of the amount of information available.

I'll pull out a few things that stood out to me today.

First of all were the changes in working practices that Windows Vista will force on us. Having the same people developing the logic of the code and the visual front end just isn't going to cut it any more, unless you're happy with all your applications looking like Windows XP (which will be worse than the feeling you got running Windows 3.1 apps in Windows 95). The whole visual experience of Vista is going to be such a step above what Windows offers today that you really will need dedicated designers giving your applications their own look and feel. Absolutely everything can be styled. Whereas presently you can style a button by setting its border and colour (or maybe a background picture if you really want to), in Vista you basically have to draw it yourself from scratch. So long as you have some kind of artistic talent then you won't mind setting the shading, transparency and opacity of the various layers you choose, along with the transitional animations for when you move your mouse over it; if not then you'll be needing to hire some graphic designers pretty soon. As a concession they do include xaml to draw the controls we're used to in XP, but that's really only to get you started.

Fortunately they're adding the necessary functionality into Visual Studio to allow the developers to get on with developing the code and the designers to get on with making the look and feel without the two parties stepping on each others toes. I (as a developer) can create my form with a listbox on it and make everything work, only to be utterly surprised that the final project ships with that list box rendered as a rotating 3D carousel - yet I can rest assured that such dramatic changes will have no impact whatsoever on my functionality.

Microsoft are shipping a new set of products (LINQ, DLINQ and BLINQ) that will greatly enhance our speed of application development. LINQ stands for Language Integrated Query, and basically lets you query any sets of objects you have in memory as you would query a SQL database. This gives you clearer and easier methods for searching threw collections of object you already have. However, its real strength lies in letting you tell the compiler that properties on a class map onto fields in an actual database; then querying your objects builds queries on the fly (including all the necessary joins, filters and sorts) to pull out the data you require. This is phenomenally easy to implement - it's just a case of slapping a few attributes on some properties. This nicely side-steps all the hassle of creating stored procedures to handle your data persistence: you may never need to write a stored procedure again.

This all sounds remarkably familiar to those of us who are used to using products like Gentle.NET (which has served us very well for a few projects now), but it's great to see Microsoft catching up with the rest of the coding community, and being a Microsoft product we can be sure it'll plug nicely into Visual Studio and everything else. They're not being exclusive though: they've made it easily extensible so we can use whatever back end database we like.

BLINQ takes code creation one step further. They didn't mention what it stood for, though I'd like to venture "doing my BLINQing job". This product is still in the early stages of development and so only exists as a command line utility so far, but will be integrated as a fully-fledged wizard in the new version of Visual Studio (project Orcas/.NET Framework 3.5). Basically what it does it build your entire web application for you. You hand it a database schema and it creates pages to list, view, add and edit every object that the database describes. It understands the joins in the database so your customer details page will have links to list all the orders that customer has placed, etc.

Fortunately it's a fairly blunt instrument: it doesn't understand which users should be allowed to do what, the relative importance of various fields, or exactly what processes should be triggered when you try to delete a customer, for example, but it certainly could give you a good starting point for your web application (so long as the final version lets you define your own templates), which will take out a lot of the dull monotonous parts of web development.

Once last highlight: they provide all the Coke you can possibly drink, free of charge. It's geek heaven.

Labels: , , , , , ,

0 Comments:

Post a Comment

<< Home