WinForm Controls for .NET Compact Framework - winforms

I'm looking to invest in a UI control toolkit for a Compact Framework 3.5 project for Windows Mobile 5 and later. All I can find is the Resco MobileForms Toolkit (http://www.resco.net/developer/mobileformstoolkit/overview.aspx). I have two questions...
Are there any other good WinForm control collections out there?
Any experience with the Resco controls? How have they been?

What about the Smart Device Framework? The GUI components don't look as fancy as those in the Resco toolkit, but SDF seems to have a broader basic selection (SDF doc). I've never used either (have only used MFC on WinCE), but would also like to hear about CF development experiences.

MiraByte has these controls.

+1 on the Resco Toolkit. I've used it for quite some time now and I must say that if you need slick UI, they're the way to go. Apart from what Ivan's already said, the WYSIWYG template designers for thing like AdvancedList or DetailView let you do rather impressive things pretty easily.

Related

Retired Content Model View Presenter on MSDN

I am learning to develop windows forms application with Entity Framework using Model View Presenter pattern, since it is the suggested design pattern for windows forms development on stackoverflow. On the other hand, there is a 'retired content' note on every article about MVP, on MSDN.
This is quite confusing, as I don't whether I should continue learning about MVP and try to implement it in windows forms development or there is another better design pattern that I should follow.
Any suggestion?
links:
http://msdn.microsoft.com/en-us/library/ff647543.aspx
http://msdn.microsoft.com/en-us/library/ff649820.aspx
For WinForms you should stick with MVP (Supervising Controller).
The reason you are seeing retired content is because Microsoft is heavily invested in the new Windows 8, Metro Style applications. WinRT built using C++, C# and WPF, or HTML5 + JavaScript are going to be what you will build applications in going forward, so it makes sense to learn at least one of those.
WinForms isn't officially deprecated, but don't expect it to get a lot of love from MS. I would spend some time learning XAML, and the MVVM pattern. That being said, the concepts for all UI design patterns (MVC, MVP, MVVM) are all very similar, so learning one will help you understand the others.

Is WPF a good technology for software engineers to learn?

