Web vs thick app

Joined
Jan 9, 2015
Messages
63
Reaction score
0
Hello.

I haven't developed software in around 10 years so am a bit out of date and need some advice. I obviously won't be doing the dev work myself but just want some opinions before starting.

I have a simple vb.net application that connects to SQL server database on a local network. Nothing too fancy.

It may be time to rewrite and I am wondering which way to go:

Either thick app, perhaps MVVM C# WPF? Is WPF still relevant?

or go the web route, ASP.Net MVC.

Anything else? Preferably MS platforms.

We don't need the system to be on the internet but I am wondering if its worth considering going the web route now seeing as web is now so powerful and more scalable, can just host each web app and database locally.

Thanks
 
C# MVC is incredibly popular and you can't go wrong with it.

Don't focus on it exclusively though. Make sure that you are at least familiar with WPF and/or Windows Forms so that you can quickly upskill yourself if required.

The technology you use should be determined by your requirements. Web development is still a bit clumsy for very rich client interfaces but the benefit of working in a browser does give you extra flexibility cosuming the application.
 
Last edited:
It depends on what you are looking to do. As mentioned, web apps do are a but clumsy and take quite a bit more effort than thick clients, however they can be very good for dashboards / monitoring / simple capture forms.

Personally I prefer the n-Tier approach where you create application servers - create an application layer using WCF services that make all the calls to the database then your UI only needs to make service calls to the application tier.
All your business and security logic resides in the application server so your UI is much lighter and you can switch later if necessary.

If you need rich functionality, choosing the write thick client platform may be a bit more challenging.
- Universal App --> This is the new platform for modern applications and supports all versions of Windows 8.1 (Desktop, Phone & RT). The biggest downside to this is that it doesn't run on Windows 7.
- WPF --> WPF has gone a bit quiet lately, but there are rumbling that with Windows 10, new functionality will be added to WPF again.
- Winforms --> Classic Winforms still has the most controls and is the quickest to develop for, however it doesn't have the image scaling for new high-res monitors.

If you give a few more details on what you are looking to build and what OS versions you are looking to target, I can provide more detailed recommendations.
 
I disagree with using web services for all applications by default. No use adding extra complexity if you don't need to. You should uncouple code your persistence layer so that it can be easily consumed using any approach though.
 
It depends on what you want to achieve and what the intended user experience is.

If it's a quick & dirty utility type app then Winforms is the quickest and least effort.

If a larger Line of business app then you need to carefully look at your desired architecture and then choose accordingly.

IMO, a browser client is great for certain type of apps, but where productivity and throughput is of utmost importance they fall short. The richness of browser based client is also not at the level where a WinForms client is but the gap is closing. Web clients a far more effort than winforms clients.
 
"What car should I buy? I have a red one currently but don't know which one to buy now"

As others have said. You REALLY need to evaluate precisely what you want to do. Do you want your stuff to be available "in the cloud" and switch to that platform? Will it always run locally? etc
 
Top
Sign up to the MyBroadband newsletter
X