Silverlight 2 development using just Visual Studio? - visual-studio

OK, so see questions like this one and this one and the question I have is - does one have to use Expression Blend to do Silverlight development or can any of it be done with just Visual Studio? (2008, in this case)
I haven't gotten started using Silverlight yet and through my workplace's MSDN I can get Expression Blend without any issues, but for my side work, do I have to drop the $499 for Expression Blend 2? (I know there's a trial but I'm thinking beyond that)
Obviously I'm concerned that in order to get into Silverlight development there's a huge financial investment involved and I already own Visual Studio 2008 - is it possible to do development without Expression Blend or would that just be impossible?

You can do everything in Visual Studio. But then again you can do everything in Notepad as well... it all depends on how much the given tool will help you along in the process. Having Blend will be a great asset from a design point of view but wont really do much for you in terms of programming the application. Download the trial and see how it works... if it adds value and saves time then it's well worth the purchase.

I've heard rumours that since there is no Expression Blend Express or Expression Blend Light that there will at least for a while always be a version of Blend in a "Preview" state and the next one will come out before the previous one expires.
That being said, it would be hard to bet your business on something like that. There are third party tools like Kaxaml that can do some of the things Blend can do and I wouldn't be surprised to see more to fill this niche.

You can do it in Visual Studio 2008 and it will work. The issues that I have come across in trying to only do Visual Studio is that I find I can do things a lot quicker in Blend than I can in Visual Studio. The visual designers are different enough that, depending on what you are going to do, you may find yourself using both environments.
If you are doing just small projects, and not a lot of UI components, then you can get away with just Visual Studio. However if you are doing a lot of design work and UI is important to you, then I would recommend geting the entire expression studio as you will find yourself using Blend and Designer.

It quite is possible. If you don't care too much about the eye candy.
Blend is more of a designer's tool than a development tool.
You could try the Microsoft Action Pack Special edition for Web Solutions if you are at least a Microsoft Registered Partner.

And now you can even use Eclipse. :)

Related

Visual Studio 2010 for UI wireframe?

Just wanted to know that how good is the Visual Studio 2010 for designing UI wireframe?
Is there any major shortcoming in VS2010 in this area.
The UI that i am going to create are the mock up UI but i intend to use the same in future for actual web application development.
Please help, as i am going to use it for the above mention work .
I would rather use visio or any other Mockup tool, see here: http://webdesignledger.com/inspiration/18-great-examples-of-sketched-ui-wireframes-and-mockups
I don't think Visual Studio alone without any AddIn would be very useful in this.
If you want a microsoft product why not use sketchflow http://www.microsoft.com/expression/products/Sketchflow_Overview.aspx
AS you may already have blend installed.
I've started using the Balsamiq mock-up tool for quick prototypes, it's good for that early mock-screen stage but it might be too simple for what you want.
http://balsamiq.com/
There is a web-demo you can try, my favourite feature about it is that it doesn't look like a finished product so it keeps things looking suitably "prototypey". I've tried sketchflow after watching the incredible demo video but it was much buggier and unreliable when I tried it for myself and I spent more time fighting with it than I did coding so I just ditched it and went back to the Balsamiq tool.

Limitations of sharpDevelop

I am looking in to using sharpDevelop to develop Windows (.NET) applications over using Visual Studio. I'm just wondering if there are any serious limitations to using SharpDevelop over VS? The price is certainly right and at first glance it seems like a pretty decent IDE. I'm just wondering if it is compatible with VS. I mean if I am collaborating with other developers that are using VS, can we seamlessly pass projects/solutions back and forth and work on them? Just wondering what people's opinions are.
Past year I start using SharpDevelop to develop a large application.
Based on my experience, I can say these are some advantages in using it:
It's faster than Visual Studio; if your project is pretty large, you have to spend less time waiting for the project to compile
It's free
One important disadvantage I've found is the lack of a good refactoring system, in Visual Studio I used Jetbrains Resharper for its great refactoring support.
Now I've returned to use Visual Studio, just for the facilities offered by Resharper.
SharpDevelop 4.0 Beta 4 (as the most current version) is pretty stable as for a Beta. Besides being free it has some pretty features which can be extended via AddIn (a sort of plugin system). A large number of project templates for the most popular languages supporting the .NET Framework. A possible limitation is the support for ASP.NET which still lags behind VS.
Surely you can bet that the top versions of Visual Studio may have some better tools, options, better integration and so on.
Please consider comparing SharpDevelop to the Express Editions of VS. Then it will be obvious that SD is a big win if you don't have to pay. Consider it also as a different product, not only a copy of VS (just not to say 'option X is called here Y, opposed to VS').
This feature by feature comparison list for SharpDevelop vs. VS Express might be helpful.
I'm working on a project that was started using Visual Studio 2010. Although according to a special engine we've created the number of code lines is not very high, the project builds very slowly. I tested sharpdevelop, and it was about an order of magnitude faster!! The only problem we faced was that we could not debug our server and client together, something that VS does like a charm (well, that charm requires some patience), and shows the stack trace of the server, on top of the client, which is very useful.
My suggestion: use sharpdevelop unless you absolutely need a feature it lacks.
SharpDevelop 4.0 Beta does not support the default Visual Studio installer projects. However, since these are going to be deprecated after VS2010 by Microsoft, this is probably not a main issue for you.

