Le projet MonoDroid vient d’ouvrir sa phase d’évaluation pour les développeurs, c’est un projet mené par Miguel de Icaza, l’homme à la tête de nombreux projets à succès : le développement du gestionnaire de bureau GNOME et le portage de .NET sur Linux et iOS.
En gros, la machine virtuelle de MonoDroid a permis de compléter Dalvik (les interfaces de programmation) pour le rendre compatible avec le C#. OpenTK (présente dans Windows, Linux ou l’iPhone) a également été porté, un outil qui prend en charge OpenGL.
Bref, amis développeurs c’est à vous de tester Monodroid depuis Visual Studio sur Windows ou MonoDevelop sur Mac OS X.
Source : Clubic
Thanks for the informations Dell http://net-informations.com
Avez-vous entendu parler du projet "In the box" : "In the box" est un projet Open Source destiné à porter le runtime Android Gingerbread sur iOS.Une premiere étape vient d'etre franchie avec le portage de la VM Dalvik sur iOS ! Plus d'information ainsi qu'une vidéo est disponible et des informations complémentaires sur www.in-the-box.orgAinsi les développeurs pourront exécuter directement et facilement leur application Android aussi sur iOS le tout sans être obligé d'installer Android sur iPhone ! Pas non plus besoin de Jailbreak ! Enjoy !
Avez-vous entendu parler du projet "In the box" : "In the box" est un projet Open Source destiné à porter le runtime Android Gingerbread sur iOS.Une premiere étape vient d'etre franchie avec le portage de la VM Dalvik sur iOS ! Plus d'information ainsi qu'une vidéo est disponible et des informations complémentaires sur www.in-the-box.orgAinsi les développeurs pourront exécuter directement et facilement leur application Android aussi sur iOS le tout sans être obligé d'installer Android sur iPhone ! Pas non plus besoin de Jailbreak ! Enjoy !
Salut, Mon projet scolaire de troisième année a pour but de porter la JSR292 (gestion des langages de script par la VM java) sur Android. Ce qui permettra d'executer les langages de script (Ruby, Python etc) sur Android. Droid292.
De Icaza à rien d'autre à faire ? Franchement, il faut qu'il s'y fasse: 1- MS s'en tape de Mono sinon ils en serait pas là ou ils en sont à ramer dérière MS et son "bon vouloir du prince". 2- Android n'a rien à gagner à une plateforme tierce. Java est natif dessus et dispose de pléthore d'outils et AGLs dont la majorité sont gratuits. Et malgrés les bisbilles en cours entre Google et Oracle, je vois mal Google ouvrir grand la porte à une techno gérée par son principal concurent sur ses marchés cibles générateurs de leur CA. Après, ce genre d'amusement est toujours sympa pour prouver la proximité de Java et .net ... mais au delà, c'est aussi utile pour la planete qu'un émulateur Java Spectrum pour un fan d'Amiga ;-) Aller, je fait un long commentaire, car il faut bien rajouter un peu de hit au mot clé "mono" il en a tellement besoin dans le zeitgeist :P
MonoDroid n'est pas du MS. Pour MS, c'est plutôt une épine dans le pied même (niveau marketing par exemple).
moi ça me fait serieusement chier d'avoir du MS dans Android.
Genre l'équipe de frandroid a de grosses lacunes de francais, mais faut pas les "humilier" en public, non non, faut utiliser des chemins invisibles des commentaires ^^.
-e.
Loops merci de cet éclairage très détaillée.
+1
à Loops : oui pour le pré-chargement de .NET. Windows gère seul. L'article et les commentaires parlent tous de C# mais .NET est une machine virtuelle sur laquelle on peut utiliser d'autres langages (Delphi.NET, J# [le java à la sauce Microsoft], F# [OCaml], VB.NET, JSCRIPT.NET, etc.). Certes moins utilisés que C# mais juste pour signaler que ces langages sont aussi supportés ! Pas tous cependant : les langages dynamiques comme IronPython et IronRuby qui ne le sont pas d'après les limitations sur monodroid.net.
C'est quoi ce faux nexus one tout pourri sur la plaquette. Ca mériterait un photoshopdisaster
html5 c'est l'avenir sinon python saybien.
Pour démystifier un peu tout ça (enfin essayer) C# et C ou C++ sont deux philosophies différentes. Les deux derniers sont des langages dit compilés qui permettent de créer des applications qui pourront être directement exécutées par ton OS sans avoir besoin de quoi que ce soit d'autre. C# tout comme Java est un langage dit pré-compilé il produit une application dans un langage neutre par rapport à ton OS, mais ton OS a alors besoin d'un programme spécifique pour comprendre et exécuter cette application. Pour faire simple une appli en C ou C++, ton windows lui parle directement tandis que dans le cas de C# ou Java il a besoin d'un traducteur pour parler à Windows (et donc c'est plus long). Ceci dit je suis d'accord avec une remarque précédente qui disait que la différence entre les deux s'amenuise et pour deux raisons : les machines virtuelles (les "traducteurs) sont de plus en plus performants et surtout à part dans quelques secteur de pointe (comme le jeux) les développeurs ne font plus autant la chasse aux performances qu'autrefois. Les applications Java sur ordinateur (surtout sur Windows) sont un peu longues à démarrer car la machine virtuelle est un peu longue à se charger, une fois lancées elles réagisse généralement assez bien (à condition d'avoir suffisamment de mémoire pour ça). Sauf erreur de ma part, pour C# se phénomène est moins présent sur Windows car la machine virtuelle de ce langage est chargée au démarrage de Windows (il est possible que je me trompes sur ce pré-chargement je connais peu .Net). Sur Android la donne est toute autre car Dalvik (le "traducteur" Java pour Android) est démarré avec le téléphone et donc il n'y a plus le temps de démarrage que l'on a sur Windows. En plus Java est beaucoup plus facile à apprendre que C ou C++ et permet d'éviter certains problèmes rapidement difficiles à résoudre (fuites mémoire par exemple). Pour C# et Mono pour qu'il tourne sur Android il va falloir un traducteur, c'est à dire que quand ton application va vouloir faire quelque chose elle va le demander au traducteur C# qui va le demander à Dalvik qui va le demander à Android. Autre inconvénient il faudra soit qu'au préalable les utilisateurs ait installé un runtime C# (sur le modèle de Adobe Air), soit l'embarquer dans les applications et alors là bonjour la taille de l'appli (10 Mo pour écrire bonjour). Bref je suis dubitatif sur l'intérêt de cela, une approche comme celle de Titanium ou PhoneGap me parait plus intéressante pour une société voulant faire du multi-plate-forme. Pour conclure si vous voulez développer que sur Android apprenez le Java c'est certainement avec lui que vous aurez le moins de problème (et le plus de doc aussi) sans de vrai perte de perf. Si vous voulez développer pour plusieurs téléphones là le choix est plus compliqué (et plus cher car presque toutes les solutions sont payantes).
Attention, dans un jeu tout n'est pas écrit en C/C++. Ainsi pour Angry Birds, le moteur du jeu est en C/C++ mais les niveaux sont écrits en Lua, ce qui permet aux Levels designers de faire les niveaux beaucoup plus rapidement. Unity3d inclut ainsi Mono.
Je vois pas en quoi c'est une bonne nouvelle. Après Gnome, c'est au tour d'Android d'être pollué par ce langage bourré de brevets logiciels Microsoft, compagnie, qui, comme on le sait bien, n'a jamais montré la moindre agressivité à l'égard de GNU/Linux et Android, et encore moins à coups d'accusations de violations de brevets... Très mauvaise idée, moins il y aura d'utilisateurs, mieux ce sera.
Développer un petit jeu en Java pourquoi pas. Après généralement, on utilise des moteurs (3D engine ou game engine) qui sont écrits en C/C++ pour la performance. Ecrire du code performant ce n'est pas trivial, on doit tenir compte des problématiques de cache, ce que ne permet pas le Java.... Et là on peut avoir du code vraiment beaucoup plus rapide (2 à 5 *) sans compter l'utilisation d'un jeu d'instructions comme Neon. Pour ma part, je dev en C/C++sous OS X, et je valide le code sur les différentes plateformes iPhone, Android, PC... Au final, c'est plus rapide que de développer en Full Java pour Android. Les moteurs Unreal, Id Tech, Unity3d, Ogre3d (compatibles Android) sont tous écrits en C/C++. Pour débuter dans le dev de jeu, je te conseille de regarder Unity3D.
Plus performante, c'est sur. Mais comme l'a dit ErGo_404, c'est tellement plus long à programmer avec ce langage qu'il vaut mieux l'utiliser pour quelques chose qui demande vraiment beaucoup de ressources. Par exemple, la majorité des jeux PC ne sont pas en C, mais en C++, un langage de plus haut niveau dérivé du C, mais plus vraiment mis à jour depuis quelques temps. La différence de performances entre programme compilé et interprété est de plus en plus faible, donc autant utiliser des choses simples.
Sur Android c'est différent, le plus simple c'est le Java. Tu peux utiliser du C pour quelques rares fonctions qui ont besoin d'être exécutées en très bas niveau (genre un gros calcul matriciel bien moche), mais sinon en règle générale il vaut mieux du Java.
En gros une appli développée en C serra plus "riche" et performante qu'une appli en Java ?
Pour un formulaire web autant utilisé du XHTML/CSS/JS, c'est beaucoup plus rapide qu'un portage.
Pour les PC (je suppose que c'est la même chose pour Android), c'est : * Le C est plus optimisé * Un programme en C est plus long à dévelloper Ceci s'explique : le C est un langage de bas niveau, contrairement au Java (qui est de haut niveau, comme le C++, Python).
Ils ont porté un langage propriétaire, dommage. En plus, ils souhaitent le rendre payant, ça ne va pas attirer beaucoup de développeur. Je pense que du Python aurait été mieux (gratuit, open-source, connu et utilisable pour le web). Mais c’est comme même bien. Je leur souhaite bon courage.
Question aux développeurs ? Quel est le "meilleur" langage de programmation entre C et Java ? ( facilité de développement ,capacité pour l'application, richesse de l'appli etc )
Ca évite surtout aux entreprises de développer la même appli dans trois langages différents pour les trois plateformes actuelles. Ceci dit, si ça implémente une machine virtuelle l'installation doit se faire au niveau du système pour que ça soit un peu plus efficace (pour remplacer Dalvik ?), sinon c'est une machine virtuelle dans une machine virtuelle, bref ça craint. Ca sera probablement pas une solution pour faire des applis ayant un gros besoin de performances quoi :-) Après si c'est juste pour faire du formulaire et du web, ça ira largement.
J'ai fait le test. L'APK inclut Mono.Android.dll (env. 9 Mo pour l'instant) et fonctionne sur le modèle des permissions Android classique.
Je viens de faire joujou avec la bête sous Visual Studio 2010 et l'émulateur Android, c'est plutôt séduisant : je suis rapidement arrivé à quelque chose qui fonctionnait. Cependant les 2 gros problèmes que je vois déjà : - le coût (ça devrait devenir payant, et pas tout à fait donné, selon la FAQ) - la taille actuelle (probablement pas encore optimisée) de l'APK généré sur le Hello World! que je viens de faire : > 10 Mo ! :(
Encore une fois, tout cela dépend de l'implémentation. IronPython et Jython étant la démonstration que python peut être implémenté dans une VM ou interprété par un programme s'exécutant dans la VM ... bref ça fait un joli bazar :D
Ouai, il y a aussi le titre en fait. Je ne suis pas sûr que "pour sur Android" ce soit très français. (ceci dit, c'est vrai que c'est un blog, donc t'as le droit d'écrire comme tu veux, non?) :p :p
Et sous réserve que je ne me trompe pas, parce que je ne suis pas certain là, le C# est un langage pré-compilé, mais pas interprété (Python par exemple est lui interprété).
Si tu veux être précis, ils sont pré-compilé dans du bytecode, puis compilés en JIT sur la machine exécutant le programme. Mais c'est pinailler xD
Le projet monotouch (pour iphone) est lui bel et bien payant (enfin, c'était le cas il y a 1 an), du coup ça m'étonnerait pas qu'il en soit de même pour la version Android. Au final, sauf si on est vraiment puriste du C#, je pense qu'il veut plus le coup d'apprendre le Java plutôt que de se mettre sous un sdk payant, limité et qui ne sera surement pas maintenu/amélioré au même rythme que le sdk officiel.
Les versions commerciales sont en général destinées aux entreprises souhaitant intégrer ces projet dans leurs applications propriétaires, ce qu'il n'est pas possible de faire avec une licence GPL par exemple. Le projet serait sous double licence, dont une payante. Pas de quoi s'affoler, c'est très courant (MySQL, Qt <4.5, ...).
moi j'ai peur que pour utiliser les apps mono il faut en premier installer mono, qui demandera tous les droits possible lors de l'installation et qu'apres les app mono ne demandent pas de permission du coup se sera un JEU d'ENFANT de faire des mechants virus sur android ... deja que la majorité des trojan et autres cochonnerie sont codé en .NET ....
Si je peux me permettre une petite remarque. Les programmes écrit en C#, java ou autre sont compilés. La différence avec un programme en C par exemple, c'est qu'ils sont interprétés par une machine virtuelle. Macine virtuel faisant le lien entre le bytecode .net/java et le système.
ça y est trouvé, la prochaine foi je m'en servirais
J'espère que ça a été compilé avec le NDK et pas le SDK java parce que faire tourner une CLR Mono sur Dalvik....
Excuse moi si mon commentaire t'a paru agressif c'était juste pour rire ;) où se trouve le formulaire contact ??
Hum à voir ce que ça donne réellement, mais plusieurs questions techniques (avant d'avoir le temps de tester): ça fait quel genre d'apk? des trucs à rallonge avec des libs de quelques mo comme c'est le cas pour le qt sous android? Quid de l'interaction avec le sdk android? (genre toutes les gestions du hardware tout ça bref tout le sdk), c'est niet je suppose comme le qt? Et je viens de voir licence commerciale dans le futur, donc ça sera payant? Si oui alors personnellement ça ne m'intéresse pas du tout... Si c'est pour avoir les mêmes limitations et inconvénient que la partie en qt, alors autant faire du qt (qui lui est gratuit si pas d'usage commercial)...
En fait, le C# est un langage qui, de la même manière que Java, se compile à l'exécution. Le projet Mono a, à l'origine, pour but de faire une VM C# pour Linux, et là ça a été adapté pour Android :) Donc en gros, ça permet de faire tourner des programmes rédigés en C# sur Android. Je pense qu'ils devront tout de même être "orientés" Android, et que donc un tel programme ne tournera pas avec le même code sur PC ou IPhone.
J'en connais un qui ne doit pas beaucoup dormir ;) Si j'ai bien compris c'est pour développer un programme pour 3 plateformes en une fois ?
Bon revenons au sujet ! ;)
Oui, je me drogue au Pepsi. Merci mais la prochaine fois, faut passer par le formulaire de contact.
Ouais moi aussi, ça m'a piqué les yeux. Je pense qu'il voulait dire sujet ou objet... L'erreur est humaine.
Ouais syntaxiquement, tout cette introduction laisse à désirer. On pourrait croire que c'est MonoDroid qui a pour succès le développement de Gnome et du portage de .Net ... alors qu'il s'agit bien de MDI.
et de deux !! lol
Machine DaLvik et non Darvik ;)
Ulrich tu te drogues !! J'en suis sûr, sinon comment expliquer cette énorme faute de français ? > c’est un projet mené par Miguel de Icaza, qui a pour succès : le développement [...] WTF ??? qui a pour succès ???? Ce qui veut dire ? Allez il est 14h tu devrais déjà être réveillé lol
Ce contenu est bloqué car vous n'avez pas accepté les cookies et autres traceurs. Ce contenu est fourni par Disqus.
Pour pouvoir le visualiser, vous devez accepter l'usage étant opéré par Disqus avec vos données qui pourront être utilisées pour les finalités suivantes : vous permettre de visualiser et de partager des contenus avec des médias sociaux, favoriser le développement et l'amélioration des produits d'Humanoid et de ses partenaires, vous afficher des publicités personnalisées par rapport à votre profil et activité, vous définir un profil publicitaire personnalisé, mesurer la performance des publicités et du contenu de ce site et mesurer l'audience de ce site (en savoir plus)
En cliquant sur « J’accepte tout », vous consentez aux finalités susmentionnées pour l’ensemble des cookies et autres traceurs déposés par Humanoid et ses partenaires.
Vous gardez la possibilité de retirer votre consentement à tout moment. Pour plus d’informations, nous vous invitons à prendre connaissance de notre Politique cookies.
Gérer mes choix