Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. C# - web or winforms?

C# - web or winforms?

Scheduled Pinned Locked Moved The Lounge
csharpc++winformscomquestion
42 Posts 22 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C Christopher Duncan

    KevinMac wrote:

    Early on the organization made everything web apps because it was stylish for management to talk about

    I suspect this is the driving force behind at least 50% of the web apps out there. I think you guys are right on the money in defaulting to native apps and requiring justification for browser based ones. HTTP was not intended to serve as an application development environment.

    Author of The Career Programmer and Unite the Tribes www.PracticalStrategyConsulting.com

    K Offline
    K Offline
    KevinMac
    wrote on last edited by
    #15

    I have nothing against web applications but it seems that business users decided to apply them across the board as "what works" in every instance. Not trying to start a war here but I have seen the same thing with Java and MS solutions. I pointed out in a requirements meeting the other day that both languages are OO so saying all outward facing websites must be Java since they are more secure is not fact. I offered that it has more to do with how the languages are used that determined the security of the web site. Guess I will not be invited back but that is ok I was feeling a little lonely anyways. There are some really strange opinions in the business community regarding technology.

    1 Reply Last reply
    0
    • C Christopher Duncan

      My initial interest in C# was due to the vast improvements it made in web development over classic ASP. However, for client apps I instinctively reach for C++ simply because of the years I've been doing it. I was wondering how many of you are using C# for client Windows app development rather than for browser based scenarios. Is C# / Winforms suitable for serious client side development, or does everyone tend to stay in a web browser?

      Author of The Career Programmer and Unite the Tribes www.PracticalStrategyConsulting.com

      E Offline
      E Offline
      Ennis Ray Lynch Jr
      wrote on last edited by
      #16

      And some webservices only dabbling into the ASP.NET side when forced to. Personally Winforms is infinitely better then VB6 for client-side business apps. Even some hard logic apps and visualizations. In fact with Direct X and Open GL c# can be a potent game language as well. In fact with the ease of deployment and myriad of remoting options available I find it really amazing that people even want web apps anymore. (Ok, that goes to far because there are other OS'es)


      File Not Found

      1 Reply Last reply
      0
      • C Christopher Duncan

        My initial interest in C# was due to the vast improvements it made in web development over classic ASP. However, for client apps I instinctively reach for C++ simply because of the years I've been doing it. I was wondering how many of you are using C# for client Windows app development rather than for browser based scenarios. Is C# / Winforms suitable for serious client side development, or does everyone tend to stay in a web browser?

        Author of The Career Programmer and Unite the Tribes www.PracticalStrategyConsulting.com

        C Offline
        C Offline
        Christian Graus
        wrote on last edited by
        #17

        I'm usng Winforms.  It's just quicker.

        Christian Graus - C++ MVP 'Why don't we jump on a fad that hasn't already been widely discredited ?' - Dilbert

        1 Reply Last reply
        0
        • M Marc Clifton

          Christopher Duncan wrote:

          I was wondering how many of you are using C# for client Windows app development rather than for browser based scenarios.

          I use C# exclusively for WinForm development. I haven't encountered any reason to miss MFC or C++.

          Christopher Duncan wrote:

          Is C# / Winforms suitable for serious client side development

          I would say yes, qualified by what you mean by "serious". The only app I will continue developing in C++, and for that I'm hoping to migrate the UI and DB parts to C#, is a tool that analyzes switch rings for communication satellites, which needs to be as fast as possible. Even that though is best optimized by understanding the problem rather than hacking out a solution and hoping it runs fast enough. Marc

          Thyme In The Country

          People are just notoriously impossible. --DavidCrow
          There's NO excuse for not commenting your code. -- John Simmons / outlaw programmer
          People who say that they will refactor their code later to make it "good" don't understand refactoring, nor the art and craft of programming. -- Josh Smith

          L Offline
          L Offline
          Lost User
          wrote on last edited by
          #18

          Marc Clifton wrote:

          I'm hoping to migrate the UI and DB parts to C#, is a tool that analyzes switch rings for communication satellites, which needs to be as fast as possible.

          I would love to see more performance critical apps written in C#.

          █▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██

          L S 2 Replies Last reply
          0
          • C Christopher Duncan

            My initial interest in C# was due to the vast improvements it made in web development over classic ASP. However, for client apps I instinctively reach for C++ simply because of the years I've been doing it. I was wondering how many of you are using C# for client Windows app development rather than for browser based scenarios. Is C# / Winforms suitable for serious client side development, or does everyone tend to stay in a web browser?

            Author of The Career Programmer and Unite the Tribes www.PracticalStrategyConsulting.com

            P Offline
            P Offline
            PIEBALDconsult
            wrote on last edited by
            #19

            Christopher Duncan wrote:

            Is C# / Winforms suitable for serious client side development

            Absolutely.

            Christopher Duncan wrote:

            in a web browser?

            That is to be avoided at all cost.

            1 Reply Last reply
            0
            • C Christopher Duncan

              My initial interest in C# was due to the vast improvements it made in web development over classic ASP. However, for client apps I instinctively reach for C++ simply because of the years I've been doing it. I was wondering how many of you are using C# for client Windows app development rather than for browser based scenarios. Is C# / Winforms suitable for serious client side development, or does everyone tend to stay in a web browser?

              Author of The Career Programmer and Unite the Tribes www.PracticalStrategyConsulting.com

              M Offline
              M Offline
              Member 96
              wrote on last edited by
              #20

              Both. Winforms is fine unless you are some sort of control freak who cares more about fiddling bits than getting the application into the end user's hands in good working order. I actually started with winforms and then moved on to asp.net. I think the whole concept of c# being first and foremost an asp.net thing is bizzarre in the extreme and I don't know where that idea came from in the first place. Maybe they were the earliest adopters?

              C 1 Reply Last reply
              0
              • C Christopher Duncan

                Yeah, this is kind of the scenario I was suspecting. With MFC and C++, I have a language that won't tell me "no" regardless of what I'm trying to accomplish. However, there are much more jobs out there these days for C# than there are C++ / MFC. I was curious as to whether client side C# would be as fun as C++ always has been, or if it would be as incredibly limiting as browser based development. From your description, it sounds like even native app development with C# is still akin to working with one hand tied behind your back compared with C++. I'd truly like to get excited about the C#, but it's really hard to go backwards in power and flexibility.

                Author of The Career Programmer and Unite the Tribes www.PracticalStrategyConsulting.com

                B Offline
                B Offline
                Brady Kelly
                wrote on last edited by
                #21

                I have never been told "No" by C#. The .NET BCL and WinForms often tell me no, but not C#.

                1 Reply Last reply
                0
                • L Lost User

                  Marc Clifton wrote:

                  I'm hoping to migrate the UI and DB parts to C#, is a tool that analyzes switch rings for communication satellites, which needs to be as fast as possible.

                  I would love to see more performance critical apps written in C#.

                  █▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██

                  L Offline
                  L Offline
                  Lost User
                  wrote on last edited by
                  #22

                  It has not worked well for me -- writing performance-critical applications on .NET. Regardless of what I did to improve performance, C++ always remain ahead by a large margin. Maybe, as Marc suggested, C++ could be used only for the peformance critical code.

                  1 Reply Last reply
                  0
                  • C Christopher Duncan

                    My initial interest in C# was due to the vast improvements it made in web development over classic ASP. However, for client apps I instinctively reach for C++ simply because of the years I've been doing it. I was wondering how many of you are using C# for client Windows app development rather than for browser based scenarios. Is C# / Winforms suitable for serious client side development, or does everyone tend to stay in a web browser?

                    Author of The Career Programmer and Unite the Tribes www.PracticalStrategyConsulting.com

                    M Offline
                    M Offline
                    Michael P Butler
                    wrote on last edited by
                    #23

                    Christopher Duncan wrote:

                    I was wondering how many of you are using C# for client Windows app development rather than for browser based scenarios. Is C# / Winforms suitable for serious client side development, or does everyone tend to stay in a web browser?

                    I use C# mainly for Windows App development. I've never had any real issues and built several serious business applications using it. My one pet peeve, is that the UI is defined as imperative code rather than declarative. So a lot of my apps used MyXaml for defining the UI. I used to be a hard-core MFCer, but now I rarely touch it for desktop apps. C# and .NET has given me a wonderful toolset for building my kind of applications. I also use the Smart Client Application Software factory a lot now to give me a good solid application framework.

                    Michael CP Blog [^] Development Blog [^]

                    1 Reply Last reply
                    0
                    • J Joe Woodbury

                      I've tried writing several client side apps with C# / Winforms and have almost always ended up throwing in the towel and switching back to MFC. One important note: these apps are not database centric. To repeat, these are not "business" apps. Just a few weeks ago, I tried porting an important applet I was working on to C# to see if provided any significant benefit. I ran into a problem which would have required very complicated P/Invoking. So, I chucked the feature an immediately ran into another problem. It was like a comedy where someone steps on a rake, turns and steps on another rake. I ended up tossing it and going back to MFC (which saved the company a measurable amount of money in terms of my time.) One problem is that C# is still missing a whole bunch of small things us MFC app developers have taken for granted. .NET 2.0 made big improvements in this area. I anticipate .NET 4.0 will make more.

                      Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke

                      S Offline
                      S Offline
                      Stuart Dootson
                      wrote on last edited by
                      #24

                      Joe Woodbury wrote:

                      It was like a comedy where someone steps on a rake, turns and steps on another rake.

                      That'll be Sideshow Bob[^], then...well, it was that episode that I immediately visualised when you mentioned stepping on a rake :-)

                      1 Reply Last reply
                      0
                      • C Christopher Duncan

                        My initial interest in C# was due to the vast improvements it made in web development over classic ASP. However, for client apps I instinctively reach for C++ simply because of the years I've been doing it. I was wondering how many of you are using C# for client Windows app development rather than for browser based scenarios. Is C# / Winforms suitable for serious client side development, or does everyone tend to stay in a web browser?

                        Author of The Career Programmer and Unite the Tribes www.PracticalStrategyConsulting.com

                        E Offline
                        E Offline
                        ednrgc
                        wrote on last edited by
                        #25

                        I use C# for web only. I avoid C# for windows apps at all cost. For windows apps, there is (still) nothing that beats Delphi. It needs no runtimes. It's just single exe. Copy to another machine, and it works fine.

                        1 Reply Last reply
                        0
                        • M Member 96

                          Both. Winforms is fine unless you are some sort of control freak who cares more about fiddling bits than getting the application into the end user's hands in good working order. I actually started with winforms and then moved on to asp.net. I think the whole concept of c# being first and foremost an asp.net thing is bizzarre in the extreme and I don't know where that idea came from in the first place. Maybe they were the earliest adopters?

                          C Offline
                          C Offline
                          Christopher Duncan
                          wrote on last edited by
                          #26

                          John Cardinal wrote:

                          I think the whole concept of c# being first and foremost an asp.net thing is bizzarre in the extreme

                          Just a guess, but it probably came about from the first version of C# / Winforms. Version 1.0 of anything usually leaves a lot to be desired, and back in those days it wasn't a given that the .NET framework was installed on a machine. So, it wasn't an obvious out of the box replacement for MFC. On the web side, however, the difference between classic ASP and C# / ASP.NET is nothing short of monumental, making web development almost feel like real programming. In any event, it's good to see so many people I respect using C# for desktop development. Perhaps it's time to find that old bathing suit and take a deeper plunge... :)

                          Author of The Career Programmer and Unite the Tribes www.PracticalStrategyConsulting.com

                          M 1 Reply Last reply
                          0
                          • C Christopher Duncan

                            Yeah, this is kind of the scenario I was suspecting. With MFC and C++, I have a language that won't tell me "no" regardless of what I'm trying to accomplish. However, there are much more jobs out there these days for C# than there are C++ / MFC. I was curious as to whether client side C# would be as fun as C++ always has been, or if it would be as incredibly limiting as browser based development. From your description, it sounds like even native app development with C# is still akin to working with one hand tied behind your back compared with C++. I'd truly like to get excited about the C#, but it's really hard to go backwards in power and flexibility.

                            Author of The Career Programmer and Unite the Tribes www.PracticalStrategyConsulting.com

                            J Offline
                            J Offline
                            Jasmine2501
                            wrote on last edited by
                            #27

                            Having gone through this myself, I'm gonna say it's a case of being used to doing things in wrong, screwed-up ways in MFC. Then when you try it in C#, the method is totally foreign to you, and C# will not let you play your old games, at all. In a lot of cases, you simply can't do things the old way, and this freaks out a lot of programmers, who then go off and say C# sucks. Yes, some things are different in C#, requiring you to take a new approach. When you re-think the problem and try a more object-oriented approach, usually the C# way ends up being much more elegant.

                            "Quality Software since 1983!"
                            http://www.smoothjazzy.com/ - see the "Programming" section for freeware tools and articles.

                            H 1 Reply Last reply
                            0
                            • C Christopher Duncan

                              My initial interest in C# was due to the vast improvements it made in web development over classic ASP. However, for client apps I instinctively reach for C++ simply because of the years I've been doing it. I was wondering how many of you are using C# for client Windows app development rather than for browser based scenarios. Is C# / Winforms suitable for serious client side development, or does everyone tend to stay in a web browser?

                              Author of The Career Programmer and Unite the Tribes www.PracticalStrategyConsulting.com

                              J Offline
                              J Offline
                              Jasmine2501
                              wrote on last edited by
                              #28

                              Christopher Duncan wrote:

                              My initial interest in C# was due to the vast improvements it made in web development over classic ASP

                              You make it sound like C# is a web programming language. It's not. It's one of the languages you can use with ASP.Net, but as a language, C# stands on its own.

                              Christopher Duncan wrote:

                              how many of you are using C# for client Windows app development

                              I am using it for that, and for several other things, a screensaver, a link-checker and sitemap tool, and a DB-enabled customer service app for a loan company. See my web site for examples.

                              Christopher Duncan wrote:

                              does everyone tend to stay in a web browser?

                              C# has very little to do with that. It is a fully featured language all by itself. It is associated with programming libraries like ASP.Net and .Net Frameworks, but it's not tied to those permanently. The choice to do something as a web application is driven by other considerations, and a desire to use C# should not affect that decision too much.

                              "Quality Software since 1983!"
                              http://www.smoothjazzy.com/programming.html - freeware tools and articles.

                              1 Reply Last reply
                              0
                              • C Christopher Duncan

                                John Cardinal wrote:

                                I think the whole concept of c# being first and foremost an asp.net thing is bizzarre in the extreme

                                Just a guess, but it probably came about from the first version of C# / Winforms. Version 1.0 of anything usually leaves a lot to be desired, and back in those days it wasn't a given that the .NET framework was installed on a machine. So, it wasn't an obvious out of the box replacement for MFC. On the web side, however, the difference between classic ASP and C# / ASP.NET is nothing short of monumental, making web development almost feel like real programming. In any event, it's good to see so many people I respect using C# for desktop development. Perhaps it's time to find that old bathing suit and take a deeper plunge... :)

                                Author of The Career Programmer and Unite the Tribes www.PracticalStrategyConsulting.com

                                M Offline
                                M Offline
                                Member 96
                                wrote on last edited by
                                #29

                                We have a very large, very successful commercial application that is written in c# and has a winform interface, an asp.net interface, remoting, an accounting application interface and is used globally in over 50 countries, but I won't anger the lounge gods by posting a link to it here. ;) Suffice to say there is really no good reason not to use C# for most desktop apps these days. Even Linux and Mac platforms are supported through MONO.

                                C 1 Reply Last reply
                                0
                                • M Member 96

                                  We have a very large, very successful commercial application that is written in c# and has a winform interface, an asp.net interface, remoting, an accounting application interface and is used globally in over 50 countries, but I won't anger the lounge gods by posting a link to it here. ;) Suffice to say there is really no good reason not to use C# for most desktop apps these days. Even Linux and Mac platforms are supported through MONO.

                                  C Offline
                                  C Offline
                                  Christopher Duncan
                                  wrote on last edited by
                                  #30

                                  I assume you have your business and communication logic in one layer and simply designed two separate UI layers for the desktop and web interfaces?

                                  Author of The Career Programmer and Unite the Tribes www.PracticalStrategyConsulting.com

                                  M 1 Reply Last reply
                                  0
                                  • C Christopher Duncan

                                    My initial interest in C# was due to the vast improvements it made in web development over classic ASP. However, for client apps I instinctively reach for C++ simply because of the years I've been doing it. I was wondering how many of you are using C# for client Windows app development rather than for browser based scenarios. Is C# / Winforms suitable for serious client side development, or does everyone tend to stay in a web browser?

                                    Author of The Career Programmer and Unite the Tribes www.PracticalStrategyConsulting.com

                                    M Offline
                                    M Offline
                                    Mardanian
                                    wrote on last edited by
                                    #31

                                    My personal experience... I've been using MFC for years, and I recently decided to write my first significant client app in C#/.NET. I have to say that I'm really pleased so far. There's is just so much more that's done for you already, and it really minimizes the amount of code you have to write/maintain. I would say that if your client app is heavily based around file access, UI, databases, or networking... then give C# a try. But if your app relies on a lot of direct memory access and processing type behaviors, then perhaps stick with C++/MFC. You could always try managed C++ and use forms in that way, but it just seems strange to me, personally.

                                    1 Reply Last reply
                                    0
                                    • C Christopher Duncan

                                      I assume you have your business and communication logic in one layer and simply designed two separate UI layers for the desktop and web interfaces?

                                      Author of The Career Programmer and Unite the Tribes www.PracticalStrategyConsulting.com

                                      M Offline
                                      M Offline
                                      Member 96
                                      wrote on last edited by
                                      #32

                                      Yup. In fact it's definitely not perfected yet. We designed and wrote a rough business object library at first, then developed it and the winform UI layer in parallel up to release. Then I wrote the asp.net UI layer. Doing a second UI after the initial one was completed resulted in not noticing some redundancies in the UI layer. Next time around I'm going to introduce another layer which resides between the UI and the business object layer and acts as a more UI centric interface to some of the methods in the business object layer. There is a lot of housekeeping and UI centric features that are common to both asp.net and winform UI's but don't really fit in the business object layer. I highly recommend you check out Rockford Lhotka's CSLA book for more on this if you are interested: http://www.lhotka.net/cslanet/default.aspx[^] It's open source (I've modifed it quite extensively for my purposes) but it really gives you everything you need to know to properly stratify applications, goes into remoting, asp.net and winform ui's, scaleability etc. IIRC it presents three different interfaces to the same application.

                                      1 Reply Last reply
                                      0
                                      • L Lost User

                                        Marc Clifton wrote:

                                        I'm hoping to migrate the UI and DB parts to C#, is a tool that analyzes switch rings for communication satellites, which needs to be as fast as possible.

                                        I would love to see more performance critical apps written in C#.

                                        █▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██

                                        S Offline
                                        S Offline
                                        Stephen Hewitt
                                        wrote on last edited by
                                        #33

                                        Captain See Sharp wrote:

                                        I would love to see more performance critical apps written in C#.

                                        The real question is would users want to use them. C#, and dotNET in general, has many advantages over native code but, in general, performance and resource usage are not amongst them.

                                        Steve

                                        1 Reply Last reply
                                        0
                                        • J Jasmine2501

                                          Having gone through this myself, I'm gonna say it's a case of being used to doing things in wrong, screwed-up ways in MFC. Then when you try it in C#, the method is totally foreign to you, and C# will not let you play your old games, at all. In a lot of cases, you simply can't do things the old way, and this freaks out a lot of programmers, who then go off and say C# sucks. Yes, some things are different in C#, requiring you to take a new approach. When you re-think the problem and try a more object-oriented approach, usually the C# way ends up being much more elegant.

                                          "Quality Software since 1983!"
                                          http://www.smoothjazzy.com/ - see the "Programming" section for freeware tools and articles.

                                          H Offline
                                          H Offline
                                          huyanping
                                          wrote on last edited by
                                          #34

                                          Good! The key point is how do you use C#. We should obey some new rules. Generally,It's a new approach.

                                          hello, life

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups