Gå til innhold

Anbefalte innlegg

 

Mono er forferdelig bakstrevers å velge pga. lite interesse, og dertil manglende støtte på Linux. Du er pent nødt til å kompilere Mono og MonoDevelop selv, om du skal ha en oppdatert versjon.

Det må du da med Java også.

 

edit: dessuten er det vel ikke akkurat unormal praksis å måtte kompilere fra kildekoden for å få nyeste versjon på Linux.

 

edit2: Ser også ut til at mono-complete er mer eller mindre bleeding edge i Ubuntu 14.04?

 

http://packages.ubuntu.com/search?suite=default&section=all&arch=any&keywords=Mono&searchon=names

 

Java er som regel ferdig pakket i form av openjdk 6 og 7, så det er det aldri behov for å kompilere. Dessuten er det helt problemfritt å installere Oracle sin versjon, om du av en eller annen årsak må kjøre samme versjon som Windows-gutta.

 

Det er ikke helt problemfritt å kompilere og sette opp ett levelig utviklingsmiljø med Mono fra kildekode, i særs visst du forventer noe av den samme robuste opplevelsen du finner på Windows. For det første er ikke Mono bare Mono, du ønsker gjerne MonoDevelop og endel andre Mono prosjekter kompilert. Dessuten ønsker du jo helst ikke at den kompilerte versjonen skal ødelegge for noen av programmene du har installert på maskinen som krever den medfølgende versjonen av Mono, så du må vite hvordan man håndterer miljøvariablene (visst du finner dokumentasjon om det).

 

Forsøker du å kjøre i gang ett MVC 3 eller 4 prosjekt, er du nesten helt sikker på å få noen uvanlige stacktrace som returnerer svært kryptiske treff på google. Og du vet aldri om feilen skyldes deg eller om det er feil med Mono.

 

Skal du utvikle GUI programmer kan du bare glemme alt du har lært på Windows, for på Linux brukes GTK.. eller rettere sagt, med Mono benyttes en eldre versjon av GTK enn hva du har tilgang til i Java og bruker på Linux ellers. Visst du ser etter dokumentasjon for Mono GTK, så kikk i C dokumentasjonen, for det er ikke så stort miljø rundt Mono GTK.

 

Jeg har bare skrapet forsiktig på bruk av Mono på Linux, og til tross for alle fordelene med C#, CLR og .NET/Mono så er opplevelsen på Linux ganske rufsete beklagelig vis.

Lenke til kommentar
Videoannonse
Annonse

Jeg har ikke jobbet med Mono selv, men er veldig overrasket over det som blir sagt her. F.eks. at monostøtten på Linux er dårlig, men bedre på Mac - siden Mono-teamet selv sier:

 

"Mono is primarily developed on Linux, and most of its users are Linux users, so it is the platform best supported."

 

Wikipedia sier:

 

"Mono can be run on many software systems including Android, most Linux distributions, BSD, OS X, Windows, Solaris, and even some game consoles such as PlayStation 3, Wii, and Xbox 360."

 

Og så har vi prosjekter som MonoGame, som jeg hører mye om for tiden. De sier:

 

"We currently support iOS, Android, Mac OS X, Linux, Windows, Windows 8 Store, and Windows Phone 8 with even more platforms on the way."

 

