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

Débats sur le développement - Le Best Of Discussion :

Quels sont les meilleurs langages de programmation pour développer une application mobile ?


Sujet :

Débats sur le développement - Le Best Of

  1. #21
    Membre émérite
    Citation Envoyé par L33tige Voir le message
    Oui et à la moindre mise à jour faut 3 personnes, 3 MeP, 3 projets à suivre... mouais.
    Et oui, une seule personne peut le faire sur trois supports différents, mais on triple le temps, on augmente les erreurs possibles, on augmente la dette technique
    Non, c'est du cross plateforme : 1 source unique et 3 compilations. Donc on ne triple pas le temps, ni les erreurs possibles pas plus que la dette technique. La dette technique est liée à la politique de l'éditeur de l'OS cible. La dette technique d'une application web est plus importante : souvent elle s'appuie sur une multitude de frameworks, nécessite au moins telle version de tel navigateur qui lui même s'appuie sur l'OS...

    Quant à ta remarque "en partant du principe que les dev natifs sont pas des brelles" cela est valable pour tout : il peut aussi y avoir des développeurs web plus ou moins bons.
    Mon site - Mes tutoriels - GitHub - N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  2. #22
    Membre éclairé
    Citation Envoyé par gbegreg Voir le message
    Non, c'est du cross plateforme : 1 source unique et 3 compilations. Donc on ne triple pas le temps, ni les erreurs possibles pas plus que la dette technique. La dette technique est liée à la politique de l'éditeur de l'OS cible. La dette technique d'une application web est plus importante : souvent elle s'appuie sur une multitude de frameworks, nécessite au moins telle version de tel navigateur qui lui même s'appuie sur l'OS...
    Tu m'explique comment tu compile ton logiciel pour en faire un site web ? C'est pas possible avec tous les langages de faire du cross plateforme ni sur toutes les plateformes. "souvent elle s'appuie sur une multitude de frameworks" oui enfin s'agit de pas être totalement abruti aussi et de pas faire n’importe-quoi je pourrais dire la même chose d'une app spring par exemple. "nécessite au moins telle version de tel navigateur qui lui même s'appuie sur l'OS" C'est, encore une fois je me répète, tout l’intérêt des apps hybrides, la compatibilité est gérée automatiquement, j'ai jamais eu besoin de faire du spécifique...

    Citation Envoyé par gbegreg Voir le message
    Quant à ta remarque "en partant du principe que les dev natifs sont pas des brelles" cela est valable pour tout : il peut aussi y avoir des développeurs web plus ou moins bons.
    C'est...euh...le point que je voulais soulever, il y à des garde fous bien plus importants quand on est moins bas niveau, ça permet de rajouter de l'idiotproof, ça permet aussi aux nuls de faire des choses qui marchouilles, que ça soit en bien ou en mal, mais je pense qu'il vaut mieux une bonne idée avec des perfs douteuses qu'une idée nul mais bien développée, je peux pardonner les perfs du moment que l'app fait ce qu'elle dit faire.

    Si tu fais une webapp et que t'as eu besoin de faire du spécifique à une plateforme c'est qu'il y à un soucis.

  3. #23
    Membre émérite
    Citation Envoyé par L33tige Voir le message
    Tu m'explique comment tu compile ton logiciel pour en faire un site web ?
    Je n'ai jamais dit que je "compilais mon logiciel pour en faire un site web"... et le sujet de la discussion concerne le développement d'applications mobiles. J'ai juste expliqué pourquoi je préfère développer en natif (mais en cross plateforme) plutôt que transformer une webapp en appli.

    Citation Envoyé par L33tige Voir le message
    oui enfin s'agit de pas être totalement abruti aussi et de pas faire n’importe-quoi je pourrais dire la même chose d'une app spring par exemple.
    Je suis d'accord mais une simple petite appli en React JS basée sur create-react-app c'est déjà plus de 1200 modules Node et plus de 130 Mo...

    Citation Envoyé par L33tige Voir le message
    C'est, encore une fois je me répète, tout l’intérêt des apps hybrides, la compatibilité est gérée automatiquement, j'ai jamais eu besoin de faire du spécifique...
    Oui, je me répète, au détriment des performances et des développeurs qui ne savent pas trop ce qui se passe sous le capot. Ce qui peut être problématique dans certains cas. De plus, pour moi, le natif n'est pas du spécifique. Je vais me répéter à nouveau c'est du cross plateforme : oui on peut faire du spécifique si on souhaite utiliser une fonctionnalité spécifique de l'OS (sans attendre que le framework cross plateforme l'implémente par exemple) mais on peut très bien faire du générique et ainsi profiter des avantages du natif avec qu'une seule version des sources.
    En ce qui concerne "la compatibilité est gérée automatiquement", oui à condition d'être toujours à jour avec les dernières versions. Dans de grandes entreprises, tu peux avoir des contraintes qui font que des anciennes versions de navigateurs sont installées pour des besoins métiers (autres applications, progiciels...).

    Citation Envoyé par L33tige Voir le message
    C'est...euh...le point que je voulais soulever, il y à des garde fous bien plus importants quand on est moins bas niveau, ça permet de rajouter de l'idiotproof, ça permet aussi aux nuls de faire des choses qui marchouilles, que ça soit en bien ou en mal, mais je pense qu'il vaut mieux une bonne idée avec des perfs douteuses qu'une idée nul mais bien développée, je peux pardonner les perfs du moment que l'app fait ce qu'elle dit faire.
    C'est bien ça le problème que je soulevais avec ma remarque sur le besoin de ressources importantes pour une majorité d'applis qui ne font pas grand chose... Personnellement, je préfère une bonne idée bien réalisée. Si un concurrent sort une application similaire à la tienne mais qui fonctionne mieux, les clients n'hésiteront pas longtemps... Enfin, je trouve qu'un développeur se doit de produire un code de qualité, lisible et maintenable. Ne pas se préoccuper du bon développement est une erreur grave.

    Citation Envoyé par L33tige Voir le message
    Si tu fais une webapp et que t'as eu besoin de faire du spécifique à une plateforme c'est qu'il y à un soucis.
    Mais le sujet de cette discussion était de faire des applications mobiles et pour moi natif ne veut pas obligatoirement dire spécifique...
    Mon site - Mes tutoriels - GitHub - N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  4. #24
    Membre éclairé
    Enfin, je trouve qu'un développeur se doit de produire un code de qualité, lisible et maintenable. Ne pas se préoccuper du bon développement est une erreur grave.
    Sauf que toutes les applis sur le play store ne sont pas faites par des développeurs.

    Bref, je parlais uniquement des applis qui sont la pour combler le manque de présence d'un site en app, tout simplement car "les jeunes" recherchent souvent une app avant d'aller vérifier si un site existe, donc quand tu as une webapp sur navigateur, pour toucher plus de monde c'est souvent très intéressant d'en faire un portage hybride, c'est ça que je dis depuis le début.

    C'est ce que j'ai fait à la base pour un site qui enseigne les mathématiques, ça à commencé comme un site web, donc forcément, comme la base était là, il n'y avait plus qu'à en faire un portage hybride, une fois que mon stage était fini, la personne n'avait même pas besoin d'écrire de code en cas de mise à jour, étant donné qu'elle était seule et qu'un stagiaire représentait déjà un grand coût.

  5. #25
    Membre averti
    Encore un troll. Le meilleur langage c'est celui que tu maitrise le mieux et qui répond le mieux à tes besoins.

  6. #26
    Membre du Club
    Citation Envoyé par Stéphane le calme Voir le message
    Développez-vous des applications mobile ? Sur quelle plateforme ?
    Pas encore, car je suis en train de me former au developpement d'applications web (stack MERN), mais je ne me ferme pas à cette éventualité. Le fait que React Native soit adapté au developpement d'apps mobiles multiplateforme me conforte d'ailleurs un peu plus à explorer cette voie quand j'en aurai l'occasion (si bien sûr cette techno est toujours d'actualité; ça change tellement vite...)

    Citation Envoyé par Stéphane le calme Voir le message
    Quel serait le langage de programmation que vous proposeriez pour un développement d'application mobile ?
    N'ayant pas encore d'expérience en la matière, je ne m'avancerais pas trop; néanmoins, en partant du principe que si un jour je me lance là-dedans, ce serait dans l'optique de prolonger au monde mobile ce que je fais sur le web (combo webapp / mobile app), React Native ou tout autre combo langage / framework fonctionnant sur toutes les plateformes me semble être la meilleure voie à suivre.

    Citation Envoyé par Stéphane le calme Voir le message
    Êtes-vous plus porté vers le développement d'applications mobiles ou le développement d'applications web ? Pourquoi ?
    Comme dit précédemment, actuellement je me forme au développement web. Si un jour je me lance dans le développement mobile, ce sera en complément du web afin de proposer des produits/services web fonctionnant sur tout type de terminal.

  7. #27
    Membre éprouvé
    Citation Envoyé par edenx Voir le message
    Déçu de pas voir Dart & Flutter dans cet article quand il est un langage/framework mobile qui connait une forte croissance en terme de popularité.
    Effectivement, ils ont oublié Dart pour développer avec Flutter, le framework qui monte vraiment en ce moment. En Inde, il a dépassé même React Native !
    randriano.dvp.com
    Développeur. Product Owner [Agile]. Sites web, mobile apps, système d'information (SI). Twitter @Randriano

  8. #28
    Candidat au Club
    Réponse
    Et moi aussi je préfère Delphi, Lazarus et éventuellement Java Eclipse.

  9. #29
    Membre actif
    Bonjour,
    Je vois que C# et Xamarin reviennent plusieurs fois dans la discussion.
    J'ai fait développer une aplli mobile métier pour Android et la boîte de dev utilise ce binôme de dev, me vantant au départ son intérêt trans-environnement (Android, IOS, Windows mobile ... c'était en 2016). Sachant que c'était la plateforme de dev qu'ils maîtrisaient, et non un souhait que j'aurais imposé.
    Après 3-4 ans de recul, j'ai tout de même certains regrets. Comme la relative lourdeur du chargement de l'appli, et et un certain manque de réactivité de l'appli, le fait qu'il faille souvent réinventer la poudre pour des fonctions qui seraient directement disponibles via la SDK Android, l'impossibilité (d'après le développeur, mais je n'ai jamais creusé) d'utiliser le SDK du fabricant des smartphone, par exemple pour gérer l'imager 2D/3D, etc.
    Bref, si c'était à refaire, j'aurais surement choisi un prestataire proposant un dev directement en java ! Humble avis d'un non spécialiste !

  10. #30
    Membre averti
    Citation Envoyé par FMJ Voir le message
    Bonjour,
    Je vois que C# et Xamarin reviennent plusieurs fois dans la discussion.
    J'ai fait développer une aplli mobile métier pour Android et la boîte de dev utilise ce binôme de dev, me vantant au départ son intérêt trans-environnement (Android, IOS, Windows mobile ... c'était en 2016). Sachant que c'était la plateforme de dev qu'ils maîtrisaient, et non un souhait que j'aurais imposé.
    Après 3-4 ans de recul, j'ai tout de même certains regrets. Comme la relative lourdeur du chargement de l'appli, et et un certain manque de réactivité de l'appli, le fait qu'il faille souvent réinventer la poudre pour des fonctions qui seraient directement disponibles via la SDK Android, l'impossibilité (d'après le développeur, mais je n'ai jamais creusé) d'utiliser le SDK du fabricant des smartphone, par exemple pour gérer l'imager 2D/3D, etc.
    Bref, si c'était à refaire, j'aurais surement choisi un prestataire proposant un dev directement en java ! Humble avis d'un non spécialiste !
    Le prestataire auquel vous avez fait appel a développé votre application en utilisant Xamarin Forms : Techno qui permet effectivement, avec un seul code source C#/XAML, de cibler iOS, Android et Windows.
    Sur le papier c’est cool. En pratique je trouve ça d’une lourdeur son nom (je parle d’une expérience de projet qui date de 2016 également, j’ignore si ça s’est amélioré depuis). Notamment si on souhaite intégrer des éléments spécifiques à une plateforme, on se retrouve finalement à maintenir un projet core, et X projets spécifiques à X plateformes. Sans compter un XAML trop léger en possibilités par rapport à celui qu’on manipule en WPF ou UWP (ce qui frustre un peu).

    Bref. Dans mon cas, lorsque je dis utiliser Xamarin et C# pour du développement Android, je ne parle pas de Xamarin Forms, mais bien de Xamarin Android qui expose le SDK complet de la plateforme, tel qu’on le retrouve en JAVA (avec l’inconvénient évidemment de ne pas pouvoir réutiliser tout le code pour porter mes applis sur iOS).

  11. #31
    Membre actif
    Je vais me renseigner et reviendrai poster la réponse, Forms ou Android.
    Question subsidiaire : on peut porter une appli Xamarin Forms en Xamarin Android ?

  12. #32
    Membre averti
    Citation Envoyé par FMJ Voir le message
    Question subsidiaire : on peut porter une appli Xamarin Forms en Xamarin Android ?
    Tout est possible, mais suivant l'application ça risque d'être plus ou moins facile.
    Le code spécifique à Android (si il existe) sera récupérable quasiment en l'état. Le code C# des éventuelles classes portables (le code business, les modèles etc.. si c'est bien codé) sera également récupérable. Par contre, toute la partie IHM et les VM seront à réécrire (et ça peut vite représenter le gros du code).

  13. #33
    Membre actif
    Effectivement, il y a un peu de HIM. Mais cela reste très basique à mon sens. Aucun effet graphique de transition ou autre. C'est du pur flat design.
    L'appli est divisée en 3 parties :
    > le HIM --> géré par la boîte de dev
    > l'API, qui fait le lien et la rupture protocolaire entre les mobiles et la base de données --> géré par la boîte de dev
    > Les PS SQL Server : géré par moi-même

    Je suis un nul en programmation, donc je n'ai jamais voulu mettre le nez dans leur code, mais ce qui m'a toujours surpris, c'est que le l'appli représenterait dans les 16 000 lignes de code, là où je pense faire à peu près la même chose en VBA pour moins 1-2000 lignes ! Avec un degré de complexité vraiment très faible. A titre de comparaison, la partie SQL Server représente dans les 10 000 lignes de code, fortement documentée et degogée, avec une niveau de complexité qui n'a vraiment rien à voir !...

  14. #34
    Membre actif
    pour ma part je fais de IONIC 4 + Angular + cordova

    ça marche pas mal et on dev. rapidement tout en ayant accès aux fonctionnalités les plus importantes du téléphone (camera, agenda, photos, videos..) via cordova

  15. #35
    Membre actif
    Citation Envoyé par FMJ Voir le message
    Je vais me renseigner et reviendrai poster la réponse, Forms ou Android.
    J'ai posé la question au dev : c'est Xamarin Forms. Il m'a dit que Xamarin Android était une sous-branche de Forms.

  16. #36
    Membre averti
    Citation Envoyé par FMJ Voir le message
    Il m'a dit que Xamarin Android était une sous-branche de Forms.
    Dans un sens, oui ; Xamarin Forms ajoute une couche d’abstraction au-dessus de Xamarin Android (entre autres). Mais c’est, à mon sens, une surcouche lourde et contreproductive quand il s’agit de ne cibler qu’une seule et unique plateforme (Android, dans votre cas).

    Je comprends tout à fait l’intérêt pour une boite de capitaliser sur une pile technologique qu’elle maitrise (C#/XAML en l’occurrence), et à vrai dire c’était ce qui m’avait séduit avec Xamarin Forms à l’époque. Mais si on veut une expérience native fluide, juicy, Xamarin Forms seul ne suffit pas (il est alors nécessaire d’écrire du code spécifique dans la couche sous-jacente, si on ne veut pas se retrouver avec un truc lourdingue et austère).