Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Facebook abandonne HTML5 pour son application iOS
Qualifiée de trop lente

Le , par Hinault Romaric

91PARTAGES

3  0 
L’application Facebook pour iOS bien que pratique est lente, et souvent très lente même.

D’après le New York Times, sur 38 000 personnes l’ayant notée, plus de 21 000 personnes n’ont accordé qu’une seule étoile à l’application, la qualifiant de lente, toujours en chargement, sujette à des crashs répétitifs, etc.

Sensible à toutes ces remarques, Facebook a décidé de rendre son application plus rapide en réécrivant complètement celle-ci.

Conséquence, le HTML5 qui avait été utilisé précédemment pour développer l’application autour d’une coque objective-c, afin d’utiliser la même base de code sur les autres plateformes comme Windows Phone et Android, sera entièrement abandonné.

Les développeurs de Facebook ont opté pour la réécriture complète du code de l’application en utilisant uniquement de l’Objective-C.

Concrètement, les fonctionnalités de l’application resteront les mêmes, ainsi que le design, mais elle sera plus optimisée, rapide, réactive et pourra tirer parti du hardware.

En test actuellement par certains développeurs, l’application sera disponible au cours de l’été, selon deux ingénieurs interrogés par le New York Times. De quoi remettre en cause la rapidité du HTML5 sur mobile ?

Source : New York Times

Et vous ?

Qu'en pensez-vous ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de Paul Musso
Rédacteur https://www.developpez.com
Le 28/06/2012 à 17:20
Pas forcément, disons qu'Apple n'a pas trop intérêt à plébisciter l'utilisation du HTML 5 pour faire des apps sous IOS.

Ca peut faire penser à l'histoire avec Flash : Flash c'est lent donc on le supporte pas. En gros on veut pas que flash fasse de l'ombre à notre plateforme de dev sur Objective-C, et c'est pour ça qu'on les aidera pas et qu'on va meme les bannir d'IOS (y'a ptet pas que cette raison, mais ca en est une bonne).

L'utilsation HTML 5 pour des apps mobiles devrait surement mieux marcher sous Android ou WPhone.
9  3 
Avatar de Archeone
Membre habitué https://www.developpez.com
Le 28/06/2012 à 17:56
@Paul Musso une version compilé sera toujours plus rapide que de l'interprété....
C'est bête mais c'est comme ça!

Faire une applis en HTML5 sur mobile a un cout... On le verra de moins en moins car les smartphone serontde plus en plus puissant...
6  1 
Avatar de Uther
Expert éminent sénior https://www.developpez.com
Le 28/06/2012 à 18:20
Citation Envoyé par Archeone Voir le message
@Paul Musso une version compilé sera toujours plus rapide que de l'interprété....
C'est bête mais c'est comme ça!

Faire une applis en HTML5 sur mobile a un cout... On le verra de moins en moins car les smartphone seront de plus en plus puissant...
Pour un moteur de jeu ou du calcul intensif, certes. Quoique même pour ça, les derniers moteurs JS avec compilation JIT font des merveillles.

Mais pour une application comme Facebook, les facteurs limitants doivent surtout être les chargements. Le peu de mise en page de ne devrait pas mettre le téléphone à genoux.
L'application devrait pouvoir fonctionner sans différences notables si elle est bien conçue et tourne sur un navigateur moderne.
5  0 
Avatar de leto42
Nouveau membre du Club https://www.developpez.com
Le 28/06/2012 à 18:21
Je ne remettrai pas en cause le HTML5. D'autant que la lenteur vient souvent plus de la vitesse de connection, souvent à cause de l'operateur.

Même s'il est vrai que le code compilé est généralement plus rapide (cela depend de quel langage on part et avec quel compilateur), et les moteurs Web sont aussi très puissant. Microsoft n'hésite d'ailleurs pas à proposer le HTML5 pour ses applications Metro Desktop et mobile.

Il déjà été énoncé le fait que la WebView iOS d'Apple était moins performante que Safari mobile (une question de gestion de sandbox semblerait-il). Bien sur Apple préfère diriger les développeurs vers Objective C, mais le vivier de développeurs HTML5 est énorme et la concurrence commence à se faire sentir. Il est donc tout à fait imaginable qu'Apple finisse par lever cet handicap.

Par ailleurs, adapter une application Web desktop au mobile n'est pas anodin et il est fort possible que toutes les bonnes pratiques ne furent pas toujours appliquées.

Enfin, iOS 6 arrive avec un "Faster JavaScript engine" annoncé... Espérons que les transitions CSS3 et le WebGL suivent :-)
4  0 
Avatar de Traroth2
Membre chevronné https://www.developpez.com
Le 28/06/2012 à 18:09
Citation Envoyé par Paul Musso Voir le message
Pas forcément, disons qu'Apple n'a pas trop intérêt à plébisciter l'utilisation du HTML 5 pour faire des apps sous IOS.

Ca peut faire penser à l'histoire avec Flash : Flash c'est lent donc on le supporte pas. En gros on veut pas que flash fasse de l'ombre à notre plateforme de dev sur Objective-C, et c'est pour ça qu'on les aidera pas et qu'on va meme les bannir d'IOS (y'a ptet pas que cette raison, mais ca en est une bonne).

