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. Given an opportunity to develop a new application, what technology would you select for the UI?

Given an opportunity to develop a new application, what technology would you select for the UI?

Scheduled Pinned Locked Moved The Lounge
csharpdatabasedesignmobilesql-server
56 Posts 30 Posters 5 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 Chris Maunder

    We need more requirements. - Will it be accessed remotely? - Will it be accessed from multiple devices? If so then some or all should be written as web services. Maybe a client app that uses backend web services, maybe a web application that uses and exposes web services. - What sort of budget do you have? SQL Server's good. For some stuff. It's expensive too. Have you thought about MariaDB (open source fork of MySQL) or MongoDB? What about Redis for caching? - Who will be working on it with you? What skillsets do they have? If it's just you then you can use all the crazy tech you want. If you need to be able to have a team backing it then don't make the specs such that finding a dev or devs who can actually work within the 50 technologies you use is impossible. C#, Javascript, PHP, SQL - all bread-and-butter technologies that are easy to hire for. Start getting crazy and you'll have to either hire specialists or invest in training up staff. - If it's a pure client-app then what OS? Windows Devs are cheap. MacOS devs may not be. - on what infrastructure will it be installed? PC? Servers? Cloud? All I'd say here is: don't limit yourself to the PC. At least allow reports to be viewed on a tablet or phone so those on call can be on call in comfort. If you can provide basic functions (like "Stop the robots!") then that's a bonus. However, the big one for me is "manufacturing system". Will it be taking orders from online systems? Will it, itself, be talking to other systems to get specs, data, machine statuses? The Internet of Things is everywhere, especially in manufacturing. Even touching on this to understand how it may affect the system you're writing will give you a headstart into the next 10 years.

    cheers Chris Maunder

    G Offline
    G Offline
    Gary Wheeler
    wrote on last edited by
    #46

    SQL Server doesn't have to be expensive; it depends on the application. I've added data base integration to a number of applications over the last couple of years, and the 'Express' versions of SQL Server work just fine. If you can live within the Express limits, you're good to go.

    Software Zen: delete this;

    1 Reply Last reply
    0
    • C charlieg

      I'm developing a proposal to replace a 40 30+ yo manufacturing system with newer technology. :laugh: Can't believe I just said that. Given it's a manufacturing system, we have the following basic components: - database backend: probably sql server, no real preference - reporting system: any reporting system is better than they have - user interface for production: something flexible - conundrum. The UI - I'm still trying to plow through the WinForms / WPF / WinRT debate. I have an enterprise license for a GUI toolkit that supports all of them, so I'm flexible, although I admit to wanting to do something new. This will be my first serious application in C#, so I want to have some fun. What I will do is have a clean data layer - then I can target anything I want. I can see a desktop plus a tablet interface. In some cases, they may want a web interface, but I would farm that out. Ugh. So - leaning toward WPF with a thought to rt. What would you pick?

      Charlie Gilley 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

      C Offline
      C Offline
      C Grant Anderson
      wrote on last edited by
      #47

      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

      1 Reply Last reply
      0
      • M Mycroft Holmes

        Well you do need a service layer and it must be agnostic to all client platforms and something as solid as WCF (we have been using it for 5 years and we are NOT early adopters) should be in your primary selection set. I think the shiny has been rubbed off by now.

        Never underestimate the power of human stupidity RAH

        C Offline
        C Offline
        charlieg
        wrote on last edited by
        #48

        gentlemen - shiny means new to me ;)

        Charlie Gilley 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

        1 Reply Last reply
        0
        • C charlieg

          I'm developing a proposal to replace a 40 30+ yo manufacturing system with newer technology. :laugh: Can't believe I just said that. Given it's a manufacturing system, we have the following basic components: - database backend: probably sql server, no real preference - reporting system: any reporting system is better than they have - user interface for production: something flexible - conundrum. The UI - I'm still trying to plow through the WinForms / WPF / WinRT debate. I have an enterprise license for a GUI toolkit that supports all of them, so I'm flexible, although I admit to wanting to do something new. This will be my first serious application in C#, so I want to have some fun. What I will do is have a clean data layer - then I can target anything I want. I can see a desktop plus a tablet interface. In some cases, they may want a web interface, but I would farm that out. Ugh. So - leaning toward WPF with a thought to rt. What would you pick?

          Charlie Gilley 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

          P Offline
          P Offline
          Paul Michalik
          wrote on last edited by
          #49

          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.

          C 1 Reply Last reply
          0
          • E Ed K

            I'd question even thinking of using WPF. Sure it's going to be supported in the future? Heard anything lately?? Nope. Checked the WPF blogs? Silence. Even if it is going to be continued it's doubtful it would be backwards compatible.

            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.

            C Offline
            C Offline
            charlieg
            wrote on last edited by
            #50

            I've read the WPF blogs are quiet, but so are the WinForms areas. Right?

            Charlie Gilley 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

            E 1 Reply Last reply
            0
            • C charlieg

              I'm developing a proposal to replace a 40 30+ yo manufacturing system with newer technology. :laugh: Can't believe I just said that. Given it's a manufacturing system, we have the following basic components: - database backend: probably sql server, no real preference - reporting system: any reporting system is better than they have - user interface for production: something flexible - conundrum. The UI - I'm still trying to plow through the WinForms / WPF / WinRT debate. I have an enterprise license for a GUI toolkit that supports all of them, so I'm flexible, although I admit to wanting to do something new. This will be my first serious application in C#, so I want to have some fun. What I will do is have a clean data layer - then I can target anything I want. I can see a desktop plus a tablet interface. In some cases, they may want a web interface, but I would farm that out. Ugh. So - leaning toward WPF with a thought to rt. What would you pick?

              Charlie Gilley 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

              B Offline
              B Offline
              Bruce Patin
              wrote on last edited by
              #51

              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.

              1 Reply Last reply
              0
              • C charlieg

                I've read the WPF blogs are quiet, but so are the WinForms areas. Right?

                Charlie Gilley 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

                E Offline
                E Offline
                Ed K
                wrote on last edited by
                #52

                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.

                C 1 Reply Last reply
                0
                • B BillWoodruff

                  charlieg wrote:

                  I might even screw up and convince them to pay me.

                  Uh-oh ! I wouldn't touch a line of code without a contract, and regular pay-days. cheers, Bill

                  « I had therefore to remove knowledge, in order to make room for belief » Immanuel Kant

                  C Offline
                  C Offline
                  charlieg
                  wrote on last edited by
                  #53

                  :) topic: "what technology would you select for the UI?" The entire discussion has blown up in an elegant and useful way. I'm knocking around ideas at the point. Last night, I deleted the UI completely from the ideas I'm knocking around. I'm so late on the current project (some work related, some personal issues that could not be avoided) they might laugh me out of the building. But they know they have a problem with the current system.

                  Charlie Gilley 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

                  1 Reply Last reply
                  0
                  • P Paul Michalik

                    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.

                    C Offline
                    C Offline
                    charlieg
                    wrote on last edited by
                    #54

                    Checking file dates... oops - 33 years :) Rounded up too much... this stuff was being written in the very early 80s

                    Charlie Gilley 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

                    1 Reply Last reply
                    0
                    • E Ed K

                      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.

                      C Offline
                      C Offline
                      charlieg
                      wrote on last edited by
                      #55

                      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 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

                      1 Reply Last reply
                      0
                      • C charlieg

                        I'm developing a proposal to replace a 40 30+ yo manufacturing system with newer technology. :laugh: Can't believe I just said that. Given it's a manufacturing system, we have the following basic components: - database backend: probably sql server, no real preference - reporting system: any reporting system is better than they have - user interface for production: something flexible - conundrum. The UI - I'm still trying to plow through the WinForms / WPF / WinRT debate. I have an enterprise license for a GUI toolkit that supports all of them, so I'm flexible, although I admit to wanting to do something new. This will be my first serious application in C#, so I want to have some fun. What I will do is have a clean data layer - then I can target anything I want. I can see a desktop plus a tablet interface. In some cases, they may want a web interface, but I would farm that out. Ugh. So - leaning toward WPF with a thought to rt. What would you pick?

                        Charlie Gilley 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

                        C Offline
                        C Offline
                        charlieg
                        wrote on last edited by
                        #56

                        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 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

                        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