WebApp vs. App native

BunoBuno Membre
Hi all,
Encore une fois, je sollicite votre point de vue, non sur de la programmation, mais sur de la terminologie.
Dans mon équipe, nous avons eu un débat sur la différence entre une WebApp et une App native. Il se trouve que nous sommes divisés sur la notion de de ces différents termes. Voici les différents points de vue:


App Native
A1. une application native est une application embarquée dans l'OS (Messages, Calendrier, Calculatrice, App Store, iTunes,  Météo, ... et Youtube) et développée par ou en collaboration avec Apple. Aussi, une application téléchargée depuis l'Apple store n'est pas native.
A2. une application native est une application développée dans un langage de programmation connu par l'OS. La programmation d'une application native est donc spécifique à  chaque OS sur laquelle elle repose.


WebApp
W1. une WebAppest un service Web intelligent, visualisé par un browser internet, qui ressemble à  une application. Mais ce n'est pas une application.
W2. une WebApp est un site web, hébergé sur un serveur distant, adapté au format du device qui se connecte. Les langages utilisés sont les langages Web "standard" (HTML, JS, CSS)


Pour ma part, je suis partisan des points de vue A1 et W1.


Je trouverais intéressant d'avoir vos avis sur la question.


Merci.

Réponses

  • AliGatorAliGator Membre, Modérateur
    20:48 modifié #2
    Je n'ai jamais utilisé le terme "application native" pour désigner "uniquement les applications fournies avec le téléphone". Pour moi le terme "application native" désigne clairement le cas A2, une appli développée avec le SDK du device, par exemple pour iOS c'est une application développée en Cocoa (enfin en CocoaTouch avec le SDK iOS quoi)

    Pour WebApp j'avoue que j'utilise parfois le terme dans les deux sens (oui, c'est mail :D), pour moi une WebApp c'est plutôt W1, un truc qui ressemble à  une appli mais n'en est pas une. Sur iOS, à  la base, les WebApp étaient là  en attendant que le SDK soit dispo, au tout tout début de l'iPhone : donc "au lieu de faire des application en Cocoa en attendant on pouvait en faire en HTML/CSS/JS" mais ça ressemblait à  des vraies applications, ça avait une icône sur le Springboard au milieu des autres applications, etc. Finalement une WebApp au sens W1 c'est ce qu'on appelle aussi une RIA.

    Le cas W2 c'est plutôt "un site adapté au mobile", "un site ayant une version mobile". C'est pas une "application web" (finalement c'est de là  que vient le terme "WebApp") mais bien "un site web, dont on a adapté le CSS quand il est chargé sur un device mobile de sorte qu'il soit adapté aux dimensions de l'écran, et qu'on puisse naviguer dans le site avec les doigts (liens pas trop petits), en mode tactile (exite les "onMouseOver" qui n'ont pas de sens dans ce cas), etc, mais ça reste un site web. Qui n'a d'ailleurs pas spécialement de "mode offline" (et donc de "cache.manifest" pour indiquer les fichiers à  garder en cache, façon HTML5), puisque ça reste un site qu'on consulte en ligne.
  • BunoBuno Membre
    20:48 modifié #3
    Je vois qu'on est plutôt d'accord concernant le terme WebApp. Un peu moins concernant la notion d'appli native mais je comprends tout à  fait ton point de vue.
  • AliGatorAliGator Membre, Modérateur
    20:48 modifié #4
    bah après ce n'est que mon point de vue et le vocabulaire que j'utilise, mais je sais pas si c'est la "vision officielle".
    Moi pour ton cas A1 je parlerais plutôt "d'application intégrée à  l'OS" ou "fournie avec l'OS"

    D'autant que quand on a un OS brandé (ce qui n'est pas le cas de iOS, les opérateurs ne fournissant pas un iOS brandé, mais c'est le cas bien souvent pour Android ou d'autres OS), certains opérateurs rajoutent des applications dans la ROM du téléphone, et donc il faut commencer à  distinguer :
    - les "applications fournies avec l'OS" (dans la ROM d'origine, genre application téléphone ou SMS),
    - les applications "fournies avec le téléphone" (ajoutées lors du branding), qui d'ailleurs selon les cas pourraient être supprimables (si ce ne sont que des applis que l'opérateur a rajouté comme toute autre appli que tu aurais pu télécharger) ou pas (s'il les as "intégrées" à  la ROM par un moyen ou un autre)
    - les applications tierces, que l'utilisateur télécharge de lui-même selon ses besoins.

    Et là  on commence à  plus s'en sortir :P
  • BunoBuno Membre
    20:48 modifié #5
    Je crois que tu as deviné pourquoi je me pose de telles questions? 
  • sekaijinsekaijin Membre
    20:48 modifié #6
    une distinction vient aussi de l'endroit où se trouve l'intelligence de l'application

    un webmail est par exemple un webapp et face à  lui textEdit est une application.

    l'intelligence de l'application telle que TextEdit se trouve dans l'application elle-même sur le poste de l'utilisateur
    alors que dans le webmail l'intelligence de l'application se trouve sur le serveur.

    mais avec les approches RIA une partie de l'intelligence est sur le serveur une autre sur le poste de l'utilisateur.
    on n'est plus dans un webapp classique mais on n'est pas non plus dans un application classique non plus.

    la frontière s'estompe.

    pour moi le langage utiliser (le SDK) ne permet pas de distinguer une application
    si je fait un textEdit a base de Javascript Html et que j'encapsule le tout dans un webkit
    j'obtiendrait une vrai application. standalone.


    Notez bien que j'ai opposé webapp à  application sur le poste de l'utilisateur mais je n'ai pas dit native.

    maintenant si je développe avec COCOA l'IHM d'une application qui pour assurer ses fonctions dialogue
    avec une serveur online et que toute l'intelligence de l'application se trouve sur le serveur.
    j'ai bien un application Native (au moins la partie client) qui est pourtant à  100% une application online
    c'est donc une RIA Native ???

    je pense que les deux notions sont orthogonale et non opposée. et qu'on peux donc imagine tous les cas possibles
    heu peut être pas
    si je peux imaginer ou tenter de le faire comme ci dessus une webapp native
    c'est quoi une application qui n'est ni native ni une webapp ?

    pour moi une webapp est à  l'origine une application qui s'exécute sur le serveur et s'affiche dans le navigateur
    mais aujourd'hui elles reporte de plus en plus de partie côté client avec les approches RIA quelle que soit la méthode utilisée. pourquoi pas du dev natif ? ou est la frontière entre un client IRC lancer par JNLP et celui qui codé en COCO
    l'application ce n'est pas le client c'est le service global le coeur de l'application est sur le net.

    un application native pour moi à  la est une application développé afin de s'intégrer au mieux avec l'environnement hôte. et qui embraque sa propre intelligence. mais là  aussi de plus en plus les applications font appel à  des services en lignes pour mener à  bien leur tâche.

    la frontière est donc large
    A+JYT
  • muqaddarmuqaddar Administrateur
    20:48 modifié #7
    J'avais loupé cette discusssion.  :p :p

    1) C'est vrai que plein de gens parlent de webapps pour des sites Internet optimisés smartphone !!!  >:D

    Pour moi, une webapp est un site Internet qui ressemble à  une application desktop et qui apporte de la réactivité, du temps réel, de l'ergonomie, du drag-drop...etc. Il faut que l'utilisateur pense qu'il a affaire à  une application desktop même si elle est encapsulée dans un navigateur. Les webapp utilisent en général beaucoup l'AJAX (et donc le JS).

    Par exemple, le client Mail de MobileMe est une webapp pour moi.


    2) Une application native est une application construite avec les outils de prédilection fournis par le constructeur et/ou développeur de l'OS. Une application native exploitera au mieux les possibilités matérielles puisque le SDK à  utiliser est sensé offrir les meilleures API possibles pour développer pour la plateforme.
  • BunoBuno Membre
    20:48 modifié #8
    Cool, nous sommes à  peu près d'accord sur la notion de WebApp, qui est véritablement le noeud du problème dans mon cas (et puis après ça a dérivé vers les applications natives...).
    Je vais donc faire ma prez dans ce sens, sachant qu'en fasse, j'ai des gens de "mauvaises fois" qui me contrent des "arguments" tel le suivant: "l'application XYZ de streaming - qui est en fait une WebApp selon moi, mais bon (ndla) - ne peut pas être une WebApp car, pour jouer la vidéo, elle se base sur le player natif, donc c'est une application native"


    Merci en tout cas de vos points de vue.


    Tiens, j'y pense, si vous connaissez un bon type de WebApp "connue", je suis preneur 
  • muqaddarmuqaddar Administrateur
    20:48 modifié #9
    Montre leur ça, ça va les calmer :
    http://280slides.com/Editor/

    Pour moi, c'est la webapp par excellence.
  • BunoBuno Membre
    20:48 modifié #10
    Euh...hum...
    De préférence, je leur montrerais quelque chose compatible avec l'iPhone...
  • LarmeLarme Membre
    20:48 modifié #11
    De mon point de vue non professionnel, débutant codeur, et surtout utilisateur, j'aurais tendance à  dire A2, W1.

    Pour moi, que le site web ait créé une version du site plus allégée pour les smartphone n'est pas un web app.
    Pour moi, le navigateur web ne fait que traduire du html et Cie, il n'agit pas vraiment, contrairement à  une application développée en objective C etc. D'où la tendance à  aller vers le W1.
  • AliGatorAliGator Membre, Modérateur
    20:48 modifié #12
    dans 1293097041:

    Cool, nous sommes à  peu près d'accord sur la notion de WebApp, qui est véritablement le noeud du problème dans mon cas (et puis après ça a dérivé vers les applications natives...).
    Je vais donc faire ma prez dans ce sens, sachant qu'en fasse, j'ai des gens de "mauvaises fois" qui me contrent des "arguments" tel le suivant: "l'application XYZ de streaming - qui est en fait une WebApp selon moi, mais bon (ndla) - ne peut pas être une WebApp car, pour jouer la vidéo, elle se base sur le player natif, donc c'est une application native"


    Merci en tout cas de vos points de vue.


    Tiens, j'y pense, si vous connaissez un bon type de WebApp "connue", je suis preneur 
    Argument réponse : "Ok donc dans ce cas là , quand tu vas sur facebook avec ton ordi de bureau, facebook est une webapp, non ? bah oui, ça utilise le navigateur de ton ordi, ça utilise les plugins vidéo de ton ordi... d'ailleurs même quand tu vas sur n'importe quel site sur l'iPhone, ça utilise le navigateur natif de l'iPhone, et si sur le site y'a du son ça utilise le plugin de décodage de son natif de l'iphone, et puis le HTML est décodé par le WebKit de l'iPhone, et s'il y a une vidéo en HTML5 ça utilise le décodeur vidéo natif de l'iPhone.... bref n'importe quel site web est une application native dans ce cas !"
  • muqaddarmuqaddar Administrateur
    décembre 2010 modifié #13
    dans 1293099561:

    Euh...hum...
    De préférence, je leur montrerais quelque chose compatible avec l'iPhone...


    Alors tu veux montrer un site Internet optimisé smartphone, et pas une webapp, CQFD !!!  :P

    Je ne dis pas qu'une webapp ne peut pas être optimisée smartphone, mais que ce n'est pas son rôle premier puisqu'au contraire, son but est de proposer une expérience utilisateur similaire à  une appli desktop !
  • AliGatorAliGator Membre, Modérateur
    20:48 modifié #14
    La webapp "a propos de l'iPhone" est je trouve particulièrement bien faite (au sens où on dirait vraiment une application alors que ce n'est que des technos web HTML/CSS/JS)
    Par défaut tu as un bookmark dans Safari sur iPhone qui te mène à  ladite webapp.

    D'ailleurs dans les mêmes bookmarks de l'appli SafariMobile, moi j'ai aussi "Applications web iPhone" ("iPhone WebApps" en VO) qui mène vers une page du site Apple où il répertorie quelques WebApps justement (www.apple.com/webapps)
  • BunoBuno Membre
    20:48 modifié #15
    404??  ???
  • BunoBuno Membre
    20:48 modifié #16
    Euh...au temps pour moi:le bookmark (www.apple.com/fr/iphone/webapps) est foireux mais l'adresse que tu donnes est bonne.
  • AliGatorAliGator Membre, Modérateur
    20:48 modifié #17
    Ah ils ont dû la changer depuis (et tu as peut-être du coup un iPhone plus ancien que le mien -- qui date pourtant de plus d'un an -- dans lequel le bookmark préconfiguré dans Safari a l'ancienne URL dans ton cas)...
  • BunoBuno Membre
    20:48 modifié #18
    Oui, il n'est plus tout jeune le pauvre...
  • Eddy58Eddy58 Membre
    décembre 2010 modifié #19
    Le terme "application native" doit ses origines au terme "code natif" : http://fr.wikipedia.org/wiki/Code_natif

    Une application native est donc conçue avec un langage compilé, de haut niveau (C, C++, Obj-C, etc...), et tire directement parti du système hôte.

    Une application Web utilise les langages Web.
Connectez-vous ou Inscrivez-vous pour répondre.