décembre
2011
Bonjour,
Je suis passé d’un Iphone à un Samsung Note sous Android 2.3.6, je pars donc à la découverte de Mono for Android.
Pour information, Mono for Android permet de développer des applications en C#. Il est basé sur le runtime Mono et est propriété de la société Xamarin .
L’interface graphique est basé sur les fichiers axml de l’android sdk. Il est donc assez aisé de trouver de la documentation sur la partie graphique sur le site officiel.
Ce qui va m’intéresser pour le moment c’est de comprendre et de détourner la logique du tout asynchrone de l’Android SDK qui pour tout dire m’horripile grandement.
L’application se décompose en Activity, Widget et d’autres choses que je ne connais pas encore.
-Les Activity sont les écrans de votre application.
-Les Widgets sont les composants utilisateurs affichés dans les Activity.
Pour ce qui est du développement, vous écrivez du code .Net en C# dans Visual Studio 2010 ou/et MonoDevelop sous Windows/Linux/MacOSX.
Un émulateur existe pour tester vos applications mais il est extrêmement long à la détente tout du moins sous Windows.
La seule solution pour pouvoir développer correctement est d’acheter une licence de développement (399 euros pour un développeur).
Je sais que c’est cher payé pour développer en C# alors que le développement en Java est totalement gratuit.
La puissance de Xamarin c’est que le code hors écran est compatible sous Iphone/IPad. Il suffit de refaire les écrans de vos applications et de fusionner le code métier sous les différentes plateforme.
En poussant le vice, vous pouvez même avec une certaine organisation étendre cette réutilisation de code sous Windows PC/Mobile/Phone.
Par exemple pour mon entreprise, il y a plusieurs années j’ai porté une application de vente écrite en C# CF (Windows mobile/CE) sous Windows XP. En réorganisant tout simplement l’application, avec une directive de compilation.
Il y a quelques jours, je me suis mis en tête de récidiver en m’attaquant à la plateforme Android. Pour ce faire, j’ai bien évidemment choisi Mono for Android et après 3 soirées, j’ai porté environ 80% du code métier en modifiant moins de 5% de sont code.
Le plus gros changement fut au niveau des requetes vers la base de données. J’ai du retravailler les requêtes et les connexions à la base pour utiliser une base SqLite au lieu de SQLCe database.
Une fois le code données et métier portés, je me suis attaqué à l’interface graphique et la au mon Dieu « tout est asynchrone »
Quel casse tête!
Au fil des entrées du blog, je vous expliquerai comment contourner assez facilement le mode asynchrone pour le rendre synchrone.
Beaucoup d’entre vous me dirons que c’est une hérésie, moi je parlerai plutôt de logique d’application.
Comme je le dis souvent, la simplicité est le maître mot de la durabilité.
2 Commentaires + Ajouter un commentaire
Commentaires récents
- Mono for Android dans
- Mono for Android dans
- [Mono]Asynchrone Mon meilleur ennemi dans
Pour un designer tu en as un ici que j’utilisai au début http://www.droiddraw.org/
Pour de la doc en français c’est assez dur à trouver mais bon google aide un peu
Bonjour,
Je débute et j’ai dans l’idée de développer une application Android à partir d’une source C# qui fonctionne sous Windows. J’ai donc fait l’acquisition de Mono pour Android en espérant que cela me faciliterait la tâche (je ne suis qu’un simple amateur en terme de programmation et je ne souhaitais pas investir du temps dans l’apprentissage de Java).
J’ai donc fait des essais basiques avec VS2010+Mono et avec MonDevelop, mais je ne trouve pas de concepteur d’interface graphique tel qu’on la trouve dans Eclipse par exemple.
Suis je condamné a développer l’interface en lignes de codes, ou y a t’il des plugings ou autres solutions ?
Y a t’il de la documentation en français pour Mono Android ?
Merci de vos conseils