Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 40 reacties

Novell heeft een Android-versie van zijn Mono-toolset uitgebracht. Ontwikkelaars kunnen hiermee applicaties ontwikkelen met Microsoft Visual Studio in een .Net-taal en die vervolgens op Android-smartphones en -tablets draaien.

Mono for Android maakt het voor ontwikkelaars mogelijk om applicaties in bijvoorbeeld C# te schrijven en daarbij gebruik te maken van Microsoft Visual Studio. Normaliter moeten Android-applicaties in Java worden geschreven, waarbij Google de Eclipse IDE aanraadt. Ook is het mogelijk om Android-applicaties in een meer low-level-taal als C++ te schrijven. Mono is een opensourceproject, bedoeld om op verschillende platforms .Net-applicaties te kunnen ontwikkelen en draaien.

De Android-versie van Mono bestaat uit de runtime, een plug-in voor Visual Studio 2010 en alle tools die nodig zijn om een applicatie te debuggen en te compileren. Ontwikkelaars die Android-applicaties via Mono schrijven, hebben toegang tot alle api's van het mobiele besturingssysteem.

Eerder bracht Novell al MonoTouch uit, waarmee applicaties voor iOS in .Net geschreven kunnen worden. Met de release van de Android-versie is het volgens Novell nu mogelijk om vanuit een enkele codebase applicaties voor zowel Android en iOS als Windows Phone 7 te produceren.

De Enterprise-editie van de ontwikkeltools kost 999 dollar per ontwikkelaar per jaar. Bij dat bedrag zijn eventuele updates inbegrepen. Een licentie voor vijf ontwikkelaars kost 3.999 dollar op jaarbasis. Een enkele licentie van de Professional-versie moet 399 per jaar gaan kosten. Ontwikkelaars die al gebruikmaken van MonoTouch krijgen tijdelijk vijftig procent korting bij de aanschaf van een Mono for Android-licentie.

Moderatie-faq Wijzig weergave

Reacties (40)

Als je een beetje handig bent met C# dan is JAVA toch ook niet zo'n probleem?
Nou ben je weer "afhankelijk" van Mono, weer een extra "tussenlaag"...
Toch zonde voor de ondersteuning, bugs in framework, etc ?!
Daar komt bij dat het ook nog geld kost??!
Die licentie is (lijkt mij, en blijkbaar Novell ook) veel goedkoper dan dan een betaalde werknemer die geen java maar wel C# kent zomaar Java te laten leren. Daarnaast zit je dan met een enkele codebase wat met betrekking tot onderhoud toch wel wenselijk is als je niet constant dubbel werk wil verrichten.
De tijd die het kost om een taal te leren wordt zwaar overschat. Zeker van C# naar Java en vice versa die qua syntaxopbouw allebei lenen van C. Waar wel meer tijd in gaat zitten is het goed kennen van de IDE, en vooral het platform met z'n API's. Dus in dit geval kan je dev gewoon in Visual Studio blijven werken, met C# syntax, maar hij zal zich toch nog moeten verdiepen in de libraries van Mono, aangezien die niet helemaal hetzelfde zijn als de .Net versie. En welke weg je ook kiest, hij zal altijd de Android specifieke libraries moeten leren kennen.
Voor een iOS app zal je ook nog eens Obj-C moeten leren, dus ik snap heel goed dat je als dev graag je codebase in 1 taal hebt ipv drie versies onderhouden in Java, C# en Obj-C.

