2009-10-02 11 views
10
  • Kiedy używasz mono dobrym wyborem do używania .net do opracowania systemu produkcyjnego?
  • Koszt wstępny oprzyrządowania wynosi zero, ale w jaki sposób całkowity koszt rozwoju za pomocą mono można porównać do korzystania z .net?
  • Co to jest sweetspot do adoptowania mono?

Odpowiedz

5

Mono można zrobić kilka rzeczy w MS .Net nie mogą lub nie będzie:

  • Run na Linux, Mac i innych (w tym iPhone razie)
  • statycznego linku bibliotek DLL ramowych w scenariuszu wdrażania opartego na zerowej zależności.

Z drugiej strony, .Net robi pewne rzeczy, które nie zrobić mono czy też jeszcze nie łatwo:

  • najnowszej wersji ramach
  • Out of the box wsparcie Visual Studio
  • WPF, WCF, WF, itp
  • Istnieje kilka rzeczy w mono że praca, ale wydajność nie jest całkiem na tym samym poziomie co .Net
+0

Istnieje wiele bibliotek dostępnych w Mono, które nie są dostarczane z .NET. REPL jest tego dobrym przykładem. Również przestrzeń nazw Mono.SIMD (która może być użyta w trybie mono do drastycznego zwiększenia wydajności operacji wektorowych). Ostateczna wydajność jest porównywalna na obu platformach, zależy to tylko od tego, co robisz. – overstood

15

Mono jest .NET działa na platformach innych niż Microsoft.

Użyj Mono, jeśli chcesz zbudować aplikację .NET na platformie innej niż Microsoft. Obecnie pracuję nad aplikacją ASP.NET MVC działającą na OS X przez Mono (chcę kierować na serwer oparty na Linuxie i cały mój rozwój jest wykonywany w OS X). Dobry towar.

W przypadku TYLKO kierowania na system Windows, najłatwiejszą opcją są bezpłatne narzędzia firmy Microsoft (Express Editions).

... gdzie jest Miguel, gdy go potrzebujesz.

+3

+1 za powiązanie swojego konta użytkownika. Wystarczy przejrzeć odpowiedzi Miguela de Icaza, aby uzyskać pomysł na stan tego, co mono może i czego nie może zrobić. –

+0

Miałem wrażenie, że Mono wrócił do .Net 2.0. Czy to źle? Jeśli nie, w jaki sposób otrzymujesz rzeczy ASP.Net MVC? –

+0

Mono przeszedł długą drogę w ciągu ostatnich 2 lat. Nie ma wszystkiego, ale możesz sprawdzić mapę drogową, aby zobaczyć, gdzie są pod względem parytetu funkcji: http://www.mono-project.com/Roadmap MVC wygląda co najmniej częściowo od 29 czerwca tego roku . –

3

Koszt wstępny oprzyrządowania dla aplikacji .NET również wynosi zero. Zamówienie SharpDevelop.

Sweetspot dla Mono to tworzenie aplikacji dla systemu Linux przy użyciu C# i znanego .NET-esque Framework.

+0

+1 dla komentarza ".NET-esque". Nie jest w 100% taki sam jak Microsoft .NET Framework, ale jest całkiem blisko. –

+2

Zapomnij o rozwinięciu, sprawdź ekspres wizualny studio. –

+0

+1 Dla VS Express! Nie mogę uwierzyć, że zapomniałem o tym, kiedy to opublikowałem ... – joshuapoehls

1

To interesujące, jeśli potrzebujesz oprogramowania, które działa w wielu plataformach (Linux, Mac, Windows) przy użyciu ekosystemu .net.

Zgodnie z ich oficjalnej stronie internetowej:

Mono jest platformą oprogramowania zaprojektowany umożliwienie programistom łatwe tworzenie wieloplatformowym aplikacje. Jest to open-sourceowa implementacja z Microsoft .Net Framework oparta na standardach ECMA dla C# i Wspólnym Środowisku Językowym Runtime . Uważamy, że dzięki udanej, znormalizowanej platformie oprogramowania , możemy obniżyć bariery w tworzeniu wspaniałych aplikacji dla systemu Linux.

Ich official website zawiera wiele informacji na temat IDE i innych przydatnych informacji o projekcie.

4

Mono pozwala uruchamiać aplikacje .NET na Linux i Mac OS X, a główna implementacja Microsoft jest powiązana z Windows.

Tak więc w przypadku:

"? Co jest lepsze do pisania aplikacji cross platform"

Odpowiedź brzmi Mono i nie sądzę, że to nawet subiektywna odpowiedź.

Mono obsługuje zaskakujący oddech .NET do 3,5. Praktycznie wszystkie BCL jest w, i można zrobić ASP.NET MVC, Linq i WinForms. Monomiczna wersja Mono obsługuje także funkcje platformy .NET 4.0, więc nie są one daleko w tyle.:)

Godne uwagi rzeczy, które kryją się za różnymi technologiami W *. WPF zasadniczo nie istnieje. WF, to jakość pre-alpha. WCF jest jakością beta i nadal niekompletną, ale prawdopodobnie najbardziej rozwiniętą technologią W *.