We have been developing on .Net for several years now. C#, the .Net class libraries, Microsoft SQL Server and the Visual Studio IDE are an ideal environment for developing business applications. The only drawback we have been struggling with was the dependence on the Microsoft Windows platform.
I have been checking out the Mono framework occasionally for the last two years. Our former portal version (Sense/Net Portal 5.5) had some glitches when we tried to run it on Mono. After two days of tweaking it did not run the way we expected. Some additional workarounds may have helped, but we gave up on it.
When we started Sense/Net Portal Engine TNG in our vision we have aimed for supporting more than one database server with the introduction of a database provider model in our data access layer. The Oracle port is closely following the original Microsoft SQL Server version.
Database independence is just one side of platform independence. Early in the development process we have downloaded the latest Mono sources from the SVN. Since Portal Explorer is the most complex part of Sense/Net Portal Engine TNG, we started to test Mono with that. Much to our surprise the data access and business logic layers were running without any problem. The GUI of Portal Explorer relies heavily on latest Asp.Net features (mainly Asp.Net Ajax). After some days of work the developers managed to run the GUI as well. We were really stunned and excited.
Sense/Net Portal Engine TNG is not 100% compatible with Mono yet. We desperately need some class libraries that are missing from Mono to achieve our goals. As a result the team has decided to implement the missing parts and contribute the results to the Mono project.
I will blog more about the topic later...