Mono aplinka (.NET, tik opensource)
Mono provides the necessary software to develop and run .NET client and server applications on Linux, Solaris, Mac OS X, Windows, and Unix.
http://www.mono-project.com/Main_Page
Geras daiktas ir viekia neblogai. Testavau šitą daikčiuką ant Mac OS. Neblogai. Bandžiau Windows’ines programas, sukurtas su Microsoft’o .NET paleisti ant Mac OS.
Kiek pastebėjau, su šia aplinka neturėtų kilti problemų, jei nenaudojate egzotiškų arba labai specifinių Windows OS funkcijų. Ir, suprantama, reikia vengti visokių papildomų (kitų gamintojų sukurtų) bibliotekų, nes jos gali ožiuotis. Kai kurios bibliotekos yra įsitikinusios, kad jos veikia ant Windows OS, tad neradę Windows OS specifinių failų (pvz. user32.dll) pradeda šlykščiai keiktis Exception’ais.
Bandžiau nerastų bibliotekų problemą spręsti į EXE programos katalogą įdedant Windows bibliotekas ir tikėjaus, kad veiks viskas. Blogai tikėjaus. Pati EXE programa pasileidžia, bet kai nusikapsto iki papildomų bibliotekų – šios niekaip nenori rasti Windows’inių bibliotekų programos kataloge. Tad – lūžta.
Kiek skaičiau, Mono daugiau skirta ASP .NET tinklalapiams paleisti, bet ir programos veikia neblogai. Mono pateikia daikčiuką, pavadintą Mono Migration Analyzer (MoMA) (http://mono-project.com/MoMA). Jis praskanuoja EXE failą ir įspėja, kuriose vietose gali būti problemų – ne visas .NETines funkcijas Mono turi parašytas.
Apibendrinant: bendras įspūdis neblogas. Labai tikėtina, kad Windows’inės .NETinės programos turėtų veikti ir ant kitų platformų. Tik nenaudokite nestandartinių bibliotekų, Windows GUI “naglų” galimybių arba kokių retų MS .NET funkcijų!
