ASP.Net or WPF (C #)?

Our team is divided into this, and I would like to get the views of third parties.

We are creating an application and cannot decide whether we want to use the .Net WPF Desktop application with the WCF server or the ASP.Net web application using jQuery. I thought I was asking a question here, with some specifications, and see what pros and cons both sides will use. I have my own favorite and feel like I'm biased.

Ideally, we want to create the initial version of the software as quickly as possible, and then slow down and take time to create additional functions / components that we want later. First of all, we want the software to be fast. Users view recordings all day long, and delays in downloading recordings or refreshing screens kill their performance.

Application Details:

  • I rate about 100 different screens for the initial version, with plans to add a large number of additional screens later after the initial version.
  • We want to use two-way communication for reminder and event systems
  • Currently, it is necessary to support about 100 users, although we were told that they will increase up to 500 users.
  • We have several locations

Elements to consider (perhaps not initially in some cases, but in future releases):

  • Room for additional components that will be added after the initial release (there are many of them ... maybe it works here than the original application)
  • Keyboard navigation
  • Performance Required
  • Production speed to initial version
  • Low maintenance costs
  • Future support
  • Softphone / Scanner Integration

Our developers:

  • We have 1 programmer who has been studying WPF for the past few months and was the one who suggested using WPF for this.
  • We have a 2nd programmer who is familiar with ASP.Net and who can help with this project in the future, although he will not work on this until the first release, as his time will be spent on maintaining our current software.
  • There is me who worked with both, and I am comfortable in
  • We have an external project management company and they are ASP.Net.
  • We plan to hire 1-2 others, but we need to know in which direction we will move first

Environment:

  • Shared users are located on a Windows 2003 server with Terminal Services. They connect using WYSE thin clients over an RDP connection. The administrator has their own PCs with XP or higher. Users are allowed to specify their own permission, although they are limited to using IE as a web browser.
  • Other locations connect to our network through an MPLS connection.

Based on this, what would you choose and why?

I am particularly interested in hearing from developers who have experience with ASP.Net and WPf.

+50
Nov 17 '10 at 17:57
source share
7 answers

Reasons for choosing WPF:

  • Much faster and easier than ASP.NET and jQuery
  • It is much easier to implement fast incremental background data loading.
  • It is much easier to implement client-side caching of frequently used data (important for remote offices)
  • More efficient data transfer from the server (may use advanced WCF features not available for web browser)
  • Keyboard navigation is better since you can easily identify shortcuts, etc., and not be limited to the browser
  • Maintenance overhead is much better using the MVVM pattern
  • Softphone integration simple

Reasons for choosing ASP.NET and jQuery:

  • No what i see

In your scenario, I would definitely choose WPF.

+39
Nov 18 2018-10-18T00:
source share

Why not consider a hybrid solution - Silverlight

With Silverlight, you get most of the goodness and fullness of using WPF (with almost exactly the same XAML and code), plus you get ASP.NET deployment characteristics

Many people consider Silverlight the next step after ASP.NET/AJAX, and it will definitely provide all the WPF benefits that apply to your scenario.

+9
Nov 23 '10 at 2:53
source share

First of all, I would sit down and write business requirements and specifications. No matter which technology you use, proper planning will affect your project schedule more than the choice of technology. This is especially true for your own custom application.

As for development, I would take the requirements and lay out the functionality of the backend. I would actually implement a backend in WCF, regardless of client technology - this way you could use the best of both worlds if necessary (for example, you could write a stand-alone WPF application to integrate with your phone). ASP.NET with jQuery can easily use WCF services (JSON or XML version) together with the desktop client.

As for the development of client forms, it greatly depends on the experience of the developers and your plans for the future. I am not going to go into the advantages / disadvantages of developing web software here - in the last 10 years there have been tons of articles about cloud / web software (e.g. salesforce). I would rather focus on the results: which is your team most comfortable today and in the future. There is a huge difference between WPF and web development, in terms of development, and requires a completely different experience.

+8
Nov 17 '10 at 20:41
source share

WPF is the way to go, no doubt. I agree with everything @Ray Burns said.

Because:

  • You will get a richer, smoother and faster application.
  • It will be easier to build 1 .
  • Softphone / scanner integration (e.g. hardware) will require the use of browser plugins, etc., and this could be a nightmare with a browser based application.
  • Keyboard navigation is still better with native apps.
  • IME support is easier with WPF applications.

Definitely use WCF to provide a backend through the Entity Framework, see Entity in layered architectures . You can better integrate with the backend in your native application, because it can be called inline - there is no need for callbacks or ajax. I built components for WPF that are linked through EF with business logic to provide knowledgeable controls for simple things like validation. It is incredibly useful to leave the customer name field on the form and it just works.

To add additional components, you need to build it using a well-designed plugin architecture. This is the same in both environments. I have some thoughts about this that I wrote in my journal called Designing the plugin architecture for the application.

When creating a WPF application, you will write in one language (for example, C #) + markup (XAML). When creating asp.net, you get two languages ​​+ markup, since you always need to encode some Javascript.

So, based on your requirements, this will be WPF / WCF (EF). The web application will be much more difficult, more complex and not so enjoyable.

About 12 months ago, I was fortunate enough to receive a free hand for choosing technology for a new application. I spent almost a month evaluating all the options and came to the conclusion that these should be C #, WPF, Entity Framework. After writing the application, I can confirm that it was the right choice ...




1 . It will be even easier, even if your programmers should first learn WPF. WPF is much better thought out, gorgeous and beautiful. very pretty. It just works correctly.

+5
Nov 25 2018-10-25
source share

Hello
I think The question at issue is Windows-application or Web application (WPF for win-app VS asp for web application), Which one is better for you and your project? . In this case, your platform is a network, and your program should work on the network. therefore, for this use, the web application is better, but there are many existing points that can make decisions tough. The network platform has a big problem (in my personal experience)

Working with an asp.net web application is almost complicated. you should try to handle a lot of things for a web application (request time, session management, even a bad user interface compared to WPF, j-query, etc.). Remember that this is not as simple as a simple website.

But the win-application is well suited for a network with this condition: "local area network" (mpls is almost the same). An absolutely developing win-application is simpler than a web-application ("At least the number of users, experts in developing network programs"). for this case, WPF has many good things (UI, team, etc.) also has many difficult points (for example, multithreading and the lack of an expert developer in this area). I'm rather with wpf than asp but decisions is yours

And the chalk points to a good Silverlight thing, but if you want to use this, you should look at the prism structure: http://compositewpf.codeplex.com/
I recently developed a project separately with asp and silverlight (prism). developing a silver light version is too complicated and takes longer than the asp.net version but at the end SL-ver have great look nothing else!

Burns indicate good problems with wpf. also review Artemy’s article . Your environmental conditions are the same for both of them. WPF / ASP can work with a scanner and soft phone cuz the base of both is on C# and .net library
Finally, whenever you make decisions, you must hire an advanced developer to at least develop one business application for the network platform.

+4
Nov 25 '10 at 9:39
source share

Is your application a desktop or web application?

It is best to use wpf for the desktop. If an asp.net website is best.

Do not load your development with your quick script. This never works well and results in a sloppy deployment. Spend time, cover all stages (business requirements, system design, program design, code, TEST and TEST, again, deployment)

+3
Oct 23 '12 at 23:24
source share

Some points to do for ASP.NET:

The ASP.NET developer pool is much larger than the WPF developer pool. This means that you can probably find qualified ASP.NET developers.

ASP.NET is likely to have more evidence in the future; the chances of WPF getting bigger changes and hard to port to later versions are probably greater. Also keep in mind that the MS focus seems to be on Silverlight, so road consolidation may occur, which makes WPF obsolete.

A more mature ASP.NET ecosystem system does everything possible to solve more complex problems.

With multiple locations, can you skip multiple layers and go directly to the website?

+2
Nov 18 2018-10-11T00:
source share



All Articles