WWDC 2015 : Apple développe son ouverture

Stéphane Moussie |

Les nouveautés de la WWDC 2015 consacrées aux développeurs ne se résument pas aux API supplémentaires des rutilants El Capitan, iOS 9 et watchOS 2. Apple a modifié des aspects importants de sa politique vis-à-vis des créateurs d'applications.

Le changement le plus marquant, au point que son annonce par Craig Federighi lors du keynote a soulevé le public, est le passage de Swift en open source à la fin de l'année. Le langage de programmation d'Apple pourra « être partout et utilisé par tout le monde » afin de devenir, peut-être, « le prochain grand langage de programmation, celui qui sera utilisé pour créer des applications et faire la programmation système pendant les 20 années à venir », comme l'ambitionne le responsable de l'ingénierie logicielle.

Les développeurs, y compris ceux sous Linux, pourront s'emparer de Swift pour faire ce que bon leur semble (la licence open source exacte reste encore à définir). Un développeur sous Linux pourra par exemple coder en Swift une application destinée à une autre plateforme qu'OS X ou iOS.

D'autres mesures visant à faciliter la vie des développeurs sont d'ores et déjà en place. Il n'y a plus trois, mais un programme développeur. Baptisé simplement Apple Developer Program, il rassemble toutes les ressources logicielles et documentaires pour créer des applications sur OS X, iOS et watchOS. Il permet aussi de faire une économie de 99 $ par an (le tarif individuel des anciens programmes développeurs iOS et OS X). La limite des appareils pouvant être enregistrés dans iTunes Connect passe à 100 pour chaque catégorie de produits.

Tous ceux qui n'ont pas eu la chance d'être tirés au sort pour participer à la WWDC sur place à San Francisco peuvent, comme l'année dernière, suivre la plupart des sessions en direct. Le NDA (accord de confidentialité) plus souple inauguré l'année dernière est toujours valable aujourd'hui.

L'ouverture vaut aussi pour les personnes ne disposant pas de compte développeur payant. Celles-ci peuvent dorénavant consulter une partie des forums développeurs sans avoir à se connecter et installer leurs apps sur leurs terminaux.

Il y a quelques semaines, Apple lançait le service App Analytics, qui ouvre les données d'utilisation (avec l'accord des utilisateurs) aux développeurs.

Tous ces efforts d'ouverture participent d'un même but : attirer et fidéliser les développeurs afin de faire d'OS X, iOS et watchOS les plateformes les plus vivantes.

avatar iGeek07 | 

L'annonce de Swift en Open Source est une excellente nouvelle, même si la licence reste à voir.
Le fait que l'on puisse installer des applications sur un appareil iOS depuis Xcode avec un simple compte Apple ID (gratuit) augure également du bon pour les logiciels Open Source qui voudront aller vers iOS (et qui ne sont donc pas compatibles avec les conditions de l'Apple Store), certes c'est plus contraignant, mais mieux que rien.

D'un autre côté, l'introduction de Metal pour "remplacer" OpenGL montre qu'Apple veut reprendre le contrôle de ses pilotes graphiques, et ne plus dépendre des évolutions d'OpenGL… j'espère juste qu'il ne vont pas laisser ce nouveau projet en plan d'ici quelques années.
En tous cas le message est clair : on ne va plus se soucier des pilotes OpenGL puisqu'on a une super nouvelle technologie pour le remplacer!
Une solution pourrait être de laisse ces pilotes au soins de la communauté ou des constructeurs de cartes graphiques, plutôt que de les garder sous leur contrôle et de les laisser pourrir…

avatar oomu | 

le problème avec une API spécifique, c'est qu'il faut convaincre tOUUUUuuuuute la chaine graphique industrielle (nvidia, amd, intel puis les middlewares de jeux vidéo tel unity, et les outils de développements ,les auteurs de shaders, etc et enfin les créateurs de jeu vidéo) d'utiliser la nouvelle API et construire avec.

Alors, déjà que c'est dur avec OpenGL qui regroupe pourtant l'industrie du logiciel 3D professionnel

alors Apple seule... alors oui, Apple profite du succès de iOS et cela peut motiver l'industrie, mais enfin, y a un HERITAGE GIGANTESQUE.

Pour l'heure, cela continuera à profiter à Direct X et donc le PC Windows.

-
n'imaginez pas Blizzard redévelopper sa technologie OpenGL-DirectX pour un Diablo 3 Metal en quelques mois. (comptez année). Et encore, si elle estime que cela lui ouvre des ventes intéressantes sur iOS et Os X.

-
ce n'est pas un soucis de "pilote"

c'est un soucis que toute l'industrie qui VOUS INTERESSE est _ultra_motivée sur DIRECT X : tout est développé pour exploiter, tirer au maximum Direct X vers le haut.

Et Direct X 12 apporte aussi l'équivalent de Metal.