So I'm seeing a lot of C# software engineer job ads asking for lots of experience with WPF lately. I have not worked with WPF before, but it seems like it would be more of a designer oriented technology, not necessarily something that a programmer would need to know in depth. Now, I know there are a lot of cross-cutting skills (what programmer doesn't know HTML) but I'm wondering how much emphasis, if any, I should dedicate to learning WPF.
I know this is a little subjective, but I'd like to get people's thoughts on the importance of WPF from a developer's perspective.
If you want to create Windows UIs, you should learn WPF. It has nothing to do with designers, it's a UI framework, just like Winforms (only way better).
WPF is important if you are writing any new UIs for Windows in .NET. It is newer than windows forms and actually less people have the skill, and it is just reaching the point where companies that are currently using Windows Forms are switching to WPF or Silverlight, so the demand for WPF developers is increasing.
Paul Betts was a little off when he said: "It has nothing to do with designers.."
It has a lot to do with designers. WPF was architected with the designer heavily in mind. However, that doesn't mean a developer doesn't need to know WPF.
Sure you can just use WPF as a UI framework just like Windows Forms but you are losing out on the main benefit.
WPF was architected in a way so that the designer and the developer can both use the UI framework for what they do: designers design, developers develop.
A designer can jump into Expression Blend and make a really slick application design and even design a lot of application "movement". The designer can do quite a lot and quite quickly.
The developer can create business logic and provide data and integrate the business logic with the WPF. You can manipulate WPF using binding, which means no code-behind and design patterns such as MVVM are based on this, but you can still use code behind to manipulate WPF elements.
Self training sites:
http://windowsclient.net/learn/videos_wpf.aspx
(The next two sites are both "in
progress" training courses, meaning
they aren't finished)
http://www.wpfsharp.com/learning/wpf-self-training-course-for-developers/
http://www.wpftutorial.net/LearnWPFin14Days.html

Winforms perpective vs WPF. General question

I know such questions have been discussed here but have never seen them to be put it in this new light. We all know that WinForms isn't updated anymore by Microsoft. For client apps they are pushing WPF now. And people say WPF is harder to learn (I don't know, haven't tried really. And when I've tried I didn't much like it). But on the other hand, could that be it is just WinForms is perfect and there is nothing more to be done here?
WPF is in deed much harder to learn as WinForms. However it is really powerfull and gives you a lot of new possibilities. (I like the DataBinding-features and Templating really a lot).
WinForms on the other hand is very stable and is built on Win32. I'm sure it will be supported for a long time in future. But for me it's clear that microsoft will not extend the features if they have a new concept out there. Would you extend your old app, if you have a new one?
For me, I have switched already some years and I have never regreted the change. However, I have a lot of clienst with WinForms-apps, I built before and I don't have any hurry to update them to WPF. I never had a problem with WindForms, it is really a good and reliable product. As for your question: I think really WinForms is complete. It represents its time and has the features, this time had to offer. However, it's not perfect, no software can be perfect. Furthermore, I know also a lot of companies, developping new Apps with WinForms. MS will surely not letting die a technology for which so many apps exists. Look at XP, it will live longer than Vista.
Hard to learn is subjective.
I started learning winforms and WPF about the same time and I definitely feel more confident using WPF and feel I have picked it up quicker simply because I didn't have to "unlearn" winforms.
Sure, some WPF concepts are harder to understand at first but once they click into place you will start making progress and won't look back.
Saying that both technologies are great. Winforms Ace card is that it is mature, stable and easier to find help for.
Saying this, your question has a hint of "I'm not sure which one to choose so need someone to tell me" - The best advice is pick one and get on writing your application. Great applications can be written in both WPF and Winforms.
WPF is definitely better than WinForms, when you develop any LOB application its a high priority that how well you manage your code/project. When using WPF you have the power of following:
Separating your view from logic (the power of xaml, easier to read and design)
You can implement MVVM which gives you great control of your code. When working with multiple teams on a big project its a big plus.
On top of all that you can choose to use a framework like MVVM light, or use Prism 4.0 which not only helps implement MVVM but has other features too.
Another big advantage is, once you develop an application in WPF, you'll be able to develop in Silverlight with great ease. and with Silverlight 4 you have the capability of running your app out of browser without coding. Same app will run on desktop, cloud, web.
Finally I would say I wouldn't use WinForms because its 2011, WinForms is 90s...

What good resources are available for an experienced ASP.NET developer to learn Windows Forms/WPF programming?

I am a ten-year veteran of ASP.NET and C# development and I'm moving into a position where I will be doing much more Windows Forms and WPF development. I have minimal experience with these technologies.
Can you recommend any good books or resources that will help me ramp up on these technologies quickly? I'd like to find resources that skip over basic .NET programming topics and get right to the heart of good application architecture, design and implementation.
There are many resources on windowsclient.net. This is the official, Microsoft run Windows Forms and WPF site.
That being said, I'd recommend only trying to get a very basic idea of Windows Forms, and instead, focus on learning WPF. This will help for Silverlight development, as well. WPF is the newer technology, and really is a better path going forward for future proofing yourself. By learning it first, you won't have to unlearn many bad habits you'll pick up with Windows Forms development.
Take a look at MEF and Prism if you are looking for good WPF application design. As for books - I'd recommend Apress' Pro WPF in C# 2008 (Don't know when it will be updated for 4.0, but relative few new things to learn here (mostly a few new controls and improvements in existing controls/syntax).
I really liked this video by Jason Dolinger on the MVVM pattern for WPF. It is a really great into what you can do with WPF, how data binding works, and helps get you thinking in the right direction.
http://blog.lab49.com/archives/2650

What exactly is WPF?

I have seen lots of questions recently about WPF...
What is it?
What does it stand for?
How can I begin programming WPF?
WPF is a new technology that will supersede Windows Forms.
WPF stands for Windows Presentation Foundation
Here are some useful topics on SO:
What WPF books would you recommend
What real world WPF applications are out there
From my practice I can say that WPF is a truly amazing technology however it takes some time to get used to because it's totally different from the WinForms.
I would recommend you to take a look at this demo.
WPF is the next frontier with Windows UIs.
Built on top of DirectX, it opens up hardware acceleration support for
your .Net 3.0+ user-interfaces.
Emphasis on Vector Graphics - UIs scale and render better
Composable UIs. You could nest animated buttons in combo boxes.. the world's your oyster.
Is a rewrite with only minimal core components written in unmanaged code VS GDI-User Dll based Winforms approach which is a thin managed layer over largely unmanaged code.
Declarative approach to UI programming, User Interfaces are largely specified in a XML variant called XAML (eXtensible Application markup language) pronounced Zammel. This opens up WPF to designer folks who can specialized tools to craft UIs that the developers can then code up. No translation losses between wireframes to final product.
MS 'allegedly' will not provide any future updates to Winforms. Heavily invested in WPF as the way forward
Oh yeah, before I forget. Works best on Vista :)
You can get either Adam Nathan's WPF Unleashed Book or Chris Sells Programming WPF .. those seem to be the way to go. I just read the first chapter of Adam's (Lead for WPF at MS) book. Hence the WPF praise fountains :)
Take a look here http://windowsclient.net/ and here Windows Presentation Foundation (WPF)
Basically WPF is created to make windows form easier to design because of the use of XAML, designers can work on the design and programmers on the underlying code
WPF is the Windows Presentation Foundation. It is Microsoft's newest API for building applications with User Interfaces (UIs), working for both standalone and web-based applications.
Unsurprisingly, there is a very detailed but not all that helpful Windows Presentation Foundation page at Wikipedia.
The WPF Getting Started Page at the Microsoft MSDN site is probably a better place to start.
Is the new Windows Gui system. I don't believe its aim is to make development easier per se but more to address fundamental issues with WinForm, such as transparency and scaling, neither of which WinForm can effectively address. Furthermore it seeks to address the "one resolution only" paradigm of WinForm by mapping sizes to real-pixel sizes and making flow layout easier and more fundamental.
It's also based on an XML derivative making it easier to change the UI and forcing a separation of the UI and the core code (although technically you can still badly hack it together in this manner).
This separation also drives a desire to be able to divide the work into two camps, the designers taking charge of the XAML and layout and the programmers taking care of developing the objects used in the XAML.
Check out Eric Sink's Twelve days of WPF 3D.
Windows Presentation Foundation. It's basically Microsoft's latest attempt to make development easier, and provide a whole heap of nice functionality out of the box. I'm not sure where to start, but googling "WPF 101" should throw up a few useful links.
WPF is part of the .net 3.0 stack. Its microsoft's next generation Graphical User Interface system. All the information you need can be found on wikipedia and msdn's wpf site
To Get Started programming I guess check out the essential downloads on windows client

Resources