Making a Application (.NET/C#) truely platform independant

  • Thread starter Champika Nirosh
  • Start date
C

Champika Nirosh

Hi All,

We have a windows from application written in C#, there we have used Browser
COM and other basic libraries present in standard .NET/C# SDK. So the next
part is to make this appliaction available to Unix and Mac platform. I have
couple of questions here

1. What are the possibilities we have of doing some thing like this?
2. What are the technical chalenges we will face of doing this?
3. What are the direct indirect solution we have to achive our goal?
4. What short of support we can get from MONO, ROTOR, and WINE?

Please shade some light on these ........ I really appreciate it..
Add what ever comment you have becos we deadly need lots of ideas.

Thanks,
Regards,
Nirosh.
 
A

Arthur Mnev

1.Possibilities are very very high - Ximian is working on Mono project,
which is .NET framework for linux; I do cross windows / linux programming
and thus far it works and in some cases better then microsofts:)
2. Mac -... not sure about that, but considering that mac is running BSD
underneath, would not be surprised if Mono compiles there as well.
3. I have fears that .NET soon will be the only cross platform solution as
it looks like Sun might take Java down with it (would be a shame but hey -
that is another camp)
4. With Novell getting involved into Linux (and their recent purchase of
SuSe) they got to move somewhere (surely all of their products will move to
linux) but I would not be surprised if they start working on something that
will differentiate them from the rest of distributions (i.e. .NET? - this is
as wild guess as it gets.)
5. If you do develop cross platform get ready for the pain (no pivoke CLR
compliant code only)
 
C

Champika Nirosh

Thanks Arthur for your detailful comment

Arthur Mnev said:
1.Possibilities are very very high - Ximian is working on Mono project,
which is .NET framework for linux; I do cross windows / linux programming
and thus far it works and in some cases better then microsofts:)
2. Mac -... not sure about that, but considering that mac is running BSD
underneath, would not be surprised if Mono compiles there as well.
3. I have fears that .NET soon will be the only cross platform solution as
it looks like Sun might take Java down with it (would be a shame but hey -
that is another camp)
4. With Novell getting involved into Linux (and their recent purchase of
SuSe) they got to move somewhere (surely all of their products will move to
linux) but I would not be surprised if they start working on something that
will differentiate them from the rest of distributions (i.e. .NET? - this is
as wild guess as it gets.)
5. If you do develop cross platform get ready for the pain (no pivoke CLR
compliant code only)
 
C

Champika Nirosh

Thanks for your thought but don't be too pessimistic about Mono and Wine as
well as ROTOR ..



WINE can run not only hello world but it can run Ms Office, Media player and
even some games..



MONO and ROTOR also not tiny as you described.



Thanks for the link but I think it has a problem, it didn't work for me



Yes as you said Java is a good option but I found that for XML processing
the power of C# is far better than Java (in general even c# seems to be much
faster than Java) and second is UI but you are saying it is not .. any way
once again thanks fo rthe comment



Nirosh.
 
I

Ivar

WINE can run not only hello world but it can run Ms Office, Media player and
even some games..
Have tried it by yourself ? (very problematic to get things to work, avg
user can't handle it)
MONO and ROTOR also not tiny as you described.
Agian have you tried it. Just see source their code, most part full of
todo:, because it even some simple apps won't work.
Thanks for the link but I think it has a problem, it didn't work for me
it requires java 1.4.
the power of C# is far better than Java
Is it power when it only runs on windows ?

I made big project in c#, now I feel "power" when converting it to java.
For multiplatform UI , java is best choiche.
second is UI but you are saying it is not .. any way
Yes UI is slower, but usable.
 
C

Champika Nirosh

Hi Ivar,

Yes I have tried it myself and I feel they are building nicely .. I mean you
cannot expect wonders over night and I still can remeber what we had with
Java 1.0.2. (but c# started with a lot), it has built into a strong stage
now and I have no argument with you on Java but my point is if C# can shift
it's power to other platforms as well it will definitely be better than Java
and c# xml manupulation is far far better than Java and we use lots of xml
since we basically in the e-learning sector. Java is not a choice for us.
You also agree on the average speed. So why not expect a change than holding
to the traditional end.

Nirosh.
 
G

Guest

COM is not platform independant, COM is a Microsoft technology.

Anything under System.* namespaces SHOULD be platform neutral .
 
C

Champika Nirosh

Thanks for the reply any thought on how we can get the Browser COM work in
MAC?
 
D

Daniel O'Connell [C# MVP]

You won't. Browsers and other interop are often the biggest platform
compatibility issues you'll have. While COM is not soley tied to windows,
most, if not all other systems do not run COM normally(there are COM
implementations for unix, probably macs as well). As a result you will have
alot of work to get things going.
What are you attempting to do? If you just want to host the browser locally,
you could look into embedding mozilla or another OSS browser(assuming
licensing will suit you). If you need automation you will hav eto invest in
platform specific modules(which can be tricky, mono annoyingly claims to be
windows XP) which performs the work for you. How are you interfacing with
say Mozilla now? Or are you totally dependent on IE?
 
C

Champika Nirosh

Thanks for the reply Daniel

What we have right now is a Winform application that purely uses Microsoft
Web Browser COM for content browsing and many other operations. The Winform
application is a thin client and it is commnicating with a Web service
interface (that is a content repository) to download and view the content.
They are SCORM compliant (if you don't know just ignore this it is a
standard). So I don't mind the effort we are ready, but the issue is the
correct path and the potential problem we may face of getting our
application run on MAC and Unix. I even don't mind going for Mozilla. We do
lots of marking on the content like we highlight certain part of the content
and we add annotations so on plus we drag drop content to create short notes
there we use html dom do get access to the html document so if mozilla can
support these we are OK. But if there is any other way which we can get the
Ms Browser COM work in other plat form we will choose that root. if you know
can you please comment on the WINE and it usage here.

Nirosh.
 
D

Daniel O'Connell [C# MVP]

Champika Nirosh said:
Thanks for the reply Daniel

What we have right now is a Winform application that purely uses Microsoft
Web Browser COM for content browsing and many other operations. The Winform
application is a thin client and it is commnicating with a Web service
interface (that is a content repository) to download and view the content.
They are SCORM compliant (if you don't know just ignore this it is a
standard). So I don't mind the effort we are ready, but the issue is the
correct path and the potential problem we may face of getting our
application run on MAC and Unix. I even don't mind going for Mozilla. We do
lots of marking on the content like we highlight certain part of the content
and we add annotations so on plus we drag drop content to create short notes
there we use html dom do get access to the html document so if mozilla can
support these we are OK. But if there is any other way which we can get the
Ms Browser COM work in other plat form we will choose that root. if you know
can you please comment on the WINE and it usage here.
Unfortunatly I know very little about WINE, I would say simply test it and
see what happens.

Getting the MS Browser control to work off platform is likely going to be
hard, if possible. Examining Mozilla for the features you need would be my
first suggestion(if they don't have waht you want...khtml or a few of the
other OSS ones may). However, you may want to research how to interface with
the Mac version of IE, its probably not the most popular browser on the
platform but it does still exist(although I don't know its state of
maintainence).

Currently I don't know of a standalone managed code html renderer. Its
something I want to see, something I've even considered trying, but time and
a low level dislike of html have kept me from doing so, ;).

Sorry I can't offer much advice, I hope this helps in some way.
 
C

Champika Nirosh

Highly appreciate your interest on helping me.. we will see how it goes, the
info I gathered from here is truely helpful

Nirosh.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top