Smart client Winform vs MVVM + Prism [closed] - wpf

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
Is Windows forms Simart Client is a legacy thing now? And is it to be replaced by Prism (and/or MVVM)? Should I bother to learn about Smart Client?
Another question which might be related to is that what are the performance differences between Winforms and WPF apart from all the cool stuff in wpf like data binding and 3D? Does WPF struggle to run on Windows 2000 and Pre2000 OS? This question is important because it can very much decide which platform you are going to use winforms or WPF when you have to support old OSs (for e.g. in NHS)?

Having worked with both the Smart Client Software Factory and WPF + MVVM, I'd certainly consider SCSF "legacy". I wouldn't use it on a new project. First, it's based on WinForms, but maybe more importantly, it's a bloated framework. It's cumbersome and does not lend itself well to unit testing. I found, after developing an application with it for the better part of 5 years, that the framework just "got in the way" far too often.
I can't speak to Prism, but after my experience with SCSF I would shy away from any out-of-the-box frameworks. When I started working with WPF and MVVM I wrote my own "framework" bits. Really, the only things I found I needed were a good IoC container (StructureMap was my choice) and an EventAggregator (two interfaces and one class implementation that I wrote myself, borrowing directly from a post on Jeremy Miller's blog). Other than that, I go with straight WPF and the MVVM model of development.
Given a greenfield desktop application, my choice would be WPF, MVVM & STructureMap.

I think your first question pretty much comes down to WPF versus Winforms, which have been answered before.
However, regarding your second question about WPF on Win2000 and earlier, WPF is a part of .NET 3.0 and you need at least XP SP2 or Win2003 Server for .NET 3.0 as can be seen here, so if you want to use .NET in a pre XP environment, you'll have to stick with WinForms.

Related

Should I use KnockoutJS, SilverLight, or both? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I know they both use MVVM. Both are used in web development. But should I consider using both in a web app? Is that redundant? I've seen I can use KnockoutJS with [ASP.NET] MVC. But I don't know if I can use it with Silverlight in that way or any other way for that matter. I'm a bit new to both, so I don't know how to go about it.
Silverlight and HTML/JavaScript/CSS are both client technologies. So you would choose one or the other. Knockout falls into that HTML/JavaScript category.
On the server you can use any web services you want. Microsoft or otherwise. But if you like ASP.NET MVC, you can use the actions it provides ass your web services. Or you can use WCF services for the web services, too. In MVC 4 beta there is even a special controller type made for service calls (the WebAPI).
But the real answer is "it depends". Your selection depends on what you are trying to accomplish, your skills, who will maintain it, etc.
Not everyone uses Windows, besides Silverlight does not work on Android, iOS.
They are used for different purposes. What exactly do you want to do in your project?
BTW, knockout.js is included in ASP.NET MVC 4 projects by default.
If you don't know what is knockout I think you totslly don't need to use it)
Maybe the question is: what to choose between asp,net mvc and silverlight?
It's totally different technologies just using same pattern.
If you need to support large amount of users on different devices including old browseres you'll better to use jquery (knockout) or you planning rich feature app for small group of people (like admin interface) its easier to use silverlight.
And surely the is no problem to use them together

Silverlight for Mac and Is Silverlight dead? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
so i have been writing a prototype application in Silverlight for the last 3 months, although I am enjoying the technology and it has been very useful for the current task, I have read and been told from varies sources that the technology could no longer be supported and HTML5 is the way forward? Was just wondering if there was some solid information on this from Microsoft and if so where it could be found? Done some googling and just found blogs with sparse info.
Also if anyone one had any thoughts on the state of the mac version of silverlight? I have run some tests so far and the applications performance is really poor compared to silverlight running on windows.
Thank you for your time.
I'd have to look for the articles and links again but, long ago, Microsoft would not answer any questions about Silverlight and, more recently, has announced they do not encourage and will no longer develop Silverlight for the desktop. They now encourage HTML5 usage as evidenced by Windows8 which won't even be able to directly run Silverlight at all.
Interview with Microsoft's Bob Mulia by Mary-Jo Foley:
Our strategy has shifted
So what’s a developer to make of Microsoft’s messaging (or lack
thereof) about Silverlight at its premiere developer conference?
I asked Bob Muglia, the Microsoft President in charge of the company’s
server and tools business, that very question and got what I consider
to be the clearest answer yet about how Microsoft is evolving its
Silverlight strategy.
“Silverlight is our development platform for Windows Phone,” he said.
Silverlight also has some “sweet spots” in media and line-of-business
applications, he said.
But when it comes to touting Silverlight as Microsoft’s vehicle for
delivering a cross-platform runtime, “our strategy has shifted,”
Muglia told me.
And, about the Mac:
“But HTML is the only true cross platform solution for everything,
including (Apple’s) iOS platform,” Muglia said.
More links with Microsoft interviews:
Microsoft has abandoned Silverlight in Metro
Microsoft's Silverlight has been dropped for HTML5
I'd rather not take part in these discussions, but the one comment said it best. None of us can reasonably answer this question.. even IF "MS' strategy has changed." It could change back. The exec who said this -- Bob Muglia-- announced a month later (maybe it was 1.5 months) announced he was leaving the company (and is no longer with Microsoft today).
The only real indicators we have are that they haven't announced an end of life date, and there is another technology that uses Silveright that came out called VS LightSwitch (not just the phone). Not saying that any of this means that Sivlerlight is sticking around, BUT we really don't know. The problem is more complex than a fanboy of any type can really answer.
I'd like to think it will be around for a while (and I personally am basing a new project on it). Not to name drop, but there is a former Silverlight and Win8 evangelist who recently left MS to go work for Disney (where I know they do a lot of Silverlight work, yet).

