Jump to content

How to run .NET apps on Linux, MacOSX and Windows

- - - - -

  • Please log in to reply
8 replies to this topic

#1
thread

thread

    Newbie

  • Members
  • Pip
  • 4 posts
Hi all!

A few days ago my boss told me to find and test an application server which allows us to run .NET applications on different platforms (Linux and MacOSX inclusively). I've spent about two days already to learn different approaches, but biggest part of them is not so handy and easy to use as I want. The only one candidate I have today is a TNAPS 3 Application Server. I was really impressed about its distribution size (3mb) and how easy I run it on Linux and Mac OS X (thanks for samples they provide for testing) and I think it will run on Windows as well. But I am still not completely sure about using it since it still under private testing and I have no using it before.

So my question is about TNAPS3 or its alternatives if available. Which one is better and easy to use.
Thanks

Edited by thread, 13 October 2011 - 03:49 PM.


#2
Vaielab

Vaielab

    Programming God

  • Members
  • PipPipPipPipPipPipPip
  • 547 posts
Best way: change the language.
.Net wasn't made for other than windows platform.
Even if you manage to load it, you may have some function that don't work the same on windows/linux/mac.
You may have error that you'll only see in a month or 2 when all your data will be corompt.
And sometime new update won't be compatible with all os.
Even more, TNAPS 3 is only in Beta.

I know, you can't really tell your boss it's not possible, but try to make him understand that it's better.
Or on your linux/mac system load virtualbox and load windows on it.

#3
WingedPanther

WingedPanther

    A spammer's worst nightmare

  • Moderators
  • 16,831 posts
  • Location:Upstate, South Carolina
  • Programming Language:C, C++, PL/SQL, Delphi/Object Pascal, Pascal, Transact-SQL, Others
  • Learning:Java, C#, PHP, JavaScript, Lisp, Fortran, Haskell, Others
To run .NET apps on Linux/Mac, you will generally run them using Mono. Mono is an open-source reimplementation of the .NET library, but it is not 100% compatible. The first thing I would suggest is you do your development under MonoDevelop and then test it under .NET, instead of the other way around.

You can probably set up a few virtual machines on a Mac using Parallels or VirtualBox, then test their functionality on all relevant platforms.
Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog

#4
thread

thread

    Newbie

  • Members
  • Pip
  • 4 posts
Thanks for reply, but we still need to use .NET since a wast majority of already implemented logic. Actually we have different server parts of our distributed application which we want to reuse in a new version since theirs reimplementation (in other language) is time and cost consuming. Fortunately all these parts dont use Forms and other heavy parts of .NET, so there is chance to use a mono framework. But its really a challenge to expose an object's interface to outer world by using Microsoft's .NET or mono, but what I saw in TNAPS samples that is is about a couple os source lines to get access to your objects through the REST. I mean that now I am trying to understand what the TNAPS can and cannot do and besides of some cons in documentation and materials it has a lot of really cool features.

#5
Milyardo

Milyardo

    Learning Programmer

  • Members
  • PipPipPip
  • 54 posts
From looking at the about page for TNAPS, I'm not sure how TNAPS meets your cross platform requirement. TNAPS seems to only be an application server and not a .NET implementation, so you will still have to install either Mono, or .NET to run your application.

The Apache Web server has a Mono module that will allow you to use Apache as a Application Server instead. The combination of Apache and Mono seems to be as cross platform as you can get.

#6
thread

thread

    Newbie

  • Members
  • Pip
  • 4 posts

Milyardo said:

From looking at the about page for TNAPS, I'm not sure how TNAPS meets your cross platform requirement. TNAPS seems to only be an application server and not a .NET implementation, so you will still have to install either Mono, or .NET to run your application.

The Apache Web server has a Mono module that will allow you to use Apache as a Application Server instead. The combination of Apache and Mono seems to be as cross platform as you can get.

I spent a couple of hours for playing with Apache and Mono module, but as I may conclude, this couple allows me to access my objects only through the REST protocol. It seems to be a little bit strictly and I want my objects to expose WSDL to automate development process. But I saw an one thing called like a "Host Provider" in TNAPS console, which allows me to configure an access to my objects through the SOAP. I think that if there is SOAP support so there must be WSDL support also, but unfortunately I didn't find anything about it in documentation, and now I trying to develop an app for TNAPS to test how it can meet my requirements.

P.S.: I really surprised about TNAPS3 since I didn't heard about it before but its feel like I have sympathy for TNAPS today becouse it automates many things I usially had to code.

#7
Milyardo

Milyardo

    Learning Programmer

  • Members
  • PipPipPip
  • 54 posts

Quote

I spent a couple of hours for playing with Apache and Mono module, but as I may conclude, this couple allows me to access my objects only through the REST protocol.
Not sure if I understand this at all, REST is not a protocol, its a design methodology for applications. Your choice of application server has nothing to do with how you choose to design your application.

Quote

It seems to be a little bit strictly and I want my objects to expose WSDL to automate development process.
I have difficulty understanding this sentence, but WSDLs are typically generated by your IDE, and are disjoint in implementation from the application server you choose to use.

Quote

But I saw an one thing called like a "Host Provider" in TNAPS console, which allows me to configure an access to my objects through the SOAP. I think that if there is SOAP support so there must be WSDL support also, but unfortunately I didn't find anything about it in documentation, and now I trying to develop an app for TNAPS to test how it can meet my requirements.
That sort of functionality sounds more like something that comes from an application framework. Is there one bundled with TNAPS that you just happen to be using?

#8
Axel

Axel

    Newbie

  • Members
  • PipPip
  • 27 posts
one of the reasons I don't like .NET
-Windows only
-Not portable you'd always need to install the framework first unless someone can ever make it somehow portable

but I love C# because its very easy to program(unlike C++ you can make a form with 1 line or something)

#9
sysman

sysman

    Newbie

  • Members
  • Pip
  • 3 posts
you can try mono develop.




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users