web-dev-qa-db-fra.com

Avantages des applications Web par rapport aux applications de bureau

Dans l'entreprise pour laquelle je travaille, il semble que toutes nos applications doivent être soudainement transférées vers des applications Web. Pour autant que je puisse comprendre, la seule raison en est que le battage publicitaire des applications Web a finalement contaminé certains de nos décideurs.

Je suis un fan des applications de bureau car elles sont plus conviviales. À mon avis, ils sont plus réactifs, ont de meilleures interfaces utilisateur, sont plus personnalisables et supportent mieux le clavier. Je ne peux tout simplement pas me voir utiliser les versions Web de Visual Studio ou OpenOffice. En outre, j'ai l'impression que les applications de bureau client léger sont plus faciles à mettre en œuvre que leurs homologues d'applications Web.

Peut-être que je néglige certaines qualités des applications Web et peut-être que je ne me trompe pas sur les inconvénients que j'ai mentionnés ci-dessus. C'est pourquoi ma question est la suivante: y a-t-il quelqu'un qui peut voir les avantages des applications Web par rapport aux applications de bureau?

Mettre à jour: Jusqu'à présent, il y a eu des réponses intéressantes. S'il vous plaît noter cependant que Je ne parle pas de la différence entre un client mince et gros application, mais uniquement entre le développement pour une plate-forme de navigateur Web et une plate-forme de bureau.

Mettre à jour: par "application Web", je veux dire la combinaison HTML/CSS/JavaScript, pas applications Internet riches telles que Silverlight. Celles-ci sont très similaires aux applications de bureau, la principale différence étant qu'elles s'exécutent dans un bac à sable. 

69
Dimitri C.
  1. Les applications Web évitent la charge de déployer sur chaque ordinateur client.

  2. Il n'est pas nécessaire d'appliquer la vérification version sur l'ordinateur client.

  3. Les mises à jour sont plus faciles.

  4. Facilite les corrections de bugs.

  5. Aucun administrateur droits vérifiant.

  6. Peut accéder de n'importe où.

  7. Plate-forme indépendante.

  8. Le support et la maintenance sont plus faciles.

  9. Adaptabilité dans applications mobiles.

56
rahul

Les applications de bureau offrent une loin expérience utilisateur supérieure aux applications Web.

Bien sûr, chaque option a ses avantages et ses inconvénients, mais vous devez également les évaluer. Qu'est-ce qui est le plus important pour vous, l'expérience utilisateur ou l'indépendance de la plate-forme? Nous évaluons l'expérience utilisateur au-dessus de beaucoup de choses. Oui, nous faisons des sacrifices, mais cela fait partie de la vie.

Une façon de convaincre vos supérieurs est de leur prouver que l'expérience utilisateur est très lente sur une application de bureau et d'essayer de les convaincre de créer une application de bureau avant rendant l'application Web.

Dans notre entreprise, nos clients préfèrent l’application de bureau à l’application Web tous les jours. Ils sont tout à fait disposés à accepter les inconvénients liés à l'utilisation d'une application de bureau.

Je n'énumère pas les avantages d'une application Web dans ma réponse comme d'autres l'ont fait. Les applications Web et les applications de bureau ont des avantages et des inconvénients. Faites les deux! Laissez votre client choisir. Retournez-moi sur les statistiques. ;-)

51
Maltrap

J'ai pas mal travaillé de développement en écrivant des applications de bureau riches et des sites Web.

Généralement, écrire du code pour une application de bureau est plus facile, plus de contrôles sont disponibles, vous avez un contrôle beaucoup plus important sur le fonctionnement de l'application.

