14/11/2021
Coder (presque) comme sur NeXT, mais sous Linux
Que ce soit pour s'initier au développement Objective-C et aux concepts de l'AppKit, ou simplement pour la nostalgie du cube noir et de son espace de travail à couper le souffle, on peut savourer le travail effectué par l'équipe GNUSTEP depuis des décennies afin de produire un environnement fonctionnel inspiré de NEXTSTEP.
Installation de AltLinux/GNUSTEP
Le plus simple est d'utiliser le starterkit de la distribution AltLinux qui propose une version de son Linux intégrant GNUSTEP.
https://en.altlinux.org/Starterkits/gnustep
Configuration
Une fois sous AltLinux, vous devriez vouloir changer de clavier et de résolution écran.
# setxkbmap fr
# xrandr -s 1680x1050
ProjectCenter
Bizarrement, l'outil qui gère les projets de développement, permet la navigation dans les classes, dans les fichiers sources et qui compile tout ça pour produire une application exécutable n'est pas fourni dans la distribution AltLinux.
Il vous faudra aller chercher les sources ici : https://github.com/gnustep/apps-projectcenter pour ensuite générer le fichier exécutable, à la manière habituelle.
# make;
# make install;
Coder en Objective-C
Le tuto ci-dessous montre comment s'utilise ProjectCenter et Gorm pour définir l'interface de votre application, créer les liens entre l'interface et le code (Outlets/Actions).
Gorm ressemble beaucoup à Interface Builder, l'ancêtre de XCode.
http://www.gnustep.org/experience/PierresDevTutorial/index.html
De quoi se faire la main avec les concepts qui sont toujours à l'action dans les dernières versions de iOS/MacOS.
Quelques bons bouquins sur Objective-C, en français
Programmation Objective-C, Le guide Big Nerd Ranch par Aaron Hillegass. acheter sur fnac.com
Programmation iOS, Le guide Big Nerd Ranch par Joe Conway & Aaron Hillegass. acheter sur fnac.com
Les fondamentaux de la programmation iOS, par Lemine BEYROUK. acheter sur fnac.com
Programmation iOS 6, par Jean-Marc Lacoste & Thomas Sarlandie. acheter sur fnac.com
Ce dernier ouvrage étant, àmha, le meilleur du point de vue de la clarté et de la progression pédagogique.