VS.NET 2005 Beta 1 - Initial Thoughts
OK, I finally downloaded this and installed it in a VM; the IDE looks quite nice, and actually loads pretty quickly (compared with previous versions). Looks like there's no Start page yet. Creating projects confused me at first - the New Project dialog offers everything except the ASP.NET options; looks like they've separated out the app types, so you either create a new project (Console app, Win Forms), or a new Web Site or Web Service. I'm thinking that, in addition to dropping the ".net" from the Visual Studio name and marketing, they may also be dropping the notion of ASP.NET also - these are just web sites or web services... certainly a Windows Forms app is now just a Windows Application. Perhaps they are starting to change the terminology because, under "Longhorn" web and windows app are going to use the same development model and technologies... who knows... but I'm going to continue using the old terminology regardless. The Win Forms designer is quite nice, although a little flaky. Adding splitters is much easier now thanks to the Split Container control. Docking is also easier, thanks to the little task window that pops up when you click on a little button in the designer, and allows you to dock to the parent panel. The toolstip and menu strip controls are also quite nice, and allow you to "Insert Standard Items", which automatically includes the standard Windows menu and toolbar commands, such As, File, Edit, etc. The Menustrip allows you to add images to each item.
Something else I like - instead of adding an app.config to your project, each project gets a Properties folder; clicking on this opens a graphical view that allows you to configure the entire app (stuff that would originally have been set in the Project Properties dialog). You can also set what would have originally gone into app.config, but this is done graphically, and you can set application-scope or user-scope settings. If you define some settings, then build your project, the good-old config file is generated for you, and contains config settings for the app and for the user. I'm going to look into this a little more closely, as setting user preferences was always something you had to code by hand in .net 1.x.
Something else I'm going to look into is another aspect of the new Properties configuration - resource management (text, graphics, icons, etc). Under the Resources tab, you can create and enter virtually any kind of resource (including sounds), which get compiled as embedded resources into the app. I like the idea behind this - it encourages devs to centralise resources and not embed images and hard-coded strings directly into apps; however, I'd rather see this compiled into a separate assembly, so app code can be detached from resources completely. In .net 1.x I'd create resources as embedded .resx files in a separate assembly that could be swapped out easily... perhaps MS can take the idea and create a new project type of Resource... that would do it for me.
With Win Forms projects, (finally) they've put the app entry point into a separate Program class, rather than embedding it into the default form. I used to create a separate Startup class to accomplish this, but it's nice to see MS moving Win Forms in the right direction (a lot of Win Forms dev in 1.x seemed to be based on old-style VB dev). One thing that is still around and concerns me is the ImageList control; yep, it's useful, but what if you're loading images from a resources assembly as described earlier? In 1.x the controls would only load images from an associated ImageList - and ImageLists encourage you to bloat your forms with embedded images, and you always ended up with lots of ImageLists, with duplicate items, all of which lead to the bloating of your app, and are a pain to update if all your app's images suddenly change. In 1.x you'd need to have an empty ImageList bound to your control, then load this at runtime with images from your resources assembly. A bit of a cludge. I'll take a look into this, and see if this has improved in 2005 B1...

0 Comments:
Post a Comment
<< Home