Why does silverlight exist? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 13 years ago.
Why not to empower WPF or ASP.NET instead of creating a new product?
ASP.NET is simply a server-side language for websites. While they have added support for things like AJAX ASP.NET Controls, it still can't come close to the level of richness Silverlight is capable of.
And then WPF requires the 200+ MB .NET Framework which can only run on Windows.
Silverlight was created as a lightweight 5 MB plugin that can run on Windows and Mac alike while meeting strict security guidelines for Internet use. From my point of view, Silverlight is a different tool for a different purpose.
WPF is meant for regular desktop applications and cannot be embedded in a webpage (XBAP isn't the same), and ASP.Net has nothing to do with Silverlight. (ASP.Net is a server-side technology; Silverlight is client-side)
To complete with flash and offer an all in one solution to all types of development and take over the world. Not that it will beat flash and its lineup of tools any time soon.
Because no matter how you empower ASP.NET or WPF you won't get the richness of Silverlight, Flash, ... in a web browser. Javascript's kind of limited.
ASP.NET runs on the server, what was needed is something to run on the client.
WPF is empowered enough already, what was needed is something which can run on the client in a secure manner and that can't be used easily to do malicous things. In other words far from "empowering" WPF, some form of WPF needed to be seriously curtailed.
In addition it can't be assumed that a full .NET framework is present on the client, Silverlight is designed to contain just enough of the needed framework to make things happen with minimal requirements on the client.
A better question might be - why are WPF and Silverlight 2 separate things?
My best guess is that the decision was made to separate them "because we always have separate technologies for developing web vs. developing desktop applications" - but things are not nearly so cleanly split anymore and would make sense to see the 2 merge together.
Probably starting from scratch you wouldn't have both Silverlight and WPF.
I suspect that deep in the MSFT psyche they still don't 'get' the web - WPF was a way of modernising drawing on the desktop, adapting it to web was obviously an afterthought.

WPF vs WinForms or Rich UI vs Stable Applications? What do you think about the future of the Windows Forms platform? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
WPF vs WinForms. What do you think about the future of the Windows Forms platform?
Count the # of times VS.NET 2008 crashes on you during a day of WPF UI development and how many times it crashes on you during winforms development. (here it's almost impossible to do serious wpf development, it crashes alot even after sp1). Winforms also has a lot of mature controls. Sure it doesn't have the fancy shiny 3d stuff of wpf, but for LoB apps, you don't need these anyway. Add to that the blurry text issue of wpf, and you'll understand that wpf has a long way to go before it's mature enough to replace winforms.
I am currently working with my third client to deploy develop a WPF application. The first was a LOB application for one of the 3 major shipping providers in the US, the other two for smaller companies.
I find Visual Studio to be perfectly stable, but I also never use the designer in Visual Studio. Expression Blend is perfectly stable, if not missing many features expected by designers.
WPF uptake is surely slower than language features introduced into Visual Studio & .Net, but it is far superior to WinForms in many ways and will be the future.
Go learn the WPF mindset and you'll never go back.
Windows forms is Honda.
WPF is Orange County Chopper.
It costs more to build a custom hand made chopper, it takes a lot more skill for a worker to do all those components by hand, it requires artistic sense, dedication and allot of work, compared to a worker in a Honda factory that only presses 3 buttons and a bike comes out.
The result?
An Orange County Chopper is unique, beautiful, stands out of the crowd, and makes it's owner prowd, but it is also harder to manufacture, costs more, requires more talent on the builders side and not everyone can do it.
And the point of this rant is?
Use WPF if you want to stand out of the crowd and your clients can afford it ;-)
My own opinion is that the adoption of WPF is pretty slow at the moment.
I have to agree with both posts above. Further, until Microsoft starts really pushing WPF in its own products, it's not really going to take off. In my mind, Microsoft dogfooding WPF is what will lead them to really address the issues that are holding it back: the crashes, text issues, and lack of pre-built controls.
I gave up on WPF because the visual editor in VStudio 2008 is so unbelievably slow!
I think WPF is firmly targeted at a group of developers who are not inclined to adopt it. I don't believe WPF was made for CRUD apps. CRUD is much harder in WPF than WinForms. I have seen examples of databinding which I just don't like. You have to run through an intermediate technology (like CSLA) to make it work well.
No, I think WPF was designed for developers who want to ship super slick, super fancy media IDEs to the public. Unfortunately, this is precisely the group which is most stuck on C/C++ and most unreceptive to managed code. For this reason, you have to question Microsoft's market-thinking.
On the other hand, Microsoft eats its own dog food, and new flavors of puppy chow are often a response to strong internal presures for better stuff. You can see why the Windows Media group and the Zune group both would like and want WPF.
I have worked with WPF on a couple of applications (one LOB, one controller UI) and I find it is very elegant and a productive tool to use. The databinding and nested control element container model are very powerful.
It is very different from Winforms and has a big learning curve. Once you have made some progress along that learning curve, though, you will never go back to WinForms - at this point when I think of using WinForms I think, "ugh!"
I guess you have to look at what WPF offers over Webforms. The only thing that comes to mind is more possibilities GUI wise, but that again make WPF a bit more complex. Most Webforms applications aren't made to look good, they are meant to perform certain operations in an easy and understanding way and there WPF doesn't really give you much over Webforms.
Maybe silverlight could give wpf a push. There are a lot of interesting possibilities with full screen siverlight apps(Photo apps, office apps, report apps...) and they would of course be easily ported to WPF apps.
I have used both WinForms and WPF and I will have to agree that WPF still needs a lot of work in order to become the UI platform of choice for LoB applications. Currently WPF is useful for creating UI with rich effects and animations, but even then there are problems.
I've seen MS's demo of a healthcare app using Silverlight and it is gorgeous. I would say that without a doubt it is the future as it builds upon the experiences of WinForm and restructures things to get around the problems of WinForm.
That said, at present WinForm is obviously more mature and probably has a shorter time to market due to the stability of the platform and wealth of resources, tools and knowledge.
I would expect that WinForm apps will slowly peter out within another decade but for now it is still a very viable platform.
Although the learning curve for WPF is a bit long I think people have started to take it under serious consideration for building new applications. But still we need a serious motivation for migrating from Winforms to WPF.

