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

C# Discussion :

Quelle(s) technologie(s) pour une application cross-plateforme?


Sujet :

C#

  1. #1
    Membre expérimenté Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : février 2004
    Messages : 887
    Points : 1 677
    Points
    1 677
    Par défaut Quelle(s) technologie(s) pour une application cross-plateforme?
    Bonjour,

    Je désire concevoir en c# une application cross-plateforme (pouvant être déployée sur PC, Windows Phone et smartphones + tablettes tournant sur android et iOS). Mais je dois prévoir aussi un client web pour l’application.
    Il y a aura une base de données derrière et beaucoup d'échanges via des web services.
    Je suis en train de réfléchir sur la ou les technologies à utiliser. Je voudrais bien aller vers la plateforme Windows universelle (UWP) car je sais qu'avec UWP, on peut développer des applications qui s’ajusteront aux spécifications des appareils automatiquement. Mais mon soucis, c'est le portage vers android et iOS. J'entends beaucoup parler de Xamarin. Serait-il suffisant? Y a-t-il à l'heure actuelle des outils ou techniques pour le faire sans tout reprendre à zéro? Pensez-vous que le choix de UWP soit la meilleure option? Ou devrais-je plutôt m'orienter du côté de Apache Cordova?

    Merci d'avance pour vos apports.
    N'oubliez pas le tag et

  2. #2
    Expert confirmé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    novembre 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : novembre 2010
    Messages : 2 051
    Points : 4 174
    Points
    4 174
    Par défaut
    Déjà la base en Asp.Net Web API, et pour le multiplateforme soit Cordova et tu essaye de share ton JS entre toutes tes applications.
    Sinon Xamarin qui te permettra d'avoir du natif avec du code "similaire" entre toutes tes plateformes, par contre côté Web tu seras obliger de développer une version différentes certes avec du code similaire à la base mais la partie vue sera complètement différentes.

    Après à toi de voir tes besoins, et surtout le besoin en performance, si tu as énormément de traitement sur tes vues ou des pages surchargés de JS, je te déconseille Cordova sur de nombreux mobile ton applis risque d'être lente.

  3. #3
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : septembre 2006
    Messages : 3 580
    Points : 5 194
    Points
    5 194
    Par défaut
    Salut

    Sans hésiter : Asp.Net pour la partie Web + Web service

    Pour la partie Android / iOS ==> Xamarin sans hésiter

    et pour la partie windows ==> Ce que tu veux, Winforms, UWP, WPF...

    Si tout est fait en C#, tu pourras réutiliser beaucoup de code hors IHM entre tous les projets.
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    juillet 2015
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

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

    Informations forums :
    Inscription : juillet 2015
    Messages : 128
    Points : 109
    Points
    109
    Par défaut à calo
    vous êtes dans la section .net, qui est développé par Microsoft pour Microsoft, c'est un peu le forum du C#.net ici, à pars avec Xamarin que je recommande pas car c'est pas du vrai .Net, pour ce que vous voulez faire le mieux c'est le Java, qui est très similaire au C# sinon cherchez un autre ide car celui de Microsoft est surtout fait pour le .net

  5. #5
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : janvier 2007
    Messages : 4 570
    Points : 252 332
    Points
    252 332
    Billets dans le blog
    118
    Par défaut
    En dehors de l'application Web, quel que soit le choix que tu feras, au niveau de l'interface, il te faudra gérer les exigences de chaque périphérique.

    Le conseille que je te donnerais c'est de créer un socle commun pour l'ensemble de tes applications. Une librairie qui reposera uniquement sur .NET Standard. Je ne te conseille pas les “Portable Class Libraries”, car .NET Standard remplacera progressivement ce dernier et la prochaine version est très prometteuse.

    Ta librairie .NET Standad pourra être réutilisé pour ton application Web, ton application UWP et ton application Xamarin. Ainsi, tu pourras te concentrer sur l'interface pour chaque plateforme. Même si Xamarin Forms te permettra de mettre en place des UI pour Android et iOS, tu seras toujours amené à gérer les spécificités de chaque OS au niveau de l'interface utilisateur.

    Pour les web services Web API est l'idéal et en plus c'est du RESTful , contrairement à WCF, et permet de créer facilement des services HTTP pouvant être consommés par n'importe quel client.
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  6. #6
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : septembre 2006
    Messages : 3 580
    Points : 5 194
    Points
    5 194
    Par défaut
    Et pour avoir fait plusieurs projets avec Xamarin, je te confirme et réaffirme que c'est du VRAI .Net et que ça fonctionne très bien.

    Pas besoin de faire du Java pour Android surtout si tout le reste de ton projet est en C#.
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  7. #7
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    juillet 2015
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

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

    Informations forums :
    Inscription : juillet 2015
    Messages : 128
    Points : 109
    Points
    109
    Par défaut
    themonz31 ditent pas que c'est du vrai .net, .net c'est qu'une librairie, tout ce que xarmin fait c'est indexé une fonction qui fait pas partie du .net à un alias qui recemble à celui du .net et rajouté des fonctions pratique, mais dire c'est du vrai .net non svp

  8. #8
    Expert confirmé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    novembre 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : novembre 2010
    Messages : 2 051
    Points : 4 174
    Points
    4 174
    Par défaut
    Quelqu'un a compris ?

  9. #9
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    avril 2007
    Messages
    13 981
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : avril 2007
    Messages : 13 981
    Points : 24 707
    Points
    24 707
    Par défaut
    compris quoi ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  10. #10
    Membre expérimenté Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : février 2004
    Messages : 887
    Points : 1 677
    Points
    1 677
    Par défaut
    Bonjour,
    Je vous remercie pour vos contributions. Je crois que je vais suivre les conseils de theMonz31 et Hinault Romaric. Donc,
    - Xamarin pour la partie iOS & Android
    - Asp.net pour l'application web (je vais quand même aller vers asp.net MVC)
    - Web API pour les web services
    - UWP ou WPF pour la partie Windows.
    Citation Envoyé par Hinault Romaric Voir le message
    Le conseille que je te donnerais c'est de créer un socle commun pour l'ensemble de tes applications. Une librairie qui reposera uniquement sur .NET Standard. Je ne te conseille pas les “Portable Class Libraries”, car .NET Standard remplacera progressivement ce dernier et la prochaine version est très prometteuse.

    Ta librairie .NET Standad pourra être réutilisé pour ton application Web, ton application UWP et ton application Xamarin. Ainsi, tu pourras te concentrer sur l'interface pour chaque plateforme. Même si Xamarin Forms te permettra de mettre en place des UI pour Android et iOS, tu seras toujours amené à gérer les spécificités de chaque OS au niveau de l'interface utilisateur.
    Bien évidemment, je vais mettre en place le mécanisme du socle commun tel que préconisé par Hinault Romaric. J'ai lu cet article et celui-ci sur .NET Standard et j'en ai vu le bien fondé.
    Je suis bien à l'aise avec C# et puisque d'après les différentes interventions, j'ai les outils et techno nécessaires pour réaliser mon projet, je préfère donc rester dans l'environnement .NET.

    Maintenant, j'ai une question en rapport avec UWP et WPF. En fait, j'ai déjà eu à réaliser deux applications en WPF même si c'est de très petites applications. Je n'ai jamais fait de UWP. Mais d'après mes lectures, UWP gère très bien l'adaptation des applications sur les terminaux mobiles de différentes tailles. Est-ce que WPF donne aussi cette facilité?
    N'oubliez pas le tag et

  11. #11
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    avril 2007
    Messages
    13 981
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : avril 2007
    Messages : 13 981
    Points : 24 707
    Points
    24 707
    Par défaut
    pour windows 10 mobile vous pouvez le faire avec xamarin ou avec uwp

    uwp permet de différencier l'affichage en portrait/paysage/taille de la fenetre/écran via VisualStateManager je crois, il suffirait de regarder si wpf l'a
    il y a à mon gout beaucoup de différences entre uwp et wpf, même s'ils se ressemblent
    pas niveau concept, mais au niveau de ce qu'on peut écrire (que ca soit en xaml ou dans le code behind)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  12. #12
    Expert confirmé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    novembre 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : novembre 2010
    Messages : 2 051
    Points : 4 174
    Points
    4 174
    Par défaut
    Mais Net Standard est disponible pour Xamarin IOs/Android ?
    Je ne sais pas si j'ai bien compris le tableau mais les flèches veulent dire supporté ultérieurement ? Ce qui veut dire qu'avec Net Standard 2.0 on perd le support de Windows/Wp 8.1.

Discussions similaires

  1. Réponses: 7
    Dernier message: 26/12/2011, 13h39
  2. Quelle(s) technologie(s) pour une interface d'administration ?
    Par Niark13 dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 10/06/2011, 10h10
  3. Quelle technologie choisir pour une application Rich Internet Application
    Par pierrehs dans le forum Général Conception Web
    Réponses: 3
    Dernier message: 08/03/2011, 14h41
  4. Quel technologie utiliser pour une application?
    Par nesswaw dans le forum Langages de programmation
    Réponses: 1
    Dernier message: 29/01/2011, 22h34
  5. Quelle Base de données pour une application en Java
    Par Feysal dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 01/06/2007, 22h05

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