Ostatnimi czasy postanowiłem przyjrzeć się bliżej platformie Mono oraz środowisku Mono Develop. Z racji tego, iż będę miał potrzebę wytworzenia kawałka oprogramowanie na Mac OS postanowiłem skorzystać z tych narzędzi w tymże celu, a żeby lepiej mi to poszło trzeba na początku się z nimi zapoznać.
Uwaga: Jeśli chodzi o jakiekolwiek porównania wydajnościowe to testy były robione na wirtualnej maszynie z Windows 7 z 2 GB RAM.

Pobieranie i instalacja

Mono to tylko około 78 MB natomiast Mono Develop to tylko 20 MB. Pestka do przełknięcia na dzisiejszych łączach. Trzeba było jeszcze doinstalować gtk# i można śmigać. Żadnych problemów w tym miejscu.

Wygląd i działanie

Mono Develop po uruchomieniu prawie jak VS 2008:
MonoDevelop-Home
Projekty jakie możemy przy jego pomocy tworzyć to: konsola, konsola IL (więcej poniżej), Gtk# oraz biblioteka. Do tego dochodzi ASP.NET no i Moonlight (czyli Monowski odpowiednik SLa) Niestety nie ma projektów WPF. Możemy używać VB.NET (bez Moonlight’a) jak i C#.
W działaniu nie zauważyłem żadnych spowolnień, ani problemów. Wszystko uruchamia się i działa jak należy. InteliSense podpowiada co trzeba i bez zbędnego opóźnienia. Dostępne mamy jakieś namiastki funkcjonalności refaktoringu, ale nie jest tego tyle ile w samym gołym VS. A R# niestety dla MonoDevelop nie ma.
Prócz tego mamy oczywiście projekty do testów jednostkowych a także metryki kodu. Jest dość dobrze jeśli popatrzeć, że jest to całkowicie darmowe środowisko.

Ciekawostki

Mono Develop oferuje dość ciekawy projekt. Po stworzeniu Console IL, możemy sobie kodować w ILu bezpośrednio w IDE. Bardzo fajna funkcjonalność. Może nie do końca każdemu przydatna w codziennej pracy, ale ja jako maniak low-level stuff chętnie z takiej możliwości bym skorzystał w Visual Studio.
il

Plusy ujemne i minusy dodatnie

Co na plus:

  • Projekt IL. Możliwość kodowania w IL w IDE i debugowanie. Duży plus ode mnie!
  • Informuje o innym modelu programowania w Gtk#. Nie ma pozycjonowania absolutnego tylko pojemniki – WPF-like
  • RegEx toolkit – wiadomo co to 🙂

Co na minus:

  • Nadal nie wiem jak zmusić breakpoint aby był warunkowy. Niby opcje są, ale zawsze niedostępne.
  • Połowiczne spolszczenia. Często widzimy pomieszanie polskiego z angielskim. Jak dla mnie nie musi być polskiego, ale niech to będzie spójne. Da się to oczywiście zmienić na angielski.
  • Brak WPF ;(

Podsumowanie

Mono i Mono Develop to ciekawe alternatywy warte rozważenia i przyjrzenia się im z bliższa. Na razie planów na przejście całkowicie na to środowisko, ale z racji, że prawdopodobnie będę musiał stworzyć coś na MacOS będę miał z nim troszkę do czynienia.