4 votes

Puis-je maintenant utiliser un JIT pour une application iOS qui doit être distribuée par le biais de la boutique ?

Il y a quelques années, le même question est apparu, est-ce qu'Apple a déjà mis à jour les règles de soumission pour autoriser les JITters dans les applications soumises ? L'opensmalltalk-vm est environ dix fois plus rapide que la version sans JIT, et même l'apple watch a assez de ram pour l'exécuter facilement.

4voto

vinnyjames Points 373

La politique d'Apple n'a pas changé. Les applications qui ont besoin d'un PROT_WRITE | PROT_EXEC page ne sont pas approuvés pour le magasin, qui serait nécessaire pour le JAT.

Je vois deux façons de contourner ce problème :

  1. Utilisez AOT, pas JIT : Modifiez Cog pour qu'il puisse stocker le code JIT dans un fichier. fichier. Faites-le sur la machine de développement tout en exécutant un test de couverture pour votre application. Cela devrait permettre d'activer tout le code. Mettez le fichier de code dans le App bundle. Au moment de l'exécution, chargez le fichier dans un PROT_READ | PROT_EXEC et exécute toutes les méthodes qui s'y trouvent. Toutes les autres doivent être interprétées.

  2. Il y a est un moyen d'exécuter un JIT dans votre application : Le JavaScript JIT d'Apple. C'est le plus rapide sur toutes les plateformes mobiles actuellement. Vous pouvez contribuer à ce que le générateur de code de SqueakJS produise un code JS plus efficace. Cela permettrait d'exécuter tout le code Smalltalk sur le JIT, même les nouvelles méthodes.

2voto

John Aspinall Points 41

Vous pourriez regarder Pharo-JS qui vous permet de développer en Smalltalk et de le déployer en Javascript, ce qui peut ensuite être exécuté comme une application iOS (ou Android) via Cordova ou PhoneGap.

En Présentation de Pharo-JS lors de la récente conférence ESUG 2016 a fourni une démonstration de cette dernière (environ 25 minutes).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X