De NeXTSTEP à SwiftUI, comment Apple a réarchitecturé ses systèmes

Anthony Nelzin-Santos |

AppKit, Catalyst, Cocoa, Marzipan, SwiftUI, UIKit… Cette liste ne vous inspire rien d’autre que des frissons ? C’est normal : cette soupe à l’alphabet n’a fait qu’épaissir au fil des années. Mais pour comprendre l’importance du projet Catalyst lancé à la WWDC 2019, et envisager les conséquences de SwiftUI, il faut connaitre ces mots. Revenons donc aux bases… et vingt ans en arrière.

Nous sommes en mai 1997. Apple vient d’acheter NeXT, Gil Amelio est encore CEO, mais Steve Jobs a déjà repris la barre. Au cours de la WWDC, il présente le système d’exploitation Rhapsody. Construit sur les ruines de NeXTSTEP, il conserverait une compatibilité avec les applications Mac OS par le biais de la Blue Box, et apporterait les innovations de NeXT par le biais de la Yellow Box.


avatar Pse | 

Merci pour cet article !

avatar umrk | 

Mission impossible que d'écrire un article sur un sujet pareil (mais chapeau l'artiste) .... On a affaire à un volume de code inimaginable ...

Pour ma part, je m'en tiens à quelques constations simples : un iPad s'utilise sur ses genoux, assis dans un fauteuil (posture adoptée par Steve, ce n'est pas un hasard ...), une machine de bureau s'utilise .. assis devant un bureau, et un smartphone n'importe où (mais le plus souvent debout) .....

Trois irréductibles situations ("use cases") différentes, trois solutions techniques différentes (même si bien sûr on peut toujours trouver quelques zones de recouvrement, à la marge) ....

Après, évidemment, il n'est nullement interdit de factoriser du code, c'est une bonne pratique de gestion de projet .... (mais une cuisine, qui, finalement, n'intéresse que les développeurs)

avatar reborn | 

@umrk

Pour ma part, je m'en tiens à quelques constations simples : un iPad s'utilise sur ses genoux, assis dans un fauteuil (posture adoptée par Steve, ce n'est pas un hasard ...)

L’iPad a évolué aujourd’hui, ce n’est plus seulement un appareil de consultation c’est aussi un puissant appareil de production

avatar lawappe | 

@umrk

Ça s’appelle Surface, avec Windows 10.

Microsoft, a mon avis, a toujours eu la meilleure vision sur ce sujet là. Alors qu’Apple s’est enfermé dans son discours, technique initialement, commercial ensuite, adapté à chaque plateforme.

On se rend bien compte aujourd’hui, que même si la partie visible de l’iceberg s’adapte à chaque type de device, la partie invisible s’unifie.

Ce que Microsoft propose depuis des années maintenant...

avatar Thms | 

@lawappe

Je vois les choses différemment ; Apple expérimente le futur de l’informatique sur iPad, iPhone, Apple Watch, pour aboutir à terme à une solution nouvelle et moderne, qui replacera les vieux OS de bureau des années 80 (comme on en trouve sur ta Surface).

Architecture ARM, sécurité, biométrie, Swift, App Store etc.

La vision d’Apple est la bonne de mon point de vue.

avatar lawappe | 

@Thms

Je n’ai pas de Surface ? Je suis sur Mac depuis très longtemps. Et pas vraiment envie d’en changer.

En revanche, tout ce dont tu parles n’est que matériel. Or je parlais des couches logicielles.

Apple innove dans le matériel, certes. Pas toujours de manière élégante d’ailleurs ces derniers années.

Mais je suis persuadé que Microsoft a eu la bonne inspiration : simplicité. Ce qui était l’adage du Mac auparavant. Avec leurs déclinaisons de noms d’OS, ils embrouillent tout le monde.

D’autant plus lorsque tu n’as qu’une case à cocher pour compiler une application pour un système « différent ».

Ils se sont enfermés dans leur discours « différent » pour se positionner face à Microsoft. Et sur ce coup là, ce n’était pas une bonne idée.

Je suis prêt à parier qu’un jour prochain, les utilisateurs vont scander « innovation », « génie » lorsque Apple sortira soit un OS unifié, soit une liste de cases à cocher dans Xcode. Alors que Microsoft propose ça depuis longtemps...

avatar reborn | 

@lawappe

C’est arrivé trop tôt et l’exécution de leur projet était mauvaise.

Et le message d’Apple n’est pas: "utilisez la même interface de partout"

Bref c’est du passé ils poussent les apps électron et autre PWA maintenant.

Sinon UXkit remonte à 2014 (Photo), et depuis 2015 l’on a vu des bribes du support des fenêtres sur iPad avec iOS 9

C’est n’est pas quelque chose qu’ils ont bricolé en 2 ans vite fait

avatar armandgz123 | 

@lawappe

Je suis du même avis

avatar xDave | 

@lawappe

Mouais enfin l’OS de Microsoft, on en parle ?
Les tablettes pseudo ordinateur inutilisables sans clavier ou souris.
Donc à part un OS pour ordinateur je vois pas

avatar lawappe | 

@xDave

C’est marrant, l’iPad supporte maintenant clavier ET souris ?

avatar xDave | 

@lawappe

Oui et ?
Il y a aussi dans ta phrase

avatar MacTHEgenius | 

@lawappe

Le support de la souris est un réglage d’accessibilité. On est loin de ce qu’un Mac peut faire.

avatar skynext | 

@xDave

J’ai quand même l’impression que Microsoft proposait quelque chose de plus abouti il y a quasiment 10 ans avec l’ancêtre de l’UWP (https://en.wikipedia.org/wiki/Windows_Runtime) que ce qu’Apple offre pour le moment en terme d’UX avec Catalyst

avatar xDave | 

@skynext

D’UX?
?

avatar skynext | 

@xDave

Bah oui les app UWP sont à mon sens largement supérieur aux Apps Marzipan (que l’on ne sait même pas redimensionner correctement). Et pourtant je ne suis pas un fan de Windows

avatar reborn | 

@skynext

Considérons Catalyst comme la version 2 de Marzipan présenté l’an dernier.

Catalyst prend en charge bien plus de caractéristiques natives du mac que ce qu’Apple a présenté l’an dernier.

UIkit sur mac, UIkit, et Appkit peuvent être utilisé au sein d’une même app sous macOS

avatar IGerard | 

@lawappe

Comme le faisait Steve Jobs ... Apple a le discours pour vendre ce qu’elle a à vendre... un discours unifiant c’est très simple d’en avoir l’idée, c’est la base de l’approche industrielle et logicielle: économie d’échelle en factorisant au Max les efforts.

L’approche qui a consisté par contre a insisté sur une ergonomie tablette a été une stratégie mûrie par l‘expérience... sans contrainte forte le Dev va au plus simple ... ça a fait naître tout un superbe écosystème d’applications vraiment adaptées à l’ergonomie de la tablette. Donc oui, expérience différente mais technologies de plus en plus communes.

La semaine dernière, meeting avec les gars de Microsoft azure qui avait tous des surface pro... qu’ils n’ont utilisé toute la semaine que comme un laptop ultra léger

avatar XiliX | 

@lawappe

"On se rend bien compte aujourd’hui, que même si la partie visible de l’iceberg s’adapte à chaque type de device, la partie invisible s’unifie.

Ce que Microsoft propose depuis des années maintenant..."

Non je ne pense pas, et très loin même
L’approche de Microsoft est de faire fonctionner « une même » application sur différentes plateformes. Desktop/Laptop et Tablette.

L’approche d’Apple ici est nettement plus intelligente. Même code pour n’importe quel device. Ça ne veut pas dire que la même application aura le même comportement selon la plateforme.
Impossible de garder le même comportement d’un « combobox » par exemple sur un ordinateur que sur un mobile. Même une tablette.

Donc NON, ce n’est pas du tout la même approche. Et personnellement l’approche d’Apple est plus intelligente. Car un mobile n’a pas la même utilisation qu’un ordinateur.

avatar lawappe | 

@XiliX

Microsoft n’a pas de « mobile » à supporter.

avatar XiliX | 

@lawappe

"Microsoft n’a pas de « mobile » à supporter."

Et Tablette Surface ?
Elle est ce qu’on appelle mobile device. Pour difference avec desktop/laptop.
Il ne faut pas prendre pour un « mobile » phone

avatar XiliX | 

@XiliX

"Pour difference"

Pour différencier*

avatar Ramlec | 

@lawappe

N’a plus*

avatar iPop | 

@lawappe

Après le départ de Jobs, APPLE entreprit de copier, mimer IBM. Pas sûr que c’était une bonne chose. L’histoire se répète.

avatar MacTHEgenius | 

@lawappe

Les couches sous-jacentes à AppKit et UIKit ont toujours été les mêmes. Cependant, selon la plateforme, certains frameworks étaient disponibles dans leur intégralité, partiellement ou pas du tout.

Un exemple donné lors d’une session WWDC2019 est RealityKit qui gère tout ce qui ce nomme la réalité augmentée. Ce framework n’est que disponible sur iOS, parce qu’il ne fait pas de sens sur macOS.

avatar tempest | 

Super article qui me rappelle comme le temps passe.
Un jour un petit article sur OpenDoc avec IBM serait cool.

Pages

CONNEXION UTILISATEUR