MEN når jeg googler "installing mono on linux/ubuntu" ser jeg derimot at det nok er noe i det som sies her. Prosedyren er såpass kompleks og rådene er såpass sprikende at det ikke frister å prøve... :(

Lenke til kommentar

Jeg har en tekstbok som er rettet spesielt mot Mono og Linux, den er fra 2004 og var den mest oppdaterte jeg fant. Man blir litt oppgitt når eksemplene i boken ikke fungerer. Feil jeg rapporterte inn til Xamarin, ble løst over ett år senere: "Fungerer i siste versjon". Ok, høres ikke ulikt.. "works for me".

 

Linux er i rask overgang til GTK 3.0, men GTK bindingene til C# har kun delvis støtte for GTK 2.24 (QT er enda dårligere stilt). Jeg kom over en forklaring på den manglende støtten engang. Utvikleren som bidro mest til bindingene hadde fått andre prioriteringer. Xamarin har forlengst overlatt Linux støtten til communitiet. Det er egentlig ikke noe rart med det, bl.a. har Miguel selv blitt glad i Mac plattformen på sine eld(e)re dager.

 

sudo apt-get install monodevelop ?

Helt greit det, for enkle prosjekter. Men det er nok lettere å fyre opp VS Express i Virtual Box og deploye noe greier til Azure med pek og klikk, visst du ser pragmatisk på det.

Lenke til kommentar

Java er som regel ferdig pakket i form av openjdk 6 og 7, så det er det aldri behov for å kompilere.

Nyeste versjonen av OpenJDK er OpenJDK 8, men den nyeste versjonen for Ubuntu er OpenJDK 7.

 

Den nyeste versjonen av Eclipse for Java-utvikling er 4.3.2 men Ubuntu kommer med 3.8.1

 

Monodevelop for Ubuntu er derimot i bortimot nyeste versjon 4.0.12 mens Monodevelop sin nyeste versjon er 4.2.2.

 

Som allerede nevnet er Mono også i temmelig ny utgave.

Endret av GeirGrusom
Lenke til kommentar

MEN når jeg googler "installing mono on linux/ubuntu" ser jeg derimot at det nok er noe i det som sies her. Prosedyren er såpass kompleks og rådene er såpass sprikende at det ikke frister å prøve... :(

 

https://wiki.archlinux.org/index.php/mono

 

Synes det ser greit ut her. Kanskje distroen som er problemet, ikke mono?

 

EDIT:

Skal nevnes at jeg finner alle pakkene som GeirGrusom nevnte over i AUR, så tror ikke det skal være et så stort problem å få mono til å kjøre.

Endret av JuletreDuden
Lenke til kommentar

 

Java er som regel ferdig pakket i form av openjdk 6 og 7, så det er det aldri behov for å kompilere.

Nyeste versjonen av OpenJDK er OpenJDK 8, men den nyeste versjonen for Ubuntu er OpenJDK 7.

 

Den nyeste versjonen av Eclipse for Java-utvikling er 4.3.2 men Ubuntu kommer med 3.8.1

 

Monodevelop for Ubuntu er derimot i bortimot nyeste versjon 4.0.12 mens Monodevelop sin nyeste versjon er 4.2.2.

 

Som allerede nevnet er Mono også i temmelig ny utgave.

 

Ok, men om du behøver Java 8 så er det bare å gå til Oracle.com å laste det ned.

 

En forskjellen her er at Java 6, 7, 8 er stabile og støttede utgivelser. Det har normalt ikke noe å si om du kjører Oracle eller OpenJDK. Det er heller ingen hast i å ta i bruk Java 8. Men Mono har en flytende feature kompatibilitet mot det som eksisterer i .NET. Mono 4.0.32.ett.eller.annet har sannsynligvis masse ting som er 90 % feature kompatibelt med noe i .NET. Eller noe er 100% feature kompatibelt, men akkurat du treffer en edge-case hvor programmet ditt tryner miserabelt. Fiks er naturligvis å sjekke ut siste versjon av Mono og bygge selv, eller å finne en omvei.

 

Jeg er ingen ekspert, som sagt, jeg har bare skrapet dette i overflaten, men alt jeg har sett tilsier at Java > Mono/.NET på Linux på alle områder.

Lenke til kommentar

Synes det ser greit ut her. Kanskje distroen som er problemet, ikke mono?

 

 

Kan være at dette er noe som har endret seg relativt nylig.

 

Jeg snakket med et par utviklere i dag som jobber aktivt med Mono, og slik jeg forstår det deployer til alle de tre store OS'ene. De sier nettopp det dere er inne på: Det er ikke Mono som er problemet, men Linus distribusjonene. Mono oppdateres kun på Ubuntu når Ubuntu kommer i ny release, og derfor har man hengt langt bakpå. Derimot kom det en ny "long time" release av Ubuntu nå i april, og der er Mono fersk og fin. Så oppgraderer du OS'en nå så får du et bra Mono-miljø som i alle fall holder en stund.

 

(får ikke sove)

Lenke til kommentar

Men nå i disse dager når Microsoft har blitt så åpne og vennlige (?), så kunne de jo ha hatt en OpenNET som referanseversjon (i tråd med OpenJDK) og tilgjengeliggjort en nedlastbar binær pakke for de som behøver noe nyere enn den som finnes i pakkebrønnen. Så kan Mono heller være en fork av OpenNET og dytte spesialiteter som bare finnes i Mono upstream. Det er ikke så komplisert.

Lenke til kommentar

Men nå i disse dager når Microsoft har blitt så åpne og vennlige (?), så kunne de jo ha hatt en OpenNET som referanseversjon (i tråd med OpenJDK) og tilgjengeliggjort en nedlastbar binær pakke for de som behøver noe nyere enn den som finnes i pakkebrønnen. Så kan Mono heller være en fork av OpenNET og dytte spesialiteter som bare finnes i Mono upstream. Det er ikke så komplisert.

Microsoft driver direkte støtte til Mono-utviklerne grunnet at de er interessert i at flere applikasjoner skal funke på Windows Phone og de tror Xamarin er nøkkelen for å få dette til.

 

De snakket om dette på Build-konferansen tidligere i år.

 

Generelt har det vært et spennende år for .NET og Mono hittil.

  • Liker 1
Lenke til kommentar

 

Men nå i disse dager når Microsoft har blitt så åpne og vennlige (?)

Nei. Og alle som tror det er enten for dumme for sitt eget beste eller jobber i MS.

 

Her er kildekoden til C# og Visual Basic.NET kompilatoren som brukes i Visual Studio fra og med i går (Visual Studio 2013 Update 2).

 

Bah! Til tross for en MS blogg fra i går som hevdet det, kan ikke jeg se at Roslyn er inkludert.

Endret av GeirGrusom
Lenke til kommentar

Microsoft driver direkte støtte til Mono-utviklerne grunnet at de er interessert i at flere applikasjoner skal funke på Windows Phone og de tror Xamarin er nøkkelen for å få dette til.

Sett på en annen måte, Mono er død på Linux desktop og servere, men blomstrer på mobilututviklingsiden (Android, iOS, WP). Endret av rockPaperScissors()
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...