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. Recommendation for multi-platoform development

Recommendation for multi-platoform development

Scheduled Pinned Locked Moved The Lounge
c++csharpdesignlinuxsales
17 Posts 14 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.
  • V V 0

    Java is famous for its platformindependency. C# and C++ are very windows based. If you're familiar with C# you'll find java very easy to learn and it has better apis :-). It is however slower then C++ and C#. good luck. No hurries, no worries.

    Z Offline
    Z Offline
    zoid
    wrote on last edited by
    #7

    C++ is not windows based ... Linux code is almost all C/C++. Only the WIN32/MFC libraries for VC++ are windows based. If you want to have portable GUI code then you will need a toolkit like QT as was mentioned in another post.

    1 Reply Last reply
    0
    • V V 0

      Java is famous for its platformindependency. C# and C++ are very windows based. If you're familiar with C# you'll find java very easy to learn and it has better apis :-). It is however slower then C++ and C#. good luck. No hurries, no worries.

      F Offline
      F Offline
      fakefur
      wrote on last edited by
      #8

      C# and C++ are very Windows based??!!?? I think you might be mistaken there. Linux is written in C++. OSX is written in C++. The primary development languages for those platforms is C++ (until the advent of stable and mature C# technology for them)

      1 Reply Last reply
      0
      • B Brigg Thorp

        Our marketing department started asking us what it would take to start writing software that would support Windows as well as Mac's (and possibly, even Linux). I have no experience with Mac development (or Linux for that matter). Is there some sort of multi-platform development language (preferably C++ or C#) that allows me to write one code base and use it across all platforms? Or, at the very least, is there a tool that can port Visual C++ or C# code to other platforms? Also, how do you do this considering a lot of the UI features look very different across OS's? I am a complete moron in this area and any suggestions would be greatly appreciated. Regards, Brigg Thorp Senior Software Engineer Timex Corporation

        D Offline
        D Offline
        Daniel Turini
        wrote on last edited by
        #9

        Funny how much people recommended a language without even knowing what application you're talking about. Is it web-based? Is it a desktop application? Is it a service (daemon)? How complex will it be? Performance requirements? Staff skills? How strong will it need to be against decompilers? I agree that the "easy" options are Java and C++, because those are fairly generic and known languages. But there are other options, which can run in several platforms, and that for some solutions, can produce results way faster, like Perl, Python or Ruby. Brigg Thorp wrote: I am a complete moron in this area If you're on a tight schedule, forget about C++ for your first multiplatform project: it's too powerful and it'll make it too easy for you to shoot yourself in your foot. Prefer scripted languages like Perl, Python or Ruby or something that was made to be portable like Java. Again, further details would lead to better recommendations. I see dead pixels Yes, even I am blogging now!

        B 1 Reply Last reply
        0
        • D Daniel Turini

          Funny how much people recommended a language without even knowing what application you're talking about. Is it web-based? Is it a desktop application? Is it a service (daemon)? How complex will it be? Performance requirements? Staff skills? How strong will it need to be against decompilers? I agree that the "easy" options are Java and C++, because those are fairly generic and known languages. But there are other options, which can run in several platforms, and that for some solutions, can produce results way faster, like Perl, Python or Ruby. Brigg Thorp wrote: I am a complete moron in this area If you're on a tight schedule, forget about C++ for your first multiplatform project: it's too powerful and it'll make it too easy for you to shoot yourself in your foot. Prefer scripted languages like Perl, Python or Ruby or something that was made to be portable like Java. Again, further details would lead to better recommendations. I see dead pixels Yes, even I am blogging now!

          B Offline
          B Offline
          Brigg Thorp
          wrote on last edited by
          #10

          Daniel Turini wrote: Funny how much people recommended a language without even knowing what application you're talking about. I kind of came to the same conclusion when I was reading the responses. I forgot to mention what it was I was doing. Here are some more details on the project: - We have a USB device we need to connect to to read data from - we currently have a C++ app doing this sitting in the system tray looking for the device to become attached, which then launches the main app. Links to the HID library - We have a desktop application, currently written in VB. I am slated to rewrite this software, and I have my choice of language (if we write for Windows only, I'll probably choose C#). The main part of the app will be a graph that shows the data imported from the USB device. This also uses the HID API's. - We use InstallShield for the installer. I don't think their software is multiplatform, so I would need something portable for this. Regards, Brigg Thorp Senior Software Engineer Timex Corporation

          J R 3 Replies Last reply
          0
          • B Brigg Thorp

            Daniel Turini wrote: Funny how much people recommended a language without even knowing what application you're talking about. I kind of came to the same conclusion when I was reading the responses. I forgot to mention what it was I was doing. Here are some more details on the project: - We have a USB device we need to connect to to read data from - we currently have a C++ app doing this sitting in the system tray looking for the device to become attached, which then launches the main app. Links to the HID library - We have a desktop application, currently written in VB. I am slated to rewrite this software, and I have my choice of language (if we write for Windows only, I'll probably choose C#). The main part of the app will be a graph that shows the data imported from the USB device. This also uses the HID API's. - We use InstallShield for the installer. I don't think their software is multiplatform, so I would need something portable for this. Regards, Brigg Thorp Senior Software Engineer Timex Corporation

            J Offline
            J Offline
            John M Drescher
            wrote on last edited by
            #11

            I have to say one thing. None of the stuff you said is very easily done in a cross platform way. Each os has its own USB handling. Install programs are different... John

            1 Reply Last reply
            0
            • B Brigg Thorp

              Daniel Turini wrote: Funny how much people recommended a language without even knowing what application you're talking about. I kind of came to the same conclusion when I was reading the responses. I forgot to mention what it was I was doing. Here are some more details on the project: - We have a USB device we need to connect to to read data from - we currently have a C++ app doing this sitting in the system tray looking for the device to become attached, which then launches the main app. Links to the HID library - We have a desktop application, currently written in VB. I am slated to rewrite this software, and I have my choice of language (if we write for Windows only, I'll probably choose C#). The main part of the app will be a graph that shows the data imported from the USB device. This also uses the HID API's. - We use InstallShield for the installer. I don't think their software is multiplatform, so I would need something portable for this. Regards, Brigg Thorp Senior Software Engineer Timex Corporation

              J Offline
              J Offline
              John M Drescher
              wrote on last edited by
              #12

              Also C# may be fine for Mac and linux also by using mono. http://www.mono-project.com/Main_Page[^] John

              1 Reply Last reply
              0
              • B Brigg Thorp

                Our marketing department started asking us what it would take to start writing software that would support Windows as well as Mac's (and possibly, even Linux). I have no experience with Mac development (or Linux for that matter). Is there some sort of multi-platform development language (preferably C++ or C#) that allows me to write one code base and use it across all platforms? Or, at the very least, is there a tool that can port Visual C++ or C# code to other platforms? Also, how do you do this considering a lot of the UI features look very different across OS's? I am a complete moron in this area and any suggestions would be greatly appreciated. Regards, Brigg Thorp Senior Software Engineer Timex Corporation

                J Offline
                J Offline
                Joe Woodbury
                wrote on last edited by
                #13

                I agree with Mike that you need to separate interface from implementation so that each platform can have the "look and feel" of that platform. I would also make sure you aren't eliminating cool features on one platform just because you need to code to the least common demoninator. Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke

                1 Reply Last reply
                0
                • B Brigg Thorp

                  Our marketing department started asking us what it would take to start writing software that would support Windows as well as Mac's (and possibly, even Linux). I have no experience with Mac development (or Linux for that matter). Is there some sort of multi-platform development language (preferably C++ or C#) that allows me to write one code base and use it across all platforms? Or, at the very least, is there a tool that can port Visual C++ or C# code to other platforms? Also, how do you do this considering a lot of the UI features look very different across OS's? I am a complete moron in this area and any suggestions would be greatly appreciated. Regards, Brigg Thorp Senior Software Engineer Timex Corporation

                  B Offline
                  B Offline
                  Brian Delahunty
                  wrote on last edited by
                  #14

                  Java or C# (Mono) Regards, Brian Dela :-) Now Bloging![^]

                  1 Reply Last reply
                  0
                  • B Brigg Thorp

                    Daniel Turini wrote: Funny how much people recommended a language without even knowing what application you're talking about. I kind of came to the same conclusion when I was reading the responses. I forgot to mention what it was I was doing. Here are some more details on the project: - We have a USB device we need to connect to to read data from - we currently have a C++ app doing this sitting in the system tray looking for the device to become attached, which then launches the main app. Links to the HID library - We have a desktop application, currently written in VB. I am slated to rewrite this software, and I have my choice of language (if we write for Windows only, I'll probably choose C#). The main part of the app will be a graph that shows the data imported from the USB device. This also uses the HID API's. - We use InstallShield for the installer. I don't think their software is multiplatform, so I would need something portable for this. Regards, Brigg Thorp Senior Software Engineer Timex Corporation

                    R Offline
                    R Offline
                    Rocky Moore
                    wrote on last edited by
                    #15

                    I personally would stay with C#/.NET/Mono for most of it. Over the duration of the application, I believe that this technology will continue to grow and provide a stable base for your application for quite some time. The interfacing with the hardware may be a bit tricky and have to be C++ , on the different platforms, VB app would probably best ported to C#. Rocky <>< Yahoo! 360º - Try it yourself![^]

                    1 Reply Last reply
                    0
                    • R Ryan Roberts

                      If you are going down the C++ route, there are a lot of mature cross platform toolkits out there, you could go for qt[^] if you are looking for a complete commercial soloution and like 1992 style C++. Or you could cobble your own together from discrete projects: there's http://www.wxwidgets.org/[^] for portable UI. You can use http://www.boost.org/[^] for standardising platform stuff like file IO and threading. The DTL[^] is a nice cross platform DAL - its ORM though, if thats a problem. You could use http://www.cs.wustl.edu/~schmidt/ACE.html[^] as a cross platform networking layer, if you like pain :). I have personaly had good results from using boost , DTL and gSOAP[^] in a cross platform system (BSD and windows). Ryan

                      O fools, awake! The rites you sacred hold Are but a cheat contrived by men of old, Who lusted after wealth and gained their lust And died in baseness—and their law is dust. al-Ma'arri (973-1057)

                      A Offline
                      A Offline
                      afinnell
                      wrote on last edited by
                      #16

                      Sir, I take offense to saying ACE is painful to use. Hehe. :) It's one of those things that has a severly high learning curve, but pays off really well once it is learned. - Drew

                      1 Reply Last reply
                      0
                      • B Brigg Thorp

                        Our marketing department started asking us what it would take to start writing software that would support Windows as well as Mac's (and possibly, even Linux). I have no experience with Mac development (or Linux for that matter). Is there some sort of multi-platform development language (preferably C++ or C#) that allows me to write one code base and use it across all platforms? Or, at the very least, is there a tool that can port Visual C++ or C# code to other platforms? Also, how do you do this considering a lot of the UI features look very different across OS's? I am a complete moron in this area and any suggestions would be greatly appreciated. Regards, Brigg Thorp Senior Software Engineer Timex Corporation

                        A Offline
                        A Offline
                        afinnell
                        wrote on last edited by
                        #17

                        Let's not forget about Flash. ;-) - Drew

                        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