Temat: czy odnajdę w C# to czego poszukuję?
Tak możesz. Ale oczywiście nie pod każdym względem.
Aplikacje konsolowe, jeśli tylko nie korzystają z mechanizmów Windows, np. domeny aplikacji, WCF, uwierzytelnianie, ActiveDirectory, usługi systemowe, Reporting Services, OLE COM, multimedia - tak.
Aplikacje GUI - tak, w oparciu o
dostępne biblioteki, np. GTK#. Z tym, że jednak "naturalną" biblioteką dla GUI pod Windows są WinForms, na których z kolei oparte jest multum dostępnych na rynku, bogatych bibliotek GUI (np. Krypton). GTK# a WinForms to, dwa różne światy, więc jeśli kiedyś przejdziesz spod Mono na .NET Framework, będziesz się uczył od nowa budowania interfejsów graficznych. Musisz zdecydować, czy potrzebujesz przenośności i klasycznego wyglądu GUI (bez większych wodotrysków) - wtedy pracujesz na tym, co dostarcza Mono. Lecz jeśli potrzebujesz wypasionych interfejsów użytkownika - wtedy pozostaje Ci Windows i .NET Framework i oparte na nich komercyjne bibliteki. Również większość świetnych kontrolek na CodeProject (czyli darmowych, są to projekty użytkowników serwisu) opartych jest na WinForms.
O ile aplikacje napisane w WinForms ruszą pod Mono, o tyle po Mono nie masz (AFAIR) możliwości graficznego budowania takiego interfejsu. W każdy razie, gdy ja poznawałem Mono, miałem do wyboru tylko GTK#, może coś się już zmieniło. W dodatku WinForms pod Linuksem wyglądają IMHO... dziwnie.
No i wreszcie środowisko - MonoDevelop jest jeszcze dość daleko za Visual C# czy SharpDevelop'em, które są dla .NETa tym, czym Eclipse dla Javy. Oczywiście, pisać można nawet w notatniku, ale te czasy już minęły :)
Aplikacje ASP.NET - tak, ale zrób research w tym zakresie. Proste aplikacje przykładowe działały mi już 2 lata temu.
Do testów możesz wypróbować jakąś dystrybucję Live z Mono. Dawno temu było to Monopix, ale chyba go zarzucono. Jest też OpenSuse z Mono:
http://www.go-mono.com/mono-downloads/download.html
Testowałem niedawno pobieżnie, ale nie wszystko mi działało.
Adrian Olszewski edytował(a) ten post dnia 19.12.09 o godzinie 12:02