|
I've read the WPF blogs are quiet, but so are the WinForms areas. Right?
Charlie Gilley
<italic>Stuck in a dysfunctional matrix from which I must escape...
"Where liberty dwells, there is my country." B. Franklin, 1783
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
|
|
|
|
|
I don't know about WinForms. Not sure what to count on with MS nowadays!
(Stuck in a dysfunctional matrix from which I must escape... Love that!!)
ed
~"Watch your thoughts; they become your words. Watch your words they become your actions.
Watch your actions; they become your habits. Watch your habits; they become your character.
Watch your character; it becomes your destiny."
-Frank Outlaw.
|
|
|
|
|
I have one suggestion not to use WinForms (it's dead), another that says WPF is dead.
Now you see why I asked the question. This highlights the dilemma facing developers and architects. So, keep the UI away from the system with a 10' pole, as others have suggested, and be flexible.
Charlie Gilley
<italic>Stuck in a dysfunctional matrix from which I must escape...
"Where liberty dwells, there is my country." B. Franklin, 1783
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
|
|
|
|
|
The enterprise story just isn't quite there (still) for WinRT in my opinion. Until MS gives us a way to manage/curate a corporate "app store" for WinRT apps I see no reason to use WinRT for internal development over WPF. If you were developing for external audiences WinRT would be a no brainer.
|
|
|
|
|
My personal experience is that a new application must support the current and the projected technological environment and skills. Two years ago I started development on a Line-Of Business application for a small company that has no dedicated IT people.
So I chose to use Windows Forms. It's not fancy as WPF or touch enabled like WinRT but it works now, it is understandable by anyone who can use Office, it runs on their computers (Win XP to Win 8) and there are loads of developers that can support this application in case that this company decides to fire me.
|
|
|
|
|
I agree with the majority of what has been said here. I want to add on to BillWoodruff's suggestion. I would suggest using a wireframe / mockup tool of some kind to design the UI for the system via an iterative process of interviewing the stakeholders and users. I would recommend balsamiq. It's a really neat tool that can generate interactive pdf's where button clicks can jump to other pages and so forth. It gives a really great idea of what the UI will do from a functional perspective.
I would focus on the following portions of information gathering (again, Bill hit on most of these):
* What does your current system do really well today? Nothing is a valid answer, I suppose. But if you get this as your response, step down to 'What aspect of today's system is least painful to use?'
* What functionality is the most used? (Good/bad/painful doesn't come into play here)
* What functionality is highest profile? This sounds like the above, but it's not. It could just be a bit of reporting used only by high level managers. It may not be used a lot, but you want to keep the higher ups happy.
* What are the top 3 things that today's system does not do, but you really want it to be able to do? This could become a very long laundry list of things and a brain storming session with the stakeholders would be a great benefit here. 3 is really an arbitrary number, but it forces everyone to really prioritize the things they want in the new system. You may end up with a longer list than this, but the going through the process to derive these 3 will be meaningful for everyone in the long run.
* How many users does the system need to support? You can answer this by finding out how many today's system supports and then getting an idea of what the company's plans for future expansion are.
* What devices will be used to interact with the system? Is this a desktop only application? Are you tying yourself to Windows or some other OS? Do you want it to be mobile? If you want more than one UI, I would seriously evaluate a web based solution. WPF can probably handle multiple display types, but I haven't used it so I don't know.
* If you are learning as you go and this is an enterprise wide system, I would research, research, research. This is probably a given. The biggest concern here is to back yourself into a design corner. Abstracting technology layers as much as possible will give you breathing room you need. I'd also recommend a testing methodology of some kind (TDD). This bullet makes me a huge hypocrite because I struggle with all of these...but I can speak from experience that this is where I've coded myself into corners.
|
|
|
|
|
Did you ever think you might be thinking too far ahead? How about finding out first what they want the system to do (if it's not a direct port) and then pick the UI and tools based on their requirements. The last system lasted 40 years and I'll bet it lasted that long because they could find at least a minimum of support for the OS and software (and by now it's very cheap to support because they don't change anything.) What ever system you come up with, if it's based on Windows then I guarantee it won't last that long. How many Windows 3.1 applications do you see still being used? You can get very fancy with the UI but in the end it just needs to be functional. It will be the back-end data that lives on way after the front end gets replaced so that design needs to be very solid. After all that's probably what this project is anyway. A new front end and their backlog / wishlist of new functionality because they probably will want the old data ported.
|
|
|
|
|
I worked on a project to replace a 40 year old manufacturing system several years ago. We used C#.net WinForms and SQL with MS reporting services. It worked out pretty good and saved the company millions.
|
|
|
|
|
In a couple of years everything will be done in AngularJS anyway.
modified 20-Oct-19 21:02pm.
|
|
|
|
|
There's some good suggestions here. But WPF is dead. Check the web about this. Microsoft has abandoned it so spending a lot of time learning it would be doubly worthless. My advice is to use Winforms where you need a lot of GUI interaction and flexibility and/or where you want to develop an app faster than on the web. Else use the web for anything simple or mobile.
- Grant
|
|
|
|
|
40 yo manufacturing system...? I mean are you sure about the age, isn't it rather 25 yo? Then, you're a colleague of mine and they apparently assigned this task to two of us. No, seriously: take care of an architecture that allows you to plug in arbitrary data-backend and UI front end.
|
|
|
|
|
Checking file dates... oops - 33 years Rounded up too much... this stuff was being written in the very early 80s
Charlie Gilley
<italic>Stuck in a dysfunctional matrix from which I must escape...
"Where liberty dwells, there is my country." B. Franklin, 1783
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
|
|
|
|
|
My new choice is a Web API on the server side, communicating with a client side app in AngularJS. The advantages are that AngularJS is robust and quick to program to, and the Web API allows me to write a client in any language or platform for the same server. The idea is to enable mobile apps from the start.
|
|
|
|
|
All - I really appreciate the productive feedback. It's become clear to me that there are competing camps and preferences but that any system design should not really depend on the UI. What I've gathered from my searching and reading this article is that the UI is important, but it's not the most important thing in the system.
Given a properly designed set of components, the UI is just one more chunk, be it WinForms, WPF or anything else. I'll have to knock up a database and play with a couple of the suggestions that have been tossed out here.
Clearly, I want to avoid tying myself to any one UI technology. Based on how fast things move these days, I see Microsoft go from WinForms to WPF to RT(?), and it feels like to me that with the web and mobile driving much of the design of systems that things like AngularJS are just pulling the UI away from MS that much more.
I'm rambling, back to the other project and thanks again. This topic might become the basis for an article.... or should.
Charlie Gilley
<italic>Stuck in a dysfunctional matrix from which I must escape...
"Where liberty dwells, there is my country." B. Franklin, 1783
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
|
|
|
|
|
Off course we are.
I'll get my coat.
|
|
|
|
|
Quote: Wrong is evil and must be defeated.
Wow! And you're still saying we're on the right path. Makes no sense!
Favourite line: Throw me to them wolves and close the gate up. I am afraid of what will happen to them wolves - Eminem
~! Firewall !~
|
|
|
|
|
Jörgen Andersson wrote: I'll get my coat Jedi robe. FTFY
It's an OO world.
public class SanderRossel : Lazy<Person>
{
public void DoWork()
{
throw new NotSupportedException();
}
}
|
|
|
|
|
There are divergent ideas on this.
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
3 years and 2 months after my divorce, I have finally used up the last bottle of shampoo my ex "wife" was hoarding. No, we could not afford real poo but that is another story. Yes she really had enough bottles of shampoo to keep my hair squeaky clean every day for that amount of time. No wonder I seem rich now by comparison. Going shopping now!
You can lead a developer to CodeProject, but you can't make them think.
The Theory of Gravity was invented for the sole purpose of distracting you from investigating the scientific fact that the Earth sucks.
|
|
|
|
|
..so, in case of a zombie-apocalypse, you'd be hungry with shiny hair?
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Eddy Vluggen wrote: zombie-apocalypse
Probably. The zombies would starve to death finding her brains though.
You can lead a developer to CodeProject, but you can't make them think.
The Theory of Gravity was invented for the sole purpose of distracting you from investigating the scientific fact that the Earth sucks.
|
|
|
|
|
Congrats you've finally got closure, good feeling ain't it?
It took me 8 years to finally get rid of my ex; the drunken phone calls, following me to the bar and cussing me out, using our kids to get at me, etc.. When it finally ended it was a HUGE weight off my shoulders.
New version: WinHeist Version 2.1.0 Beta
Have you ever just looked at someone and knew the wheel was turning but the hamster was dead?
Trying to understand the behavior of some people is like trying to smell the color 9.
I'm not crazy, my reality is just different than yours!
|
|
|
|
|
Hehehe... I had to marry mine off to someone else to get her to stop crawling in the window at night for connubial favors. I offered to give away the bride, but her victim new husband thought it might embarrass his family.
Will Rogers never met me.
|
|
|
|
|
Mine used to drag her new husband to the bar with her. I would ask him WTF there's no bars on you side of town? Ended up she drove him crazy and he left her ass and now she's alone and occasionally has a boy friend but don't keep them long.
New version: WinHeist Version 2.1.0 Beta
Have you ever just looked at someone and knew the wheel was turning but the hamster was dead?
Trying to understand the behavior of some people is like trying to smell the color 9.
I'm not crazy, my reality is just different than yours!
|
|
|
|
|
Mike Hankey wrote: finally got closure
lol.... I was actually just thinking of you. My conspiracy theory says that, either consciously or subconsciously, you felt the disturbance in the intelligence aura surrounding Floor-eeee-duh as I am quite sure that the average intelligence of the state dropped about 50 points when she moved back there.... right around the time you decided to move to NC (I think it was).
I don't have to worry about any drama though. I have taken measures to keep my location hidden from her. She could probably find me if she really wanted to but I am way more trouble than it's worth.
You can lead a developer to CodeProject, but you can't make them think.
The Theory of Gravity was invented for the sole purpose of distracting you from investigating the scientific fact that the Earth sucks.
|
|
|
|