Jammer is natuurlijk wel dat er nog geen echt volledig overlappende taal is voor de vier grote 'moderne' mobiele platformen voor de komende jaren:
- iOS (Obj-C, JavaScript en tegenwoordig via Mono dus C#)
- BB OS (in het huidige OS 100% Java, in het nieuwe JavaScript en ActionScript)
- Android (C++, Java, en nu C#)
- WP7 (C#)
Maar C# is wel een heel eind nu.

[Reactie gewijzigd door Dreamvoid op 7 april 2011 12:40]

Op BlackBerry worden dadelijk - met de komst van QNX - nog meer tealen ondersteund dan alleen de talen welke jij aanhaalt, namelijk: C/C++, BlackBerry Java, ActionScript (Adobe AIR) en JavaScript en Android Java. Waarbij Android Java en BlackBerry Java allebei J2ME kenmerken hebben, maar toch eigen interfaces hebben voor bijvoorbeeld de hardware.
Ehm, de mono libraries zijn wel exact hetzelfde als de .Net versie. Je kan juist daardoor .Net apps draaien op Linux. Wel missen ze WPF en sommige andere delen van .Net maar ze zijn juist ontworpen op complete compatibiliteit.
Klopt, zo had ik het ook moeten zeggen. Het mist (nog) delen, maar wat er is is gelijk. Het is een mooi project dat Mono, dat is een ding wat zeker is.
En java heeft geen extra tussenlaag en in Java kunnen geen bugs in het framework zitten?
Maar als bedrijf is het wel een stuk interessanter, zoals je kunt lezen, 1 codebase waarmee je op dit moment 3 phoneplatformen kunt ondersteunen, en blackberry's OS stond geloof ik ook al op de planning. Naast het feit dat je dezelfde codebase dan ook makkelijker kunt gebruiken om bv Windows, MacOS en Linux te kunnen targetten..

Zelf hebben wij ook naar meerdere opties gekeken, maar om zoveel mogelijk platformen met zo'n weinig mogelijk 'werk' te kunnen targetten zijn we op .NET gekomen icm Silverlight (ivm moonlight op andere targets)..
Als je een beetje handig bent met C# dan is JAVA toch ook niet zo'n probleem?
Dat lijkt me ook.
Nou ben je weer "afhankelijk" van Mono, weer een extra "tussenlaag"...
Toch zonde voor de ondersteuning, bugs in framework, etc ?!
Wat denk je van het extra geheugen gebruik.

Ik hoef geen Mono op mijn Android toestel.

Op zich is het wel slim van Novell zo kunnen ze extra geld binnen krijgen, waardoor ze weer meer geld hebben voor andere opensource projecten.
Ik programmeer voor mijn werk in JAVA en prive in C#, ik vind C# echt vele malen fijner dan java.

JAVA heeft ook een VM, Dalvik in Android en dat is dan toch het zelfde.

Extra geheugen gebruik? Wat is daar dan anders dan JAVA?

En wat ondersteuning betreft, JAVA is nu van Oracle en die hadden al hele mooie plannen voor een splitsing in JAVA, bovendien heeft Google nogal wat problemen met Dalvik (gehad?) omdat ze auteursrechten geschonden zouden hebbem.

Novell krijgt hulp van Microsoft bij de ontwikkeling van Mono.

Het enige nadeel wat ik zie is dat je er (dik) voor moet betalen. Dit zal dan niet snel tot veel kleine projectjes leiden.

Wel weer handig voor het monogame project.
Extra geheugen gebruik? Wat is daar dan anders dan JAVA?
Android komt met Java. Dit gebruikt geheugen zowel te draaien als in de flash.
Als Mono daarbij komt zorgt dit voor extra geheugen voor zowel het draaien als in de flash.
Novell krijgt hulp van Microsoft bij de ontwikkeling van Mono.
Het ligt eraan wat je hulp noemt.
Ze krijgen documentatie, het programmeren wordt door Novell en de community gedaan.
Voor zover ik weet draait een app altijd in Dalvik, dus ook de mono apps. Het geheugenverbruik van mono komt dan bovenop Dalvik.

Met Ubuntu knikker ik altijd mono er als eerste uit. Scheelt volgens mij zo 100MB op je HD. Zal voor Android waarschijnlijk wel lager liggen, maar ik zit op mijn Android device niet te wachten op de honger van mono.
Als je hier had gekeken dan had je deze opmerking niet gemaakt.

Toch weer jammer van een tweaker :?
Op Android kun je ook native software draaien, en daar zal Mono wel op gebaseerd zijn.

Ik ben zelf geen gebruiker van Mono, maar kan niet zeggen dat ik 100MB de moeite van het verwijderen waard vind.
Voor zover ik weet draait een app altijd in Dalvik, dus ook de mono apps. Het geheugenverbruik van mono komt dan bovenop Dalvik.
Je opmerking klopt voor een groot deel.

De Mono JVM draait native, parallel aan Dalvik. Het extra geheugen gebruikt komt er inderdaad bij.
maar ik zit op mijn Android device niet te wachten op de honger van mono.
Zo denk ik er ook over. Zeker voor een mobiel device als een smartphone.
Hmm jammer. Las dit artikel zo van yes yes yes tot aan de laatste alinea. Hobbymatig niet echt interessant dus.
laten we idd hopen op een community edition. Je mag wel coden, maar geen geld vragen voor je product.
de student editie mag al je niet commercieel gebruiken, dus ik ben bang dat er geen community edition komt

als het nou gratis was geweest dan zou het een geweldig pakket zijn, nu houd ik het liever bij de gratis tools die google aanbied
Op de Mono Store voor EMEA staan andere prijzen:

Professional Edition - 82 EUR
Enterprise Edition - 207 EUR
Ultimate Edition (5 Developer License) - 2070 EUR

oops, verkeerd gekeken...

[Reactie gewijzigd door azior op 7 april 2011 17:14]

Volgens mij is dat een heel ander product? :)

De juiste link bevat echter helemaal geen student licentie.

[Reactie gewijzigd door soczol op 7 april 2011 11:11]

Op de site zie ik overigens wel een student licentie staan voor $99,-. Dat scheel alweer een hele hap.
Hoe kan MonoTouch eigenlijk iOS applicaties maken als iOS geen .NET runtime heeft? Wordt de boel naar native iOS gecompileerd?
Jep. .NET (en dus ook Mono) heeft ondersteuning voor Native Images waarmee je als het ware een .NET applicatie naar bytecode compiled.
Mono heeft een full static compiler die inderdaad native code oplevend.

Het heeft zijn voordelen, maar een nadeel is dat je een vrij grote binaries krijgt tegen over .net assemblies omdat alle codepaden worden nagegaan (select statement is een goede om veel code te genereren).
Ik neem aan dat de Mono-Runtime wel gratis kan worden gedownload ? En je nog steeds gewoon op de PC in bv Visual Studio kan gaan programmeren, okee dan wordt het wsl wel debuggen met trial en error op je eigen telefoon, maar kan je wel zonder die dure ontwikkeltools (toch als je simpele apps maakt).
Mono for Android is wel iets anders dan de gewone mono-runtime. Die kan je niet zomaar overzetten. Hij is zwaar aangepast en stript voor je alle classes die je niet gebruikt, compiled het naar native code etc. Totaal iets anders.

En alle Android gemapte .net classes heb je natuurlijk niet bij de gewone mono zitten, daar zal je dik voor moeten betalen.

[Reactie gewijzigd door - peter - op 7 april 2011 11:57]

huh? Maar mono was toch vrij om te gebruiken? hoezo ineens van die 'dure' licenties?
zat ik ook al aan te denken.... ik snap er zelf ook niks van op de meeste distros worden de tools onder gpl grates geleverd... :-?
dit is denk ik alleen maar goed nieuws, dit zal ports van en naar andere platformen denk ik ook vergemakkelijken. nu zullen er misschien ook meer ontwikkelaars de overstap maken om android apps te schrijven omdat ze het nu kunnen doen met bijv. c# ipv alleen java
Ik hoop dat ze ook nog een goedkope licentie toevoegen die het mogelijk maakt om appjes te maken die bijvoorbeeld niet in de market kunnen komen. Ik wil hier best mee gaan pielen, maar daar ga ik geen 400 dollar per jaar voor betalen. Het lijkt me wel ideaal om wat voor mij specifieke tooltjes te maken, die ik dus ook alleen zelf gebruik.
Allereerst kost een licentie geen 400 dollar per jaar, maar eenmalig 400 dollar. Dat per jaar is alleen voor eventuele support, updates en distribueren van de applicatie binnen de Android Market of Amazon AppStore.

Ook is er zo'n licentie als jij beschrijft beschikbaar voor studenten. Deze kost 99 dollar, maar dat vind ik nog steeds erg prijzig.
Prima, jammer dat het zo duur is.

Er moet wel worden opgemerkt dat de UI niet overgezet kan worden van iPhone naar Android, het is dus vooral het domainmodel wat gedeeld kan worden. Gelukkig misschien maar, want juist de UI moet zo veel mogelijk aangepast worden aan het OS, anders worden het goedkope ports.

Wel is de UI in C# te programmeren natuurlijk.

[Reactie gewijzigd door - peter - op 7 april 2011 10:45]

Mooi iets, zou handig zijn voor devs die geen tijd/zin hebben om een andere taal te leren.

Nu hopen dat ze ook Moonlight omzetten naar Android.
Opent dit nu ook de deur voor een android port van Moonlight?!

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True