Bonjour à toutes et à tous,
Ecoulé à des millions d'exemplaires en quelques jours, l'iPhone 4 est déjà un véritable succès pour Apple. Depuis quelle existe, la famille iPhone a un succès qui ne s'est jamais essoufflé.
A ceci, il y a, à mon sens, plusieurs raisons : il est intuitif et ergonomique, c'est un bel objet, le nombre d'application est phénoménal, beaucoup de ses applications sont utiles, du fait de son grand nombre d'interfaces physiques (WiFi/3G, GPS, accéléromètre...), il permet l'invention d'applications novatrices et en plus, il fait tout cela dans la fluidité.
C'est de cette fluidité que j'ai décidé de parler aujourd'hui. Développeur de profession, je connais un certains nombre de langages informatiques. Je me suis donc documenté sur le développement pour iPhone.
Tout d'abord, je tiens à préciser que le langage de développement Apple qui est l'Objective-C n'est pas particulièrement abordable. On pourrait le comparer à java pour ce qui est de l'implémentation (grammaire). A ceci près que java est un langage interprété alors que le langage d'Apple est natif. Je vois d'ici les pro-java prendre la mouche : c'est super optimisé java, ça tue tout ! Mouais, c'est quand même interprété et donc forcément moins rapide que des langages natifs. Qui ne s'est jamais énervé sur une application java soudainement prise de lenteurs exaspérantes. Sans compter que java qui est souvent utilisé comme un marteau pour planter une punaise est très gourmand en ressources.
Pour faire tourner une application java, il faut ce que l'on appelle une machine virtuelle : c'est en fait un programme qui est lancé pour interpréter et exécuter l'application java. Android, par exemple, a sa propre machine virtuelle java adaptée à ces fonctionnalités et aux spécificités des smartphones.
La plupart des applications Android sont écrites en java et donc interprétées alors que sur l'iPhone, les applications sont compilées nativement. Evidemment, java c'est bien car non propriétaire. C'est grâce à java par exemple qu'on peut exécuter la même application sur des systèmes tels que Windows, Linux ou OS X. Par contre comme c'est interprété, on pourrait même dire qu'une application java n'est pas écologique.
Aujourd'hui, on sur-utilise java. On l'utilise pour des traitements pour lesquels il n'est pas adapté. Il y a quelques jours, un ami me disait que, dans sa société, ils avaient remplacé des routines qui duraient une dizaine de minutes par leur équivalent java qui duraient 10 heures. Evidemment, sans être marseillais, il a un petit peu exagéré. Mais bon, le natif, c'est forcément plus efficace.
Apple n'a pas mis de machine virtuelle java sur son iPhone. Ceci aurait ouvert l'iPhone. Mais ils ont fait un tout autre choix ce qui n'a pas empêché, devant le succès de l'iPhone, le développement d'un nombre impressionnant d'applications. En même temps, ils ont attiré les développeurs vers le monde Apple. Sur mac, il y a évidemment java mais les applications natives OS X sont développées en Objective-C.
Les premiers iPhone étaient non multitâches. En réalité, ils l'étaient mais Apple avait bridé cela. Pourquoi ? Bien évidemment pour que leur appareil ne souffre d'aucun ralentissement. Depuis l'iPhone 4 et l'iOS4, ce n'est plus le cas, le multitâche a été débloqué mais seulement pour les téléphones les plus véloces et ayant assez de mémoire : l'iPhone 4 évidemment et le 3GS.
Le fait d'avoir des applications natives joue aussi sur l'autonomie. On utilise moins d'énergie à enfoncer une punaise avec le doigt qu'avec un marteau.
Laurent
J'intégrerais l'iPhone 4 à mon comparatif de smartphones dés que je l'aurais testé. Le classement est toujours le suivant :
01 - HTC Legend
02 - Apple iPhone 3G S
03 - HTC Desire
04 - Motorola Milestone (DROID)
05 - Samsung Omnia II
06 - Nokia N97
07 - Nokia N900
08 - HTC Hero
09 - New Chocolate BL40
10 - HTC HD Mini
11 - HTC Tattoo
12 - HTC HD2
13 - Sony Ericsson X10
14 - Blackberry Storm 2
15 - Huawei U8230
16 - Sony-Ericsson XPERIA X2
17 - Samsung Blue Earth
Sur mon site de comparatif de smartphones, vous pouvez customiser ce classement en modifiant les critères (poids et prise en compte) et éventuellement les notes des téléphones sur les différents critères.
Merci de commander votre téléphone chez mon partenaire PH. :-)