I'm building an LOB app for a very big and serious client, the app itself is not big but my client is so I have to get it right.
I'm generally tempted to always use the latest stuff out there and learn as I go, sometimes this ends up in good productivity. Like when I wrote most of with WCF Data Services over asmx services, and then I used Silverlight over ajax/asp.net, these turned out to be a good decisions although there was initial pain in getting off the ground.
Specifically I'm thinking of using WPF over win forms, I've never used WPF, but would the learning curve out-weigh the benefit? Also generally would this kinda thing be a bad move when we're really tight on time?
Second: When it comes to design principals like for example using MVVM in my case. Would that again be an over kill for a small app? (4000 lines as a bad estimate?) Sure my code won't be testable but would I even need such a small app to be testable? Overall I'm trying to keep my base code neat and my UI layer thin.
My question is: Just generally, I want to know, how many serious devs/small companies out there, move to newer technologies or hard core design patterns, practices, frameworks (Prism, CAB) or models (MVVM) for smaller apps? How do make a call for >> complexity + learning curve vs benefit
- I'm I have about 1-2 months tops, a lot of base code and almost all planning & design is done.
- Its a fixed fee I'm billing which sucks, but they are starting to have a few plans to build more functionality on top.
- I (sole dev) will be maintaining it.
- Partly I want to choose WPF to provide a better more professional look too, to get them to buy more updates/upgrades on functionality from me.
- I actually tried writing my own crazy MVC framework in win forms, it was a mess, I have a "feeling" my code will be better in WPF?
- Any thoughts on using MVVM Light?