IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Delphi Discussion :

Applications Android et iOS avec Delphi, une bonne solution?


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2017
    Messages
    2 251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 2 251
    Par défaut Applications Android et iOS avec Delphi, une bonne solution?
    Bonjour à tous,

    Je dois développer une application tournant sur Android et iOS qui doit interagir avec les fonctions du smartphone (caméra, localisation GPS) et interagir avec une base de données localisée sur un serveur (donc échange de données nécessitant un transfert de données sécurisé).

    Connaissant Delphi, mais n'ayant jamais abordé le développement pour appareil mobile, je suis à la recherche d'un retour d'expérience. Est-ce que quelqu'un sur ce forum peut partager son expérience? Est-ce que Delphi est une bonne solution pour développer une application sur les 2 OS? Est-ce que le même code peut tourner sur Android et iOS ou faut-il adapter le code pour fonctionner sur les 2 OS?

    Merci d'avance pour tout commentaire

  2. #2
    Invité
    Invité(e)
    Par défaut
    En Delphi le développement iOS et Android est réalisé avec Firemonkey, normalement ce que tu souhaites est réalisable sans problème (enfaîte si), tu va forcément devoir adapter une partie de ton code pour iOS et une pour Android. Il faut perdre les réflexes de la VCL et penser différemment mais vu que tu connais Delphi tu ne seras pas perdu.

    L'avantage de cette interface RAD est la rapidité pour développer, de ce que j'ai pu essayer c'est plutôt stable (version Berlin et Tokyo).

    Pour tester rapidement je le fait en compilant sous Windows, ensuite je compile sur Android et de temps en temps il faut adapter le code.
    Par exemple un affichage réalisé dans le FormShow et qui fonctionnent sous Windows n'était pas bien sous Android, j'ai du le gérer dans le FormResize, etc...

    Ces derniers temps l'aide Embarcadero c'est bien développé, les membres sur ce forum et sur stackoverflow.
    Jusqu’à maintenant je suis jamais resté bloqué sur un problème FMX.

    Pour la version iOS et il faut compiler depuis un Mac

  3. #3
    Membre extrêmement actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2017
    Messages
    2 251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 2 251
    Par défaut
    Merci retwas pour ton avis.

    Je pensais bien qu'il y aurait quelques problèmes à passer d'un OS à l'autre...

    Quand tu dis que pour iOS, il faut compiler sur un Mac, comment cela se passe concrètement? Vu que tu as ton Delphi sur un poste Windows... Comment fais-tu pour compiler sur un Mac? Tu mets le Mac en réseau et tu lances un genre de commande dans une console pour lancer la compilation à distance?

  4. #4
    Membre émérite
    Avatar de free07
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 941
    Par défaut
    Citation Envoyé par Anselme45 Voir le message
    Merci retwas pour ton avis.

    Je pensais bien qu'il y aurait quelques problèmes à passer d'un OS à l'autre...

    Quand tu dis que pour iOS, il faut compiler sur un Mac, comment cela se passe concrètement? Vu que tu as ton Delphi sur un poste Windows... Comment fais-tu pour compiler sur un Mac? Tu mets le Mac en réseau et tu lances un genre de commande dans une console pour lancer la compilation à distance?
    Bonjour,

    Oui, il faut un mac qui soit connecté en réseau ou alors tu as la solution d'installer Windows dans une VM créée à partir du mac, il y a par exemple VirtualBox pour mac qui fonctionne très bien ( c'est la solution que j'utilise ). Il faut ensuite que tu installes PAServer qui fait le lien entre l'OS X du mac et Windows. C'est par ce programme que tu peux lancer d'un OS à l'autre ton programme suivant la cible sélectionné ( OSX ou iOS ).
    En ce qui concerne iOS, il faut bien sur que ton iphone, ipad ou iMachin soit connecté en usb sur ton mac

    Tu peux retrouver toutes les infos utiles sur le wiki

    Sinon, pour te parler de mon expérience avec fmx qui est pour l'instant uniquement sur Windows, OS X et iOS, cela fonctionne très bien et comme l'a dit Retwas, c'est de mieux en mieux, c'était un peu galère avant XE 7 et depuis, je n'ai plus de mauvaise surprise.
    Je n'ai pour l'instant aucune expérience pour Android mais je devrais dans les prochaines mois, porter certaines applications sur cet OS.
    Il y a effectivement certaines différences entre iOS et Android, mais tu peux adapter ton code grâce aux directives de compilation et pour ma part, les quelques différences que j'ai pu rencontrer doivent se résumer à quelques dizaines de lignes de codes, ce qui est peu par rapport à l'ensemble du projet.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 99
    Par défaut
    Bonjour,

    je suis à la recherche d'un retour d'expérience
    Anselme45 : je viens de développer ma première application android sous delphi 10.2 tokyo (adaptation IOS très prochainement). J'ai eu les mêmes interrogations que toi et je confirme que Delphi est une très bonne solution pour développer ce genre d'application.

    Perso, j'ai découvert les compos firemonkey, le concepteur de style et le livebinding par la même occasion : c'est vrai que c'est un peu déroutant au début mais ça laisse d'agréables surprises (possibilité d'intégrer un composant dans un autre via la structure, possibilité de lier les champs d'un clientdataset à un listview via le livebinding sans gérer les affectations dans le code, possibilité d'agencer plusieurs données dans le même item d'un listbox via le concepteur de style...).

    Un détail dont on se rend compte assez vite mais qui a, à mon sens de l'importance, Android fonctionne de manière asynchrone : par exemple, il n'attend pas le retour utilisateur tel que le clic sur un showmessage pour continuer d'avancer dans le programme. ça change un peu la manière de penser son code, comparé à windows. Un autre détail important : tout traitement long doit être intégré dans des threads (TTask et Future sont sympathiques à utiliser).

    Concernant les éventuelles difficultés, la communauté delphi m'a bien aidée et jusqu'à présent, je n'ai pas rencontré de point bloquant (je touche du bois ).

  6. #6
    Expert confirmé
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 772
    Par défaut
    Citation Envoyé par delaio Voir le message
    Un détail dont on se rend compte assez vite mais qui a, à mon sens de l'importance, Android fonctionne de manière asynchrone : par exemple, il n'attend pas le retour utilisateur tel que le clic sur un showmessage pour continuer d'avancer dans le programme. ça change un peu la manière de penser son code, comparé à windows.
    Windows est aussi asynchrone Tous les évènements sont mis dans une file de messages et traiter lorsque Windows a fini avec les messages arrivés plus tôt.

    Par contre, il y a 2 fonctions : PostMessage et SendMessage : 1 des 2 bloque tant que Windows n'a pas fini de traiter le message et donné le retour


    Citation Envoyé par delaio Voir le message
    Un autre détail important : tout traitement long doit être intégré dans des threads (TTask et Future sont sympathiques à utiliser)
    Windows tout également. iOS si je ne dis pas de bêtises aussi

    Les applications ont toujours un thread principal (fil d'exécution) qui est consacré aux traitements des messages, de l'interaction avec le système d'exploitation en dessous et de l'affichage.
    Si le développeur surcharge ce thread principal, l'application fige tant que le traitement n'est pas fini (des fois l'application reprend temporairement la main dans les moments d'inactivité)

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/12/2016, 14h18
  2. [iOS] Portage d'une application Android vers iOS
    Par Kreepz dans le forum Applications mobiles
    Réponses: 4
    Dernier message: 26/02/2015, 15h18
  3. Réponses: 6
    Dernier message: 07/06/2011, 21h22
  4. Application web / Site internet avec delphi ??
    Par DarkChamallo dans le forum Web & réseau
    Réponses: 6
    Dernier message: 14/03/2006, 13h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo