Facebook passera également au code natif pour l’application Android
Le HTML5 était une « erreur » pour Mark Zuckerberg
Le 12 septembre 2012 à 08h16
3 min
Société numérique
Société
Mark Zuckerberg, fondateur bien connu de Facebook, s’est exprimé récemment au sujet de la puissance montante des smartphones. Il est intervenu en particulier sur la dernière révision de l’application Facebook pour iOS, en affirmant que le HTML5 était une erreur et que la mouture Android bénéficierait du même traitement.
« Nous avons gâché deux ans »
Une erreur : c’est ainsi que Zuckerberg a qualifié l’emploi du HTML5 pour créer les applications mobiles de Facebook. Et pourtant, c’est ce même HTML5 qui a permis de créer rapidement plusieurs moutures puisque le code composant le cœur de l’application ne changeait que très peu.
Mais pourquoi une telle différence entre le HTML5 et le natif ? Le HTML5 est un langage interprété. Cela signifie qu’avant que les opérations soient passées à la moulinette du processeur, le langage est d’abord traduit dans une forme exploitable. Dans le cas du HTML5, c’est le moteur de rendu qui se charge de sa lecture puis de son interprétation. Dans le cas du natif, cette étape est supprimée : le code est directement exécuté et la différence de performances est visible. On se rappelle d’ailleurs que Mozilla avait fini par abandonner son langage XUL pour Firefox sur Android, à cause là encore d’un souci de performances.
Conséquence à venir : l’abandon progressif du HTML5 pour l’ensemble des applications Facebook. Le fondateur de la firme l’a clairement indiqué : « La plus grande erreur que nous ayons faite en tant que société a été de trop parier sur le HTML5 en lieu et place du natif. Nous avons gâché deux ans » avant d’enchainer sur une confirmation : « c’est pourquoi nous avons décidé de passer au natif pour Android et iOS il y a deux mois ».
Attention toutefois à ne pas généraliser : les critiques de Zuckerberg concernent uniquement les applications. Les versions web du site, en particulier mobiles, continueront à utiliser le HTML5 qui garde toute la confiance de l'entreprise.
La version Android bénéficiera du même traitement
Ici, il est important de signaler que cela fait maintenant plusieurs mois que les employés de Facebook sont plus qu’encouragés à migrer leurs smartphones vers des modèles Android. La raison est simple : la direction de l’entreprise a jugé l’application tellement mauvaise sur cette plateforme que le seul moyen efficace d’obtenir des retours concrets est de forcer ses propres employés à goûter leur création quotidiennement.
Comme nous l’indiquions dans une précédente actualité, Facebook ne compte donc pas lancer un smartphone maison mais souhaite exploiter au mieux les plateformes existantes. Cela signifie évidemment davantage de travail pour les développeurs : dans la plupart des cas, le code ne pourra tout simplement pas être réutilisé. Ainsi, sous iOS, l’application est rédigée en Objective-C alors que sous Android, il s’agira de C++.
Les utilisateurs de smartphones Android pourront se rassurer : le même traitement arrive pour leur plateforme, avec des performances bien meilleurs à la clé. Cela étant, Zuckerberg n’a donné aucune indication sur la sortie de cette nouvelle version. En outre, pas d’informations non plus sur les autres plateformes telles que Windows Phone. Toutefois, les mois à venir pourraient être riches en annonces et sorties, Zuckerberg ayant indiqué que « la première moitié de l’année a été un peu lente en produits, mais pour les six prochains mois je m’attends à de nombreuses choses très sympas ».
Le 12 septembre 2012 à 08h16
Commentaires (69)
Vous devez être abonné pour pouvoir commenter.
Déjà abonné ? Se connecter
Abonnez-vousLe 12/09/2012 à 08h24
sérieux ils en ont mis du temps…
Pour avoir dev en natif et en HTML5 (PhoneGap) pour mobile… la différence de perf est vriament flagrante
Le 12/09/2012 à 08h30
Le problème n’est vraiment pas le HTML5, les performances des navigateurs et les performances des mobiles qui suffisent largement aux fonctionnalités offertes par l’application facebook.
Le problème c’est la manière dont ils ont conçu leur application et les problématiques liées au webview…
Le 12/09/2012 à 08h33
La plus grande erreur que nous ayons faite en tant que société a été de trop parier sur le HTML5
La plus grande ? tu es bien sûr ? non parce que moi je dirais peut être la deuxième plus grande, au mieux " />" />
Le 12/09/2012 à 08h33
Le 12/09/2012 à 08h34
J’aimerais plus de précision s’il vous plait. Je me dirige droit vers le développement javascript pour activement contribuer au Mozilla OS (applications et portage). Est-ce que Mozilla aurait parié sur le mauvais filon ?
De plus, quel est le rapport entre l’HTML5 et la bourse ?
Le 12/09/2012 à 08h35
ça me surprend toujours de voir que malgré la puissance dont disposent nos appareils actuels, une appli web “rame” autant, en tout cas qu’il y ait autant de différences avec une appli en langage natif. J’ai bien compris ce qu’était un langage interprété, mais ça ne reste après tout “que” du web.
Le 12/09/2012 à 08h35
Donc l’époque du “HTML5 permettra de se passer de devoir coder une appli par plateforme” est révolue?
Le 12/09/2012 à 08h38
Cela signifie évidemment davantage de travail pour les développeurs : dans la plupart des cas, le code ne pourra tout simplement pas être réutilisé. Ainsi, sous iOS, l’application est rédigée en Objective-C alors que sous Android, il s’agira de C++.
Faudrait arrêter de citer C++ à tout-va quand on parle juste de code natif. Sous Android le natif c’est du java et la version android de firefox est bien codée en java ->https://wiki.mozilla.org/Fennec/NativeUI/CodingStyle et pas en c++ comme indiqué dans la news précédente.
Je sais que l’auteur n’aime pas trop Java mais ça ne doit pas empêcher d’être précis pointu carré " />
Le 12/09/2012 à 08h41
Le 12/09/2012 à 08h42
Le 12/09/2012 à 08h43
Le 12/09/2012 à 08h45
Le 12/09/2012 à 08h45
Le 12/09/2012 à 12h36
Le 12/09/2012 à 13h39
Le 12/09/2012 à 13h41
Le 12/09/2012 à 14h10
Le 12/09/2012 à 14h14
Le 12/09/2012 à 14h21
Le 12/09/2012 à 14h25
Le 12/09/2012 à 14h31
Le 12/09/2012 à 14h31
Le 12/09/2012 à 14h41
Ils ont juste voulu aller trop vite. L’HTML5, c’est bien mais pas mature.
Comment comparer une technologie même pas standardisée avec des langages ultra éprouvés comme JAVA ou C ?
C’est tout faut encore attendre quelques années. On va voir déjà ce que fait Mozilla avec son Firefox OS.
Toujours est-il que l’HTML5 est suffisant pour de petites applis.
Le 12/09/2012 à 14h47
Le 12/09/2012 à 14h50
Le 12/09/2012 à 15h07
Le HTML5 est un langage interprété (…) Dans le cas du natif, cette étape est supprimée : le code est directement exécuté et la différence de performances est visible.
Les problèmes de performances du HTML5 ne sont pas dus au fait que le langage soit interprété, il existe des tas de techniques pour exécuter du code dans une VM à un niveau de performance proche du natif. Il y a une vie en dehors du C/C++.
Le 12/09/2012 à 15h10
Le 12/09/2012 à 15h22
Le 12/09/2012 à 15h40
Le 12/09/2012 à 08h46
Le 12/09/2012 à 08h51
Ce qui m’étonne c’est qu’une boite ayant les ressources de facebook n’ai pas plusieurs équipes travaillant sur des approches différentes de leurs softs. Précisons que l’app facebook ne relève pas du grand art de la programmation et que perdre deux ans là dessus est représentatif de l’incompétence de certaines personnes responsables du développement et par extension de l’équipe dirigeante de cette société.
Le 12/09/2012 à 08h55
Le 12/09/2012 à 08h57
Le 12/09/2012 à 08h59
Le 12/09/2012 à 09h08
Le 12/09/2012 à 09h12
Le 12/09/2012 à 09h18
Le 12/09/2012 à 09h20
Le 12/09/2012 à 09h34
Le 12/09/2012 à 09h37
Le 12/09/2012 à 09h39
Le 12/09/2012 à 09h41
Le 12/09/2012 à 09h43
Le 12/09/2012 à 09h49
Le 12/09/2012 à 09h50
Le 12/09/2012 à 09h58
Natif a plusieurs sens, mais là, on parle de code natif, pas d’application native, c’est pourtant simple de ne pas se tromper " />
Le 12/09/2012 à 09h59
Le 12/09/2012 à 10h03
Le 12/09/2012 à 10h04
Le 12/09/2012 à 10h13
Le 12/09/2012 à 10h34
Le 12/09/2012 à 10h35
Le 12/09/2012 à 10h36
Le 12/09/2012 à 10h47
Le 12/09/2012 à 10h52
Le 12/09/2012 à 11h11
Le 12/09/2012 à 11h17
outre le débat sur le fait que java soit natif ou pas natif (par définition il ne l’est pas), ça me surprendrait qu’ils codent facebook en NDK, vu les emmerdes que c’est…
Les perfs sous java sont suffisantes pour ne pas avoir a faire des allez retour dans du JNI, pour le plaisir de dire “ on a codé en natif” ..
je ne parle bien sur pas des applications CPU intensives comme les lecteurs videos, ou les jeux, qui ont besoin du NDK, mais facebook, faut pas charier…
Le 12/09/2012 à 11h20
Le 12/09/2012 à 11h23
Le 12/09/2012 à 11h49
Attention toutefois à ne pas généraliser : les critiques de Zuckerberg concernent uniquement les applications. Les versions web du site, en particulier mobiles, continueront à utiliser le HTML5 qui garde toute la confiance de l’entreprise.
Un truc que je comprend pas trop, Facebook a une version web (en HTML5) et une “application” (en HTML5 ?!), les deux accessibles sur mobile ? C’est pas un peu redondant ? (et je comprend pas trop la notion d’application en HTML5 non plus).
Le 12/09/2012 à 12h30
Le 12/09/2012 à 15h46
Le 12/09/2012 à 15h55
Le 12/09/2012 à 15h57
Le 14/09/2012 à 08h29
Je suis curieux de savoir ce qui leur a posé le plus problème, ainsi que les obstacles qu’ils n’ont pas pu surmonter…
Le 14/09/2012 à 14h18
Le HTML5 n’est (pour moi) qu’un langage de balises, son traitement est rapide sur n’importe quel moteur de rendu récent sur n’importe quel support (desktop/mobile).
Là où ça pêche vraiment au niveau des performances, c’est sur les traitements du DOM JavaScript.
C’est bien beau d’avoir des raccourcis d’écriture avec de belles librairies comme jQuery et autres qui provoquent des traitements massifs sur le DOM, mais sur un appareil mobile c’est beaucoup moins fun en terme de réactivité (sans même parler du temps de téléchargement de la librairie sur un réseau mobile).
Le plus consternant est d’utiliser du Javascript pour faire des animations qui sont faisables à 100% en CSS, et qui passe beaucoup mieux sur du mobile.
Enfin bref, accuser HTML5 c’est se tromper de cible.
Le 14/09/2012 à 18h25
Le 18/09/2012 à 09h54
Le 18/09/2012 à 10h09