L'utilsation HTML 5 pour des apps mobiles devrait surement mieux marcher sous Android ou WPhone.
Tu veux dire que toutes les déclarations de Steve Jobs sur le fait qu'il fallait privilégier les standards ouverts comme HTML 5, ça ne serait peut-être pas totalement la vérité et qu'en fait, il ne le pensait pas vraiment ? Je n'ose le croire...
4  1 
Avatar de poringkiller
Membre du Club https://www.developpez.com
Le 28/06/2012 à 19:09
Citation Envoyé par Uther Voir le message
Pour un moteur de jeu ou du calcul intensif, certes. Quoique même pour ça, les derniers moteurs JS avec compilation JIT font des merveillles.

Mais pour une application comme Facebook, les facteurs limitants doivent surtout être les chargements. Le peu de mise en page de ne devrait pas mettre le téléphone à genoux.
L'application devrait pouvoir fonctionner sans différences notables si elle est bien conçue et tourne sur un navigateur moderne.
Je soupçonne effectivement l'application facebook d'être mal conçue :
Le temps de chargement d'un fil d'actu se résume à une requête http et une réponse sérialisée (JSON ou autre). Même sur un mobile, ça devrait être rapide.
2  0 
Avatar de Freem
Membre émérite https://www.developpez.com
Le 05/07/2012 à 9:28
Il est possible de faire des programmes lents en C ou en C++ (par exemple, passer des objets complets en arguments de fonctions), et faire des trucs rapides en php (je n'ai pas d'exemple sous le coude, et de toute façon je ne pense pas que ce soit le sujet ici).

A mon très humble avis, si les dev de facebook n'arrivent pas à faire un truc correct en html5, ça ne doit pas être la faute d'apple ni du html5... Mais bien la leur, et travailler en objC n'arrangera pas les choses.
D'ailleurs, sur la news il est dit: "la qualifiant de lente, toujours en chargement, sujette à des crashs répétitifs, etc.".
Alors je sais que je ne connaît pas le développement web, mais sincèrement, je doute très fortement que des webapp crashent?
En revanche, objC, étant un héritier du C, je suis prêt à parier qu'un code dégueu crash effectivement tout le temps. Et les code dégueu, ça rame aussi.
Si je reprend l'exemple des arguments passés par valeur, les constructeur par copie et destructeurs appelés à tout bout de champ, ça pourrait même engorger la connexion si une requête est effectuée dans les constructeurs/destructeurs! Et parfois ces constructeurs sont appelés de manière assez subtile. (Mais peut-être n'existent-ils pas en objC?)
Alors, certes, je n'ai pas vu le code source, mais au vu des symptômes, les développeurs devraient peut-être d'avantage réécrire leur code objC plutôt qu'html5? Et se remettre en question, aussi...

Honnêtement, habituellement, je suis plus prompt à critiquer les langages interprétés que ceux utilisant une machine virtuelle (java, C#) et plus enclin à critiquer ceux-ci pour mieux encenser les langages complètement compilés (C, C++, ASM, Delphi...) mais la, ça dépasse le débat des types de langages.

Si le langage était la cause, ils ne seraient pas les seuls à avoir des problèmes de perf, et, surtout, il n'y aurait pas de crash!
Si quelqu'un à cette appli et ce téléphone, il serait intéressant de sniffer la quantité de requêtes émises lorsqu'elle est en fonctionnement... (connexion wifi et un p'tit coup de wireshark sur une bécane qui est sur le même réseau, si apple ne permet pas de le faire directement)
3  1 
Avatar de Uther
Expert éminent sénior https://www.developpez.com
Le 28/06/2012 à 21:46
En faisant de l'ajax, on a pas besoin de recharger la page a chaque lien et avec l'application cache de HTML 5, on a même plus besoin de recharger la page principale à chaque fois.

Quand au données distantes, il faut les télécharger que l'on soit en natif ou non.

Je pense que le problème de l'application Facebook, c'est qu'ils ont juste fait une version de leur site web adaptée aux petits écrans, mais ils n'ont pas envisagé de de faire une vrai application ajax.
2  1 
Avatar de Jean-Georges
Inactif https://www.developpez.com
Le 30/06/2012 à 11:12
Quel que soit le support, Facebook est lent, buggué et mal foutu.
Je dirais donc que le problème vient plus des compétences des bras cassés qui travaillent dessus plutôt que de la technologie utilisée.
1  0 
Avatar de erwanlb
Inactif https://www.developpez.com
Le 28/06/2012 à 20:47
Citation Envoyé par Uther Voir le message
Pour un moteur de jeu ou du calcul intensif, certes. Quoique même pour ça, les derniers moteurs JS avec compilation JIT font des merveillles.

Mais pour une application comme Facebook, les facteurs limitants doivent surtout être les chargements. Le peu de mise en page de ne devrait pas mettre le téléphone à genoux.
L'application devrait pouvoir fonctionner sans différences notables si elle est bien conçue et tourne sur un navigateur moderne.
HTML5 a beau être rapide, il faudra toujours charger la page....

Sur du natif on attend pas d'avoir une connexion, de charger, etc
2  2