Is there any risk while using Visual Studio 2010 Beta 2?

Is it safe to use the beta versions of Visual Studio?
By safe I mean, while developing any project in this studio, is it probable that it may cause some losses to my project? Or any other kind of risk?
Should I just use the studio 2008 and
wait for the stable version of Studio
2010?
Purpose of the question: I am doing my graduation project in .NET framework (includes - C#, WPF etc.).So I don't want to put my project at any risk because of some issue regarding (beta) visual studio.Hence the question.
As long as you are using a version control system, there should be no problem. Simply check out your project (or better yet, create a vs2010 branch) to an experimental folder and work from there.
There are no hidden risks when you use version control appropriately.
Visual Studio 2010 will convert your project files to its new format, meaning you'll have trouble if you want to go back to VS2008 later. I'd suggest holding off for now unless you can find a way to keep both old and new versions of the project files up to date.
There's always a risk in using beta software (but then again, there's always a risk in using any software). The whole reason it's called beta is because the company is not confident that it's got all the bugs worked out. Otherwise, it would have been released so they could start raking in the moola.
There are quite a few ways to mitigate the possibility of any beta software (not limited to VS2010 or even any programming-related product) from causing you trouble. Choose any from this list, which is by no means exhaustive:
Don't use it on the same data (be it accounting information or source code) until you've run it in parallel and gotten the same results as with the older version.
Plan a backout strategy if the software is so bad that it's easier to go back than to try and go forward.
Backup your data even more frequently during the periods where you're using the beta software, up until the point that you're comfortable with it and can revert to a more normal backup strategy.
Don't use beta software at all - wait for the real release (or SP1 if you want to be even safer). There may not be a driving force behind updating to the latest version.
As a company, limit your exposure to the beta software to a small set of your employees. So, for example, if you have six different teams, choose the least important as a sacrificial lamb, so to speak.
My own personal preference is to wait until everyone else has sorted out the problems first. I didn't upgrade to the latest Ubuntu while it was in beta (I still got burnt a little bit with the video and X but that particular problem already had a solution on the net). I don't download the latest and greatest Eclipse until it's been in use for a few months. I'm still using VS2008 under Windows XP since there's nothing I think I need in the latest release (of VS or Windows).
We obviously have the latest and greatest OS' in our test environments but they're crash-and-burn environments that won't cause any real pain if they blow up (other than a rebuild but even that's pretty painless nowadays).
For your particular circumstance, I would probably stick with a tried and true version. You don't seem to have a pressing need for any of the new features in your question and the sort of failure you're talking about is not just losing some information at work which, while annoying, is probably backed up to the point where your career would survive.
A similar loss of your educational work would affect you for a long time if you fail your subject because of it. I would probably just concentrate on getting it finished rather than worrying about what VS2010 beta might do to my work. Don't misunderstand me, you should still be protecting your work even with VS2008 but I'd personally feel safer with that option.
Then, if you have some spare time at the end of your project (hah! as if that would happen!), you could try to convert what you've done so far to VS2010. If it all goes pear-shaped, you still have all the VS2008 stuff available.
There is certainly risk in using unproven software in that it could behave unexpectedly. Some of the answers here focus on protecting your source code and that is a valid concern, but you should also consider other risks.
Could Visual Studio 2010 make your system unstable? Having your source code in a local instance of source control won't do you much good if Visual Studio corrupts your hard drive. Even if you backed up regularly, you'd still be out a good day or two (MINIMUM) rebuilding your desktop.
Also, what do you intend to do with the finished product? Will a professor attempt to open the project on their own desktop? Are you expected to deploy it to another environment? We see these "Works on my computer" problems using proven software, a beta certainly increases the probability of running into this type of problem.
So yes, there is certainly increased risk in using a beta. You can take steps to mitigate the risks but with important work those are steps you should be taking anyway. Is the benefit of using Visual Studio 2010 worth the increased probability of delays / data loss / grade impact?
I know I'm experimenting with VS2010 and I haven't seen severe problems but betas are not proven/guaranteed - the overall risk is probably slight but it is a risk nonetheless.
I guess I would approach the question differently...Is there any real value in using VS 2010 over 2008? I have been using both for a while and I would say, No.
I have had some mysterious crashes with VS 2010 and the application has disappeared on me, causing me to lose any unsaved data.
If you are integrating IronPython / Ruby or working with Office or VB style COM, there is more support for this in .NET 4.0. Beyond that, most of the changes add some shine to the IDE, but not much real value.
my 2 cents.
The biggest risks you will face are crashes, random tool window misplacements, and occasionally Visual Studio will refuse to start and you will have to reset all your settings to have it working again. 1 (I am anyway reasonably happy with Visual Studio 2010 and don't regret having installed it; in my case the compelling reasons were unit testing and visual designer for Silverlight)
But as ocdecio says, there should not be danger for your code, especially if you use a source control system.
As an additional advise, target your projects to .NET Framework 3.5. Using a beta development tool may be ok, using a beta .NET Framework in a production environment is usually not.
1 This crash is supposed to be caused by using raster fonts for the code editor, but it has happened to me without using this type of fonts.
Given that you've said the project will be "tested on another system", the answer is simple: use VS2008. VS2010 solutions cannot be opened by earlier versions, and I wouldn't bet my graduation project on whether or not someone else has VS2010 installed.
Other reasons to stick with VS2008:
VS2010 probably doesn't gain you much.
There are bugs, and I'd rather be working on getting my graduation project done rather than working around problems with my development tool.
If you need help along the way, those that can potentially help probably aren't using the same version. That may make a difference, it may not.
Another thing to consider.. usually the EULA prohibits you from deploying and/or shipping a product using a Beta version of the toolset. I'm not sure this applies in your situation but it's a point to consider.
Another potential issue I've heard of is that sometimes Visual Studio betas refuse to uninstall when it comes time to put in the RTM version. So as long as you don't mind reinstalling Windows when you're ready to install RTM and you've taken the other answers into consideration, then go ahead.
Since your project is for a graduation project and not for full production release, I would say use the latest/stable version of Visual Studio 2010.
You will gain more than you will lose as you will be using the latest technology which will be more useful going forward.
There is an issue for touch screen machines which may render WPF applications unusable.
A workaround exists. See details:
‘MS.Win32.Penimc.UnsafeNativeMethods’ Threw An Exception
fix: C:\Windows\Microsoft.NET\Framework\v3.0\WPF>regsvr32 PenIMC.dll
The biggest problem I have with VS2010 Beta 2 is designer. The Windows Form Designer generates buggy code (Microsoft Connect bug id 507267 and 499925). So I have to edit the form in older version of Visual Studio
I have a few other problems not related to code lose, like random crashing and wizard disappearing.
I've just spent two weeks in VS 2010 beta 2 doing some serious prototyping work. It all went pretty smoothly, and I really like VS 2010. At the end, I moved all the code back to VS 2005 and integrated it with my current project. My experience:
Moving the code back to 2005 was pretty easy. I did try not to use any C# features from 2008 or 2010. The only thing I missed was C#'s implicit properties, but those are easily fixed.
Yes, the project and solution files are not backward compatible. To migrate back, I just created new projects in 2005, and pasted the source files in through Visual Studio. Worked like a charm.
I did find one thing that would consistently crash 2010. If you use the splitter to view two different sections of a file at once, and cut-and-paste from one pane to the other, VS 2010 will roll over and die pretty quickly (not necessarily at the time of the cut-and-paste, but very soon afterwards).
There are some nice productivity features in 2010. You can drag a tab out and make it a window. In Windows 7, you can drag it to the top of the screen to maximize, or to the side to use have the screen. Dragging one file to one side of the screen, and another file to the other side, means you get the whole screen to edit two files, side by side. Very nice. (Even better on two monitors, but I was on a laptop.) The "Quick Find" dialog can now be docked -- that's a huge improvement.
As others have mentioned, use source control, but VS 2010 really is not unstable enough to be any more of an issue than VS 2008. Note that Team Foundation Server 2010 is also available in beta, and will be part of all MSDN subscriptions. It installs under Win7 and Vista. I'm using it for source control on my laptop! Team Explorer is integrated into VS 2010.

Should a new Visual Studio-Based Application be based on 2008 or 2010?

I am thinking of creating a product based on the Visual Studio Shell (primarily isolated mode). Since Visual Studio 2010 will most likely be RTM before my product, does it make sense to start with VS2010 as a base rather than VS2008?
Has anyone looked at what they changed in connection to the shell framework and if it is improved enough to warrant using it over the better documented and not-beta 2008?
The editor extensability model is changed radically since it is based off MEF and WPF in 2010. If you extend the editor on 2008, it is likely you will have to make quite a few changes to get stuff working in 2010.
However, a large amount of the extensability still depends on the old VSIP/COM which remain unchanged.
If you plan on shipping with the 2010 time frame I think skipping 2008 is not a bad idea.
Speaking as one who is working on a product based on VS2008 shell I would strongly suggest to use VS2010 instead as base. They have cleaned up their interface and probably fixed a lot of the bugs that are in the VS2008 shell. I think they would also be more sensitive to bugs than when they happen in the "old" VSShell.
This is really not a technical question, in my mind - you need to think about your customers before yourself - is there a large enough crowd of people who use vs08?
(I encountered a similar question and concluded that for my scenario - I need to support VS08)

What exactly is Microsoft Expression Studio and how does it integrate with Visual Studio?

My university is part of MSDNAA, so I downloaded it a while back, but I just got around to installing it. I guess part of it replaces FrontPage for web editing, and there appears to be a video editor and a vector graphics editor, but I don't think I've even scratched the surface of what it is and what it can do. Could someone enlighten me, especially since I haven't found an "Expression Studio for Dummies" type website.
Expression Studio is basically a design studio. It consists of a bunch of design software that Microsoft has bought for the most part. The audience is designers, not developers. The gist of the software is that Expression Blend enables designers and programmers to work seamlessly together in letting the designer create the graphical user interface.
In a normal workflow, the designer would deliver a mockup which the developer would have to implement. Using Expression Blend in combination with WPF, this is no longer necessary. The graphical UI made by the designer is functional. All the developer has to do is write the code for the function behind the design.
This in itself is great because developers invariably fail to implement the design as thought out by the designer. Technical limitations, lack of communication … whatever the reason. UIs never look like them mockup done up front.
Expression Design is basically a vector drawing program that can be used to design smaller components that are then used within Expression Blend as parts of the UI. For example, graphical buttons could be designed that way. It can also be used as a vanilla drawing program. I did the graphics in my thesis using Expression Design.
The idea is that designers will work in Expression Design (to design vector artwork) and Expression Blend (to build and style XAML interactions, as well as to define timeline based animations and interactions).
Developers will work on the application in Visual Studio. Visual Studio includes very basic XAML editing capabilities, so developers would only be making minor edits and would mostly be focusing on the code-behind.
That's the theory / product strategy side of it. In reality, if you're performing both roles, you'll end up having your project open in both Expression Blend and Visual Studio, switching back and forth between them depending on whether you're doing "designer tasks" or "developer tasks". Fortunately, Expression Blend and Visual Studio use the same project files.
From Wikipedia:
Microsoft Expression Studio is a suite of design and media applications from Microsoft aimed at developers and designers. It consists of:
Microsoft Expression Web (code-named Quartz) - WYSIWYG website designer and HTML editor.
Microsoft Expression Blend (code-named Sparkle) - Visual user interface builder for Windows Presentation Foundation and Silverlight applications.
Microsoft Expression Design (code-named Acrylic) - Raster and vector graphics editor.
Microsoft Expression Media - Digital asset and media manager.
Microsoft Expression Encoder - VC-1 content professional encoder.
For web development Expression Web is useful. For XAML development, Blend and Design are useful.
EDIT: Okay, I type too slow so most of what I had to say was already mentioned, so I'll strip it out except for...
The BIG thing to take note of is that the WSYWIG designer they used in Expression Web made it's way into Visual Studio 2008, which is a VERY GOOD thing. There is now EXCELLENT support for CSS, a better editing interface, and you can even go into a split edit mode to see the code and the content while editing.
For the longest time I was using Expression Web to do all my initial layout and then loading that into Visual Studio 2005. With Visual Studio 2008, there is no need to do it.
The Expression site is the first place to start. These are tools that bridge the developer/designer gap for building rich internet applications with Silverlight and WPF. They compete with Adobe Studio products.
Whilst Visual Studio is good for working with code, it has some weaknesses when it comes to dealing with XAML. In many cases a designer will build something visually different from a Windows application and Expression Blend allows them this freedom. It ties in Visual Studio for the C#/VB coding and debugging part of development.
Expression Studio is targeted more at designers. It integrates with Visual Studio in that Expression Studio uses solution and project files, just like Visual Studio. Which makes collaborating with designer easier. The developer and the designer open up the same project. The developer sets up the initial page with all the binding and the designer takes that page and makes it look pretty.
Please check for XAML .NET development, most of the tutorials makes use of many Expression tools.

Resources