S'il était déjà possible de créer des applications pour iOS à l'aide de JavaScript (en confiant le rendu à une UIWebView et l'exécution au moteur JavaScript d'iOS, ou tout simplement à l'aide d'outils tels que PhoneGap ou Appcelerator Titanium), Dominic Szablewski a été encore au delà
Il a réalisé deux jeux à l'aide de son moteur en JavaScript nommé Impact. Jusqu'ici, rien que de très anodin, mais c'est la manière dont ses jeux sont exécutés qui est originale : au lieu d'utiliser une vue WebKit, le rendu est confié directement à OpenGL, le son à OpenAL, et l'exécution du code au moteur JavaScript d'Apple.
Mais Szablewski avait déjà fait une première tentative en octobre dernier, qui s'était soldée par un échec : Apple avait refusé de valider ses applications car JavaScriptCore est une bibliothèque privée, et l'appel à de telles fonctions est proscrit par les règles de l'App Store. Dominic Szablewski a fait preuve d'ingéniosité : il a intégré la version open source de JavaScriptCore, livrée avec WebKit, dans son application. Il lui aura fallu quelques jours de travail pour faire l'ablation du moteur JavaScript, notamment parce qu'il fait appel à d'autres API privées. Le petit sacrifice qui en résulte, c'est que le moteur ne permet plus de gérer le texte en Unicode (retour au bon vieux codage ASCII), et il ne permet pas non plus d'utiliser l'accélération fournie par Nitro, le compilateur Just-In-Time intégré dans la dernière mise à jour d'iOS.
Moralité, au prix d'un surpoids de 2 Mo supplémentaires, les jeux ont été validés par Apple. Ils sont gratuits et font plus figure de démonstration d'Impact qu'autre chose (le moteur coûte 99 dollars), mais ont le mérite de montrer que la solution est viable : Biolab Disaster [1.0 - 9,8 Mo - gratuit] et Drop [1.0 - 6,1 Mo - gratuit]. Naturellement, vous pouvez également y jouer dans votre navigateur, sur tout type de machine : Biolab Disaster et Drop
Rejoignez le Club iGen
Soutenez le travail d'une rédaction indépendante.
Rejoignez la plus grande communauté Apple francophone !
Meta tente tout son possible pour bloquer le livre d’une ex-employée
13/03/2025 à 23:00
• 10
Spotify, « l'une des pires choses arrivées aux musiciens » ?
13/03/2025 à 21:00
• 45
Test de l'Insta360 Flow 2 Pro : le meilleur stabilisateur pour iPhone compatible DockKit (encore une fois)
13/03/2025 à 20:30
• 6
Le nouveau Siri montré en 2024 n'aura été qu'une fable et une fumisterie
13/03/2025 à 18:19
• 114
Skich Store, une nouvelle boutique tierce de jeux pour iPhone
13/03/2025 à 16:00
• 1
Incogni : protégez vos données et évitez les arnaques par SMS en toute simplicité 📍
13/03/2025 à 15:54
WebKit : le régulateur britannique accuse Apple de freiner l’innovation dans les navigateurs mobiles
13/03/2025 à 14:00
• 42
Les promotions sur les iPad Air M2 font de l'ombre aux nouveaux M3
13/03/2025 à 11:45
• 32
Tusk présente des optiques et des filtres pour filmer avec l’iPhone comme à Hollywood
13/03/2025 à 11:00
• 7
Le HomePod à écran entrerait toujours en production cet été
13/03/2025 à 07:23
• 7
Chiffrement d’iCloud au Royaume-Uni : l’audience demandée par Apple se tiendra vendredi
12/03/2025 à 22:15
• 3
iOS 19, un ravalement de façade pour cacher les retards ?
12/03/2025 à 20:45
• 70
Sonos annule son projet Pinewood, concurrent de l’Apple TV
12/03/2025 à 19:45
• 30
Il y a bien un risque d'incendie avec certains Pixel 4a selon les autorités australiennes
12/03/2025 à 19:00
• 10
iRobot présente les aspirateurs-robots Roomba de la dernière chance
12/03/2025 à 17:30
• 23
La fin des iPhone avec un écran LCD est un problème pour ceux qui sont sensibles au scintillement des écrans OLED
12/03/2025 à 16:00
• 38

Test de l'Insta360 Flow 2 Pro : le meilleur stabilisateur pour iPhone compatible DockKit (encore une fois)

Prise en main de la Smart Lock Pro de Nuki, une Ultra qui ne demande pas de changer de cylindre

Test de l’iPhone 16e : pour tout le monde, ou presque

Test de la caméra G5 Pro d’Aqara : une vidéosurveillance convaincante pour l’extérieur

Test de la Yale Linus L2 : une serrure pour mettre Matter et la NFC dans votre porte d’entrée