Ecrire des applications web nécessite vraiment de comprendre le HTML, CSS et Javascript, ainsi que les limitations (ou bugs dans le cas d'IE) des navigateurs. Vous devez vous préoccuper de l'état et de sa persistance, et les mécanismes à votre disposition sont limités.

Cela dit, au fil du temps, je me plais de plus en plus à écrire des applications Web. Les limitations de la plate-forme vous permettent de simplifier les choses, et l’état sans âge du Web aide à gérer une partie de la complexité. Mon dernier projet Web a été lancé et l'entreprise n'a nécessité pratiquement aucune formation, car les personnes non techniques connaissent maintenant les pages Web et leur fonctionnement. C’est également une bonne chose de mettre un correctif à l’état et de le mettre en ligne immédiatement. Si vous avez déjà travaillé à la mise à niveau d'applications de bureau, vous saurez sans doute à quel point cela peut être compliqué et pénible.

Récemment, nous avons eu du succès avec une stratégie mixte (bureau Web), en écrivant le système principal en tant que site Web, puis en fournissant une application côté client aux utilisateurs expérimentés qui ont besoin de davantage de fonctionnalités. Cela peut soit héberger un contrôle de navigateur (dans Windows, vous pouvez facilement intégrer IE, dans OS X, vous pouvez faire la même chose avec safari), ou utiliser une API. Cela ressemble beaucoup à la façon dont Twitter vous donne une version Web, mais les utilisateurs expérimentés peuvent utiliser TweetDeck ou autre.

22
Dave Glassborow
  • Tous les utilisateurs utilisent toujours la dernière version
  • Pas de piratage
  • Accessible où que vous soyez
  • Plateforme croisée
  • Aucune installation requise pour les utilisateurs
  • Vous pouvez facilement mesurer ce que font vos utilisateurs (combien utilisent la fonctionnalité XX, etc.)
  • Vous pouvez fournir une collaboration facile entre vos utilisateurs si nécessaire, car toutes les données sont centralisées.
19
truppo

Pro's d'une application Web sur une application de bureau: -

  • Une seule copie d'un programme devra être mise à jour.
  • 99% du code est indépendant de la plate-forme.
  • la maintenance, le support et les correctifs sont plus faciles à fournir
  • Moins de chance de trouver des restrictions que l'ordinateur client peut avoir imposées
  • Plus beaucoup d'autres

Les inconvénients d'une application Web via une application de bureau: -

  • Si la connectivité réseau est en panne, l'application l'est aussi.

  • Besoin d'apprendre plusieurs langues pour développer avec succès une application (script côté serveur, SQL, XHTML/CSS, etc.)

  • Moins besoin de sécurité (les utilisateurs sont dignes de confiance dans l'entreprise, pas de "menace extérieure")
  • Besoin d'une machine dédiée au serveur web

Tout cela n’est que quelques-uns des nombreux avantages et inconvénients que vous pouvez trouver dans cette conversation.

11
Marc Towler

Beaucoup de points sont déjà mentionnés. Mais il y en a quelques uns avec lesquels je ne suis pas totalement d'accord:

  • Le déploiement d'une application Web est facile, mais le déploiement d'une application de bureau n'est pas plus compliqué à l'époque de Microsoft ClickOnce ou de Java Web Start.
  • La correction de bogues est une application Web pas vraiment facile (session de moins, s'exécutant sous un processus de serveur Web ...).
  • Une application Web a toujours certaines limites en ce qui concerne l'exécution d'opérations critiques pour la sécurité ou l'accès au matériel. 
7
Alexander

Les plates-formes Web et de bureau ont leurs avantages et leurs inconvénients. De bons arguments peuvent être avancés pour les deux. Les applications hybrides (à la fois web et web) présentent également des avantages/inconvénients à cet égard.

Le développement d'applications doit toujours être dicté par les besoins, et non par les tendances technologiques, les préférences religieuses ou les avantages/inconvénients généralisés comparés.

Avez-vous déjà essayé de vendre une application Web à des personnes habitant dans des régions des États-Unis ou d’autres pays où l’accès au haut débit est irrégulier ou inexistant? :) Qu'en est-il de l'accès mobile? Natif, basé sur le Web ou hybride? Qu'en est-il de l'accès local aux données en l'absence de connexion Internet, si nécessaire? Etc.

Commencez par les exigences de l'application et revenez à la technologie. Lorsque vous faites cela, vous prenez les bonnes décisions et vous vous retrouvez avec la meilleure plate-forme pour le projet en cours.

Exemple: prenons le commentaire suivant: "Les applications de bureau offrent une expérience utilisateur bien supérieure aux applications Web." Si l'exigence (A) requiert un accès en tout lieu/à tout moment à partir de tout ordinateur équipé d'un navigateur Web et d'un accès Internet, et que (B) exige également des performances similaires à celles d'un ordinateur de bureau (par exemple, des données de base de données en direct ne nécessitant pas d'actualisation de la page), alors ( C) le développeur est amené à envisager des technologies telles que AJAX, Flash, Silverlight, Java ou même des clients natifs qui se chargent en tant que contrôle de navigateur.

Je dis simplement, encore une fois, être axé sur les exigences et non sur la technologie.

7
RBLevin

Dépend du type de l'application. Si vous avez une application cms, elle ne pourra pas être remplacée par Web (au moins certaines parties) car elle doit fonctionner avec des ressources locales telles qu'une imprimante, un lecteur de code à barres, une imprimante fiscale, un affichage, etc.
Ainsi, pour ce type d'applications nécessitant des ressources locales, le bureau ne peut pas être remplacé.
De plus, les applications de bureau peuvent être plus rapides que le Web, pour les applications cms. 

Imaginez un grand supermarché avec de nombreux clients qui attendent de payer leurs commandes et qui paient des fenêtres avec des applications Web. Je n'ai pas vu une telle chose. 

Mais il existe également des infrastructures Web telles que Oracle ADF qui ont une portée encore plus grande que celle de bureau. Avec ADF, vous pouvez créer une application Web identique à une application de bureau, de la même manière que les applications de bureau. Mais cela coûte-t-il cher, la courbe d’apprentissage est élevée et nécessite du «bon» matériel. 

Mais gardez à l'esprit que si pour le Web, vous n'utilisez pas de composants testés, le script Java n'est pas aussi performant que pour les applications stratégiques, il est sujet aux erreurs.

5
darpet

Pour moi, qui est normalement entièrement basé sur le Web, le facteur qui me dirige vers les applications de bureau est l'intégration matérielle. Les applications Web sont excellentes si tout ce que vous avez à faire est de lire et de soumettre des données, mais s’il s’agit d’interfacer avec des éléments tels que des imprimantes d’étiquettes ou tout autre matériel spécialisé, une application de bureau est la seule solution. Vous pouvez les associer à des services Web ou similaires si vous devez absolument cocher la case "Web App", mais la prise en charge de matériel spécialisé est en grande partie hors de portée du navigateur, et il est beaucoup plus logique de utiliser les API existantes pour y accéder.

4
richsage

je suis également un admirateur des applications de bureau. Permettez-moi de citer quelques inconvénients supplémentaires des applications Web:

  1. Développer une logique/interface de présentation d'applications Web est trop difficile comparé aux applications de bureau.
  2. L'expérience utilisateur dans différents navigateurs peut varier.
  3. Opérations différées: envisagez les mêmes transactions sur le Web et les ordinateurs de bureau. Une application Web peut retarder la recherche du serveur Web, ce qui est plus important que les applications de bureau (dans la plupart des cas)
  4. Utilisation du processeur par le client: bien que cela puisse être considéré comme un inconvénient des applications de bureau, les applications Web ne permettent pas d’utiliser un processeur côté client, ce qui peut parfois permettre de niveler la charge totale de traitement entre le client et le serveur.
2
Jobin

De nos jours, les personnes optant pour l’indépendance de la plate-forme linux/osx/windows constituent une grande caractéristique. Cela aide à cibler un marché beaucoup plus vaste

Il y a bien sûr les avantages évidents que l'application puisse être utilisée n'importe où dans le monde ... pour plus de commodité

2
user128026

La principale raison de développer une application dans une approche Web est qu’elle est plus accessible que si vous supposiez la comparer à une application de bureau, mais vous devriez être bien informé de ce qu’il faut utiliser en fonction de vos besoins.

Les applications Web ne sont utiles que si vous voulez développer des applications qui ne transmettent pas des données extrêmement confidentielles, car les applications Web sont déployées en ligne et sont donc sujettes aux pirates informatiques que si vous les compariez à une application de bureau, Une application de bureau pourrait réduire les risques de sécurité par rapport à une application Web bien qu'il existe déjà des mesures de sécurité pour sécuriser les sites Web, mais au fil du temps, les gens découvriront des moyens de détruire ces mesures de sécurité et je crois que la plupart des utilisateurs étaient au courant en particulier les pirates hardcore existant là-bas. Les applications de bureau ont aussi des failles de sécurité mais sont très minimes.

Mais si quelqu'un est vraiment désireux d'utiliser des applications Web pour proposer des solutions, il serait préférable qu'il soit bien informé du risque encouru par les personnes développant des applications de bureau.

2
chris

Vous avez raison sur les avantages que vous avez énumérés pour les applications de bureau et sur d’autres encore que vous avez oublié de mentionner (tels que la sécurité, la maintenance, etc.). Le principal avantage des applications Web réside dans le fait qu’elles peuvent être utilisées via un navigateur Web à partir de pratiquement n'importe où. 

Visual WebGui est une solution qui vise précisément à cela car elle permet de développer des applications de bureau (Windows) et de les exécuter en tant qu’applications Web afin que vous puissiez toujours profiter des avantages du développement et du déploiement de bureau (intuitif, réactif, convivial) en même temps profiter de l'accessibilité des applications Web.

Jetez un coup d'oeil, cela pourrait vous faire économiser beaucoup de temps et de tracas.

2
user225949

je suis d'accord avec les points ci-dessus ...

je veux juste ajouter un pro sur l'application web: 1. ça à l'air bien. vous pouvez aussi changer les thèmes (il suffit de changer le fichier css), mais une application de bureau semblera ennuyeuse pour certains utilisateurs, mais l'application wep vous permettra de changer les thèmes/le design et vous impressionnerez par l'utilisateur (et le patron)

  1. c'est moins cher à mettre en œuvre. Par exemple, si vous développez une application avec .NET, vous devez avoir des clients qui installent Windows. mais dans les applications Web, une fois que vous avez développé, tout client peut accéder à vos applications Web avec n’importe quelle plate-forme.

  2. le développement d'applications Web est simple (une fois que vous connaissez le code JavaScript et le framework CSS), il peut vous rendre la vie plus facile.

  3. Aucun virus et facile à déployer/installer pour le client.

Inconvénients: Les interfaces utilisateur dans les applications Web sont plus complexes et nécessitent des fonctionnalités javascript et css pour créer une interface utilisateur de bonne qualité. 

Je vous recommande de ne pas créer de toutes pièces (ce qui serait difficile), mais de créer les nouveaux modules dans les applications Web. ce serait sage :)

2
nightingale2k1

J'aimerais proposer un avantage des applications Web moins connu. Une application Web bien conçue intègre généralement l’aide en ligne dans l’application - vous ne trouvez pas la division maladroite habituelle entre l’application de bureau laconique et incompréhensible et son fichier d’aide détaillé et désorganisé. C'est peut-être une différence culturelle entre les développeurs/concepteurs Web et les développeurs de bureau.

2
MarkJ
  • Les applications Web n'exigent pas beaucoup de traitement du côté client car tout le traitement est effectué du côté serveur, le navigateur n'étant que la partie vue ou l'interface utilisateur.
  • Il est facile d'apporter des modifications aux applications Web en observant les informations du journal et les habitudes de navigation de l'utilisateur, car chaque demande parvient au serveur et peut être enregistrée.
1
Xinus

La plupart du temps, l'utilisateur n'a besoin que d'un navigateur pour utiliser votre application. Pas besoin de déployer tous les besoins de l'application stuff, ni de réfléchir aux raisons pour lesquelles votre application ne fonctionne pas sur un client.

1
Canavar

J'avais l'habitude de développer des interfaces de bureau pour mes applications. Au cours des 3 dernières années, je suis passé aux interfaces Web pures. Voici comment je l'ai fait:

  • J'écris l'application principale en tant que collection de services, que j'expose via REST.
  • J'ai écrit une "bibliothèque" qui se rapproche des WxWidgets - mais pas de façon pédante.
  • L’interface graphique est un code JS qui construit les écrans par programmation, comme j’ai utilisé pour les applications de bureau.
  • Tout le style/skinning est fait en utilisant des classes CSS.
  • J'utilise actuellement l'interrogation longue pour l'interaction, mais je prévois d'utiliser WebSockets ou WebRTC à l'avenir.

Tous les utilisateurs utilisent la dernière version de Chrome et l'application est uniquement accessible à partir de l'intranet de la société. La plupart des utilisateurs disposent d'un raccourci sur le bureau qui connecte leur Chrome en mode plein écran au serveur interne. Les utilisateurs les moins avertis ne sont même pas conscients (et n'ont pas besoin de l'être) qu'il ne s'agit plus d'une application de bureau.

0
CyberFonic