Ouvrir le menu principal

iGeneration

Recherche

Apple valide les jeux codés en JavaScript

Arnaud de la Grandière

jeudi 28 avril 2011 à 16:25 • 3

App Store

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
illustration ulule

Pour les 50 ans d’Apple, MacGeneration publie un livre événement

Précommandez-le dès maintenant et profitez-en pour découvrir nos nouveaux goodies, ou prolonger votre abonnement au Club iGen à tarif réduit.

Découvrez nos offres

Précommandez le livre et rejoignez la fête

Un livre pour raconter 50 ans d'Apple, une journée à Lyon pour les célébrer ensemble.

Participez sur Ulule

5G Broadcast : TDF va expérimenter la diffusion des chaînes sur mobile cette année

18/03/2026 à 21:45

• 7


iOS, iPadOS, watchOS, macOS : une release candidate pour tous les OS 26.4

18/03/2026 à 18:58

• 28


DarkSword : un kit de piratage peut faire tomber les iPhone sous iOS 18

18/03/2026 à 17:20

• 6


Camera Hub G350 : Aqara dégaine la première caméra Matter, sans bénéfice immédiat

18/03/2026 à 16:46

• 7


App Store : Apple s’attaque aux apps de vibe coding

18/03/2026 à 15:29

• 16


Ambiscape redonne des couleurs à l’écosystème Ambilight

18/03/2026 à 12:25

• 17


AirPods Max 2 : Apple n’a pas corrigé ses principaux défauts

18/03/2026 à 12:15

• 88


Google et Epic s'entendent : Fortnite revient sur le Play Store et les frais sur les achats diminuent 🆕

18/03/2026 à 09:48

• 6


iFixit démonte l’iPhone 17e : son dos MagSafe peut se greffer sur l’iPhone 16e

18/03/2026 à 09:32

• 1


HomePad : un départ de poids pour une division domotique à la traîne

18/03/2026 à 06:30

• 34


Test du MacBook Neo : le portable pour le reste d’entre nous

18/03/2026 à 05:59

• 62


Horizon Worlds : Meta va débrancher la version VR du métavers le 15 juin prochain

18/03/2026 à 05:59

• 40


Apple déploie sa première vraie mise à jour de sécurité en arrière-plan sur iPhone, iPad et Mac

17/03/2026 à 21:35

• 41


Un système CarPlay 7” à moins de 80 €

17/03/2026 à 20:31

• 0


Six mois plus tard, le chargeur 40 W dynamique d'Apple n'est toujours pas vendu en Europe

17/03/2026 à 19:05

• 7


Aperçu de la PowerCapsule, la première batterie externe de Twelve South pour iPhone

17/03/2026 à 17:21

• 5