Solved

Desktop Based Application - That should open (work) in all operating systems.

Posted on 2012-12-31
8
368 Views
Last Modified: 2013-01-03
Hi,

      Basicaly I am a .Net developer (both web based and desktop based applications). Other than dot Net, I don't know any coding language. But sure, I can pick-up / upgrade my self for any coding language.

      STEP 1: I have a web site application developed in MVC 4 (.Net 4.0) for ends-users personal info and reward points maintanence (Backend MS sQL Server 2008 R2). It is working fine. No questions here.

      STEP 2: I have a web service WCF application developed in .Net 4.0 and it is pointing the above same database. It is also working fine and No questions here.

      STEP 3: Then the end-user asked me that they want to view/edit the data in off-line mode also (database: same above database). For that they asked me to create a desktop based application. I developed a desktop based application using WPF (.Net 4.0). In this desktop based application I used XML file for database purpose and a data synchronization button. If the end-user wants to get / update the new data, that end-user need to connect the internet connection after that the end-user need to click on the DATA SYNCHRONIZATION button. Through the above mentioned WCF web service, remaining data transfer will be happening between XML and MS SQL Server 2008 R2. This is also wroking fine. Here I have one question, please.

      
      My Question is:

            In the STEP 3 I created a desktop based application. That is working ONLY WINDOWS operating systems. (i.e.) The exe is NOT opening / working in the operating systems like iMac, Linx, Ubuntu, ... etc. This is the problem to me.

            Q1: I need to create a single desktop based application and that should be working in all operating systems. Is it possible or not? (Note:- That single desktop based application can be connected with the WCF mentioned in STEP 2)

            Q2: If Q1 is possible, please tell me that kind of code development language name and refernce examples / urls. (Note:- If that coding language is Microsoft's product, I am lucky. If no Microsoft's product available, no problem, give me other languange name. Anyway I need the solution only).

            Q3: If Q1 is NOT possible, please tell me how many desktop based applications I need to create and name those coding language names. (Note:- Those desktop based applications can be connected with the WCF mentioned in STEP 2)
0
Comment
8 Comments
 
LVL 87

Expert Comment

by:rindi
ID: 38732139
I'm not a programmer, so my knowledge is very basic. But if you do things in .net then you'll have to live with the apps only running on Windoze platforms. In my point of view you'll have to move away from .net to get things working for Linux!

.Net is a legacy m$ thing and they don't support Linux. There is a project called mono that reverse engineers .net so you may be able to get things working on Linux too, but that will usually only work with older versions of .net (naturally mono will always be behind, and you can also expect things to sometimes not work as expected). Apart from the mono would have to be installed on the Linux PC's on which your apps should run.

But again as I'm not a programmer I can't recommend the alternatives (of which I'm sure there are plenty of, though).
0
 

Author Comment

by:chrisdtrinityphysicians
ID: 38732143
Sure Rindi, I will consider the mono also. Is it work in iMac, Ubuntu, Windows etc.. Can you give some reference examples?
0
 

Author Comment

by:chrisdtrinityphysicians
ID: 38732145
Please other experts, your suggestions also required to me. Please post your comments and suggestion also. It is little bit urgent to me.
0
 
LVL 87

Expert Comment

by:rindi
ID: 38732149
Check the mono site for details:

http://www.mono-project.com/Main_Page
0
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 

Author Comment

by:chrisdtrinityphysicians
ID: 38732155
Please other experts, your suggestions also required to me. Please post your comments and suggestions.
0
 
LVL 9

Assisted Solution

by:sognoct
sognoct earned 150 total points
ID: 38732156
I'm .Net developer and sold a solution with mono on linux wihout any problem. Now it supports also framework 4.0 .. the only limitation is that mono is restricted to c# (never tested if it works also with vb)

here is the compatibility :
http://www.mono-project.com/Compatibility

There is also a porting of mono on Mac OS X (never tested)
http://www.mono-project.com/Mono:OSX

Another language that will make your app compatible with all kind of devices is java ...
Java can consume WCF service, just need to study how it works, there are many forums that talks about java and WCF.

The last good language is c++ but it needs some tuning for each system. The result is superior, headache too ...
0
 
LVL 40

Accepted Solution

by:
Jacques Bourgeois (James Burger) earned 150 total points
ID: 38733609
There are actually only 2 ways that I know of writing an applications that works in the most used operating systems.

You can rewrite the application in Java. As far as distribution is concerned, this is the easiest way, because the Java runtime is already installed on most computers. But this means a complete rewrite of the whole applications.

The alternative is the Mono project mentioned by other experts. This will also require a rewrite, because Mono does not actually support WPF. The application would need to be rewritten as a Windows applications. That means that the interface need to be redone, but you should be able to reuse most of the code that you already wrote to manipulate the data. Also, I cannot say if the current version of Mono supports WCF.

The distribution would not be as easy as with Java however, because the runtime for the different flavors of mono is not widely distributed. You will probably have to install the runtime on your users workstation.

One little note about Mono is that you usually gain by programming in C# instead of VB. There are C# editors and compilers for most platform if you need to tweak the application for specific operating systems. Unless I am mistaken, there are no editor/compiler for VB on other platforms.
0
 

Author Closing Comment

by:chrisdtrinityphysicians
ID: 38742746
I am also suggesting Java
0

Featured Post

How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

Join & Write a Comment

This article was inspired by a question here at Experts Exchange (http://www.experts-exchange.com/Software/Photos_Graphics/Images_and_Photos/Q_28629170.html). The requirements stated in that question are (1) reduce the file size of a large number of…
Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
In this tutorial you'll learn about bandwidth monitoring with flows and packet sniffing with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're interested in additional methods for monitoring bandwidt…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

757 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now