Today I want to introduce you to a wide range of extensions and additions to Visual Studio. Lots of developers are not aware of the potential of your existing .NET skills and experience and how you can utilize them across multiple devices, form factors and platforms. This is an introduction to some of the add-ons you can get, there are even more available but these are the high level packages that gives you a lot of value.
Taking a look at how Microsoft enters various vertical markets for developers, you’ll quickly realize that they often come into new areas that have previously had problems with the tooling, integration and skills required to enter those markets. This walkthrough will show you how they not only delivers the tools you need, but deep reference material, communities and a market for third party extensions.
I will provide you with links for downloads and a quick get started introduction to get you familiar with the tools.
Visual Studio for free
For those of you who do not have Visual Studio yet, I’ll just quickly introduce you to the free express versions of Visual Studio. These are feature limited versions of Visual Studio, that you often can use with the packages mentioned below.
There is additionally trial versions of Visual Studio Professional available and beta versions of the coming Visual Studio 2010.
Downloads is available here. To continue, you should at least get Visual C# 2008 Express Edition.
Games Development
Probably one of the coolest packages for Visual Studio is the XNA Game Studio. This allows you to write DirectX applications and games running on Windows, Xbox 360 and Zune Media Players. With your existing C# skills you can write graphic intensive applications easily.
Games development have traditionally been a special field that require deep knowledge of performance and hardware optimization. Microsoft saw a potential to make a more seamless and integrated tool package for games developers. This is often how Microsoft works and makes products, as mentioned in the introduction, the same idea of an integrated package applies to other things such as Robotics Studio, which we will look at further down.
Community: Part of the XNA Game Studio is the Creators Club Online, which is a community club of games developers where you get access to samples, starter kits, forum and more. You can pay for a membership that gives you access to deploy your applications to your Xbox 360.
There are 3 different developer sites for games development, you have the XNA Creators Club Online, Xbox 360 (professionals) and DirectX (professional Windows).
Downloads
Make sure you have latest version of DirectX and Microsoft XNA Game Studio 3.1. Make sure you check out the Role Playing Game Starter Kit.
Get Started
Quickest way to get started is with the included Platformer Starter Kit. When you create this project, you’re going to get 3 projects included in the solution, a copy of the same game for Windows, Xbox and Zune!
This is a great starting point for hacking around with the sample source code to learn some of the more advanced concepts of XNA programming. Make sure you check the links above to find more tutorials and documentation.
Cloud Development
You might have heard about Cloud Computing before, it’s the new paradigm for hosting data and running computation seamlessly on the Internet. You can buy a small amount of money to rent computer hours, avoiding expensive investments in your own hardware, configuration and setup. The biggest players in the Cloud Computing space today is Amazon, Google and Microsoft.
Microsoft’s alternative is Windows Azure, which is a platform of various features and tools that you can utilize to your benefit. It consist of Windows Azure, the operating system in the cloud, SQL Azure, a relational database in the cloud, .NET Services which is web services for access control and communication.
Before you can get started, you need to sign up for an account here. When your account is ready, you can download the tools required to start developing, debugging and testing your cloud applications.
Downloads
Make sure you get the Windows Azure Platform Training Kit, which has a lot of good presentations, hands-on labs and more. Then you can get the Azure SDK and the Azure Tools. There are some configuration you need to do to make everything work, but there is a simple solution to getting everything setup and configured automatically for you, using the Web Platform Installer. This will download and install all required pieces you need to start developing cloud services.
Get Started
When everything is installed, you start by creating a new project in Visual Studio under the Cloud Service project type.
The next dialog allows you to add one or more roles to your service. These are independent applications that will run on your service, if you need background processing you could choose the Worker Role. To get started with a simple ASP.NET web site, choose the ASP.NET Web Role and add it to the right side using the arrow buttons.
You’ll get an empty ASP.NET web site created, make some changes and hit F5 to debug your application. Visual Studio will now startup all the azure-fabric services on your local machine. Debug startup takes a little longer than you’re normally used to.
Next step is publishing your first cloud service, choose the Publish… option from the project as shown above. This will compile your code, open your web browser and a explorer window. If this is your first time deploying, you need to create a new Azure Service for your project.
When the service is created, you should click the Upgrade… button on the details page. On this page, you should upload the two local files that Visual Studio has generated and opened for you.
After a while, your service should be installed and there will be a temporary URL you can test it on. When you are happy with the results, you can choose to move your new service into production.
Robotics Development
This is a very interesting field, it has traditionally been hard to get into the robotics and machine programming field. Tooling has often only been available for specific hardware platforms, and you had to change your software tools when you changed your hardware platform. Microsoft Robotics Developer Studio tries to bring the abstraction level of hardware and machine programming one step higher.
With Microsoft RDS you can program a wide array of sensors and actuators connected to your computer. There is 3 versions available, Express for free, Academic for schools and Standard.
Check general information about Microsoft RDS and the development site for more in-depth information.
You can get started without buying any hardware, but I suggest purchasing some cheap devices that you can control from MSRDS. For example the Lego NXT robot, which you can use out of the box. It’s a lot more fun when your application code is actually moving around in the real world.
Downloads
Go and access the downloads at Microsoft Robotics Developer Studio site. The package includes everything you need, SDK, runtime, virtual simulation environment and more.
Get Started
After the installation, you’ll get a bunch of new stuff in the start menu. The first thing you should check out to get started is the Visual Programming Language.
Launch that application, then go into the Services and drag a “Data” and a “Text to Speech (TTS)” control onto the design surface. Set the Data control to string type and write a text, for example “Hello Robot”.
Next step is to drag the right arrow onto the Text to Speech box. This will display a dialog for Connections, choose the SayText option on the right. Next dialog will ask you which value the control should speak, choose the value under Value. Click OK, you have not successfully connected the Data control with the Text to Speech control.
Click F5 to run your robotics application!
Your computer should now speak to you through the computer speakers. Congratulations, you’ve just made your very first MSRDS application.
Next step would be to play around with the simulated environments, from the start menu you can launch a bunch of environments. For example an appartment, house, outdoors, sumo competition and even a full scale city.
Closing Notes
I hope you enjoyed this walkthrough of three possible ways of utilizing your .NET skills for new types of applications. More and more features has been packed into the Visual Studio package that previously was available as stand alone like the three examples above. Windows Phone development previously was a separate download but now comes out of the box. Office development has for a long time been included. We can probably expect more to be included in the future and I would expect Windows Azure to be a built in feature in the future.
What are you waiting for? Go on and make your dream game, which uses services in the cloud and is controlled using hardware input using Robotics Studio!