Krypton Controls anyone? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I found the ad on this site to Krypton controls (and here's another one!) and was wondering if any of you using vs.net 05 or 08 are using them and how that's working out. If you're answering, please specify which parts you're using (free, ribbons, tabs) and which vs.net you're on, which language(s) you use, along with pros and cons. I know there are probably better suites out there that you may be fond of, but this question is specifically about Krypton controls. We'd be using it with vb.net, .net 3.5, 08, so I'm particularly interested in hearing about your experience in those areas. (I've watched all the screencasts)
I have been using the Krypton Controls ToolKit for over 3 years with Visual Studio 2005 and 2008 in .NET 2.0, 3.0, 3.5, and 3.5 SP1. I have only used the free ToolKit and not the Ribbon or Tab controls. I have used it only in C#.
Pros:
Free
Easy to Use - It adds all of the components to the Toolbox so it's very easy to implement.
The font rendering is awesome compared to the default windows form controls.
The "chrome" which allows you to totally override the look of the application is very nice.
The ability to define a master scheme makes it easy to change the look of similar controls in one central location.
The support, even on the free Toolkit is awesome, by submitting questions on the Component Factory forum.
It includes additional controls that should've been part of the windows form controls including headergroups.
Cons:
That the other components aren't free ;)
In older versions, some controls didn't exist in the ToolKit so you had to use the winform control which wouldn't entirely fit with the application look. The latest version, however, has most, if not all the controls implemented as Krypton controls.
Here's a quick sample of our options dialog for the "MuvEnum Address Bar" using the Krypton Chrome. It was super easy to create. Notice the smoothness of the fonts.
I can't recommend the Krypton Controls enough.
John Rennemeyer
MuvEnum
I have been using the free controls in various small internal projects for work for several years. I started following his blog just as he started as MicroISV, from a mention on a MicroISV blog. So I have been through many improvments he has made. The controls he makes are rock solid (at least in my usage of them) and he really listens to what his users want in features and other controls.
I HIGHLY recommend the controls!
I have been using the full suite for the last year and a half. I have been very happy with the results. They are easy to use and I haven't run into any issues that I couldn't fix myself (I purchased the source code version).
Definitely recommended.
I'm using it. It's quite okay.

Resources