Voici le nouveau compilateur Silicon !

Traduit automatiquement de Deepl

Nous vous avons déjà présenté notre nouveau compilateur Silicon dans un précédent billet de blog. Ce nouveau compilateur sera utilisé pour construire des applications natives Silicon et sera disponible uniquement en mode projet.

Les applications natives Intel (sur Windows et Mac) continueront à utiliser le compilateur classique.
Creusons un peu plus et voyons comment il fonctionne exactement.

Le compilateur Silicon 4D est spécial : c’est un compilateur en 2 étapes.

Tout d’abord, il traduit le code 4D en fichiers sources C++. Ensuite, il compile le code C++ à l’aide de Clang, un compilateur open-source de pointe sur Mac.
Cette approche présente de nombreux avantages :
– Optimisée : L’application résultante est compilée en utilisant les meilleures optimisations, aussi rapidement que du code C++ pur.
– A jour : Apple ne donne que peu d’informations sur ses processeurs, nous devons donc utiliser leurs compilateurs pour obtenir des applications Silicon natives. Cette limitation est aussi un avantage, car à chaque nouveau processeur correspond une nouvelle version de Clang. Ainsi, vos applications bénéficieront des dernières améliorations et resteront compatibles avec toute nouvelle génération de machines Silicon.

Qu’est-ce qui a changé ?

Cette nouvelle approche s’accompagne de quelques changements.

Tout d’abord, vous avez maintenant la possibilité de compiler pour les processeurs Silicon et/ou Intel. Dans l’onglet Compilateur des paramètres de l’application, il y a un nouveau paramètre appelé Cible de compilation.

Compiler Settings

Vous pouvez le définir sur votre processeur (Silicon sur Silicon Mac, Intel sinon) ou sur tous les processeurs (Silicon et Intel). À titre d’information, vous pouvez compiler pour Silicon sur n’importe quel Mac (Intel ou Silicon) mais pas sur une machine Windows :

blank

Pour compiler pour Silicon, vous aurez besoin de Clang. Clang est fourni avec la dernière version de XCode. Si vous ne l’avez pas, 4D vous guidera vers l’AppStore pour installer XCode.

Compilation incrémentale

Le compilateur Silicon utilise la compilation incrémentale. Cela signifie que la première fois que vous compilez une application, ou juste après avoir effacé le code compilé, le temps de compilation sera sensiblement plus long car 4D compilera tout. Mais les compilations suivantes ne compileront que les fichiers que vous avez modifiés et devraient donc être à peu près aussi rapides que d’habitude.
Une fois la compilation terminée, vous verrez un nouveau répertoire dans votre dossier de paquetage appelé Libraries. À l’intérieur, la bibliothèque système lib4d-arm64.dylib contiendra le code compilé de votre application.

C’est tout. Il suffit de redémarrer en mode compilé et vous pouvez utiliser votre application en mode natif sur Silicon.

Si vous avez des commentaires ou des questions, venez nous les poser sur le forum 4D.

Bonne compilation !

Nicolas Brachfogel
- Product Owner & Senior Developer - Nicolas Brachfogel a rejoint 4D en 2017 en tant que développeur senior (4D Server et networking) et en tant que Product Owner pour gérer la mise en production d'Apple Silicon. Il est chargé de rédiger les user stories et de les traduire en spécifications fonctionnelles, ainsi que de s'assurer que les implémentations des fonctionnalités répondent aux besoins des clients. Diplômé de l'Institut Supérieur d'Informatique Appliquée (INSIA), Nicolas a commencé sa carrière en tant que développeur de logiciels en 2001. Après plusieurs années de programmation en Java et C++, il s'est spécialisé dans le développement client-serveur pour des sociétés de jeux vidéo. En tant que développeur/architecte serveur, il a travaillé avec succès sur les architectures serveur de nombreux jeux (Dofus Arena, Drakerz, Trivial Pursuit Go !).