Recommendation for multi-platoform development
-
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.
-
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.
-
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
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!
-
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!
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
-
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
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
-
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
Also C# may be fine for Mac and linux also by using mono. http://www.mono-project.com/Main_Page[^] John
-
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
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
-
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
Java or C# (Mono) Regards, Brian Dela :-) Now Bloging![^]
-
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
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![^]
-
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)
-
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