avatar iGeek07 | 

On voit qu'Apple a ici préféré développer Metal pour OS X plutôt que de pousser Vulkan, la prochaine itération d'OpenGL qui veut apporter les mêmes avantages que DirectX12 ou Metal : un accès plus bas niveau pour plus de contrôle des développeurs, et donc plus de performances s'ils savent bien coder.
J'imagine qu'ils n'avaient pas envie d'attendre Vulkan trop longtemps vu qu'ils avaient besoin de plus de performances MAINTENANT.

Ma question demeure : si j'ai bien compris l'état actuel des pilotes graphiques d'OS X n'est pas bon, quand on voit des comparaisons de perf OpenGL entre OS X et Linux, on voit que Linux fait mieux (de mémoire, les tests que j'ai vu étaient sur Ubuntu) : Apple va-t-elle abandonner OpenGL et laisser pourrir son support déjà pas très bon (et pas à jour)?

avatar Stardustxxx | 

@iGeek07
Vulkan arrive a la fin de l'année.

Les developpeurs ont deja acces a des drivers beta. Certains engins 3d fonctionnent deja sur Vulkan, comme le moteur source 2 de Valve.

C'est vrai qu'attendre quelque mois, c'est juste pas possible ;).

Non c'est Apple qui fait son Microsoft, c'est Apple qui fait son DirectX 12 proprietaire au lieu d'utiliser des standards de l'industrie.

avatar joneskind | 

@Stardustxxx

"Non c'est Apple qui fait son Microsoft, c'est Apple qui fait son DirectX 12 proprietaire au lieu d'utiliser des standards de l'industrie."

Metal OSX est basé sur OpenGL et OpenCL (cf Keynote). C'est une API pour Swift qui est lui aussi Open Source.

Alors je comprends pas bien ton propos là.

avatar Stardustxxx | 

@joneskind
OpenGL est une API de haut niveau, Metal est une API bas niveau, plus proche du hardware.
Il n'y a pas de relation entre Metal et OpenGL, enfin autant qu'entre Metal et DirectX. Une appli metal n'est pas compatible OpenGL et vice versa.

Metal n'est disponible que sur les produits Apple. Meme chose que pour DirectX, juste dispo sur les OS microsoft. Metal n'est pas un standard de l'industrie. Dans ce cas ci, c'est meme combat pour Apple et Microsoft.

Vulkan est le successeur de OpenGL, il est basé sur Mantle d'ailleurs. Vulkan sera dispo sur plusieurs OS : Windows (pas juste Windows 10), Linux, OS mobile, et en theorie rien n'interdit d'avoir un support Mac.

Et une API n'est jamais reservé a un seul language... Il te faut juste les bindings pour le language. Rien n'empeche en theorie en faire une appli Metal en Objective-C, ca depend de ce qu'autorise Apple.

avatar Wolf | 

@Stardustxxx : quel standard de l'industrie ? C'est pas parce que Vulkan est open source que c'est un standard, ni même OpenGL, faut pas déconner. Çà deviens un standard si c'est adopté par une majorité de fabricants etc. Pour l'instant ce n'est pas le cas, donc on peut s'en passer.
Pour Swift je suis déçu de son passage en open-source vu qu'apple n'as pas besoin de faire venir les développeurs sur iOS ou OSX, les bons sont déjà là, reste plus que ceux qui pondent 2 ou 3 bouses sur Linux et qui en sont fier.

avatar Stardustxxx | 

@Wolf
OpenGL est un standard de l'industrie, comme OpenGL ES. Dire le contraire c'est mal connaitre le marché.

Pour Vulkan, c'est sur que ce n'est pas encore un standard de l'industrie vu que ce n'est pas encore sorti!!!! Et Vulkan n'est pas Open source... La specification est ouverte, c'est une grosse nuance, il n'y a pas de driver Vulkan dispo comme ca...
Mais vu le support derriere Vulkan : Khronos (qui controle la specification), nVidia, Valve, Intel, AMD (qui a fourni la base avec Mantle), etc... qui ont tous annoncé leur support pour, et l'enthousiasme des professionnels, pas difficile de deviné que Vulkan sera adopté. Les architectures 3d traditionnelles (OpenGL, ES, Directx) ne sont plus adapté aux besoins.

Maintenant, Apple aurait tres bien pu choisir Vulkan mais aurait du probablement attendre encore.

Et pour ce qui est de ton commentaire sur les programmeurs Linux, je prefere un mec capable de programmer sur Linux en c, plutot qu'un abruti qui est capable de faire une bete animation en switf... C'est marrant tout ces centres de données qui fonctionnent sous linux, tous ces routeurs, tous ces supercalculateur...

avatar nicolas | 

@iGeek07 :
Metal n'est pas forcément une bonne nouvelle en terme d'ouverture, car son équivalent standardisé existe : Vulkan, porté par le Khronos Group, également en charge d'OpenGL.

avatar iGeek07 | 

Je sais bien… c'est même ce que je dis, Apple s'ouvre d'un côté (Swift OpenSource), mais se ferme de l'autre (Metal).
De là à dire que Vulkan "existe", je dirai qu'il est en gestation, mais pas pour tout de suite… certainement ce qui a poussé Apple à ne pas l'attendre…

avatar joneskind | 

@nicolas

Apple fait partie du Khronos Group

http://fr.wikipedia.org/wiki/Khronos_Group

Metal est basé sur OpenGL et OpenCL (Cf la keynote)

avatar iGeek07 | 

La Keynote m'a plutôt fait comprendre que Metal remplaçait OpenGL et OpenCL…
J'aimerai que tu ai raison, mais je pense qu'on y verra un peu plus clair quand les développeurs vont mettre leur nez là dedans d'ici peu (s'ils ne sont pas déjà en train de le faire).

avatar Stardustxxx | 

@joneskind
Metal n'est pas basé sur OpenGL et OpenCL, mais permet de les remplacer par une API plus performante, plus bas niveau.
C'est aussi une API qui demande plus de boulot du côté developper, avoir acces bas niveau veut dire que l'on a plus de chose a gérer. Ca demande bien plus de code pour afficher un simple triangle avec Metal (ou Vulkan) qu'avec OpenGL, mais par contre ca permet des gains en performances monstrueux.

Et c'est normal qu'Apple soit toujours sur le board du Khronos group, OS X rajoute de l'API Metal, mais OpenGL est toujours supporté.

avatar byte_order | 

Metal n'est pas *basé* sur OpenGL et OpenCL, Metal, tout comme Mantle, Vulkan, DirectX 12 est une API qui essaye d'exposer plus directement les ressources hardware massivement parallèles et partagées des GPU d'aujourd'hui (et depuis près de 10 ans en fait) sans passer par une API qui force trop fortement une approche séquentielle des traitements.

Metal, DirectX, Mantle et Vulkan *remplacent* OpenGL et OpenCL.
Ils ne sont en rien retro compatibles.

avatar oomu | 

j'avais raté l'annonce qu'il suffit d'un compte Apple pour installer via Xcode sur iOS

c'est une excellente nouvelle.

avatar ipaforalcus | 

Apple à rendu Swift open source dans le seul but de maximiser ses chances de survie dans le futur...

avatar thefolken | 

Ouais c'est sûr, Apple était sur la mauvaise pente niveau ventes d'iPhone et d'iPad, du coup les devs allaient tous partir voir ailleurs, heureusement avec l'ouverte de Swift, tout ca c'est du passé ! (enfin du passé futur d'un truc hypothétique qui aurait pu ou pas se passer enfin surtout "ou pas".)

Hourra ! L'Open Source a sauver Apple d'une mort certaine !

Vive le libre !

avatar joneskind | 

@ipaforalcus"

Vu le succès de Cocoa et de sa plateforme de développement, je ne crois pas une seule seconde que Apple s'en fasse pour son langage qui a de plus énormément de succès.

Plus qu'une question de survie, je pense surtout que c'est une manière pour Apple d'aider les concurrents directs de Microsoft (Apple ne s'occupe pas du développement de Swift pour Windows) et Google. Linux donc.

Canonical a besoin développeurs pour ses plateformes (Ubuntu et le balbutiant Ubuntu Phone). Si Canonical proposait un SDK compatible avec Swift elle pourrait potentiellement récupérer tous les développeurs iOS/OSX qui ont désormais la possibilité de vendre leurs apps sur le store Ubuntu.

Par ailleurs, il ne faut pas oublier le partenariat avec IBM.

avatar melaure | 

Pouvoir tester une appli sans la taxe développeur c'est un sacré plus pour celui qui veut juste apprendre ...

avatar Stardustxxx | 

@melaure
Et il a fallut 9 version d'OS pour arriver la...

avatar joneskind | 

@melaure

Ok donc j'ai bien compris. Plus besoin de compte payant pour installer une app sur un téléphone.

D'une part et comme tu le dis c'est parfaitement génial pour le petit gars/la petite nana qui voudrait apprendre à coder.

D'autre part ça veut aussi dire qu'on va pouvoir installer n'importe quelle app sans jailbreak pourvu qu'on ait les sources. Charge à l'utilisateur de les compiler.

Quand iOS devient un Linux. Y plus qu'à attendre que la communauté développe un gestionnaire de paquets synaptic pour Mac.

Génial.

avatar melaure | 

Oui c'est sympa, ça me fait un peu oublier mon regretté et cher webOS ...

avatar RomainP | 

La licence swift est OSI
J'ajoute que l'on peux maintenant installer des applications sur les devices iOS avec un compte gratuit.

CONNEXION UTILISATEUR