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

FR-Alert va bientôt relayer les alertes enlèvement sur mobile 🆕

10:07

• 17


Qui veut la peau de l’iPad ?

08:35

• 58


Test de l’Oura Ring 4, l’anneau magique qui surveille votre sommeil et votre santé

07:01

• 25


Le pont Philips Hue Pro passe à 100 €, c'est le moment de l'acheter avant la répercussion de la hausse

12/03/2026 à 23:20

• 34


Elon Musk annonce X Money, service de paiement intégré à X et concurrent de PayPal et Apple Cash

12/03/2026 à 21:30

• 45


Google Maps : navigation 3D immersive en voiture et recherche en langage naturel sont en route

12/03/2026 à 16:33

• 25


Apple annonce qu’elle va marquer ses 50 ans dans les prochaines semaines

12/03/2026 à 15:22

• 37


L’iPhone Fold serait disponible en trois enveloppes de stockage à partir de 2 000 €

12/03/2026 à 14:51

• 68


Amazon brade ses Kindle, Echo et Fire TV : voici les offres les plus intéressantes

12/03/2026 à 10:58

• 12


SwitchBot en promo : détecteur de présence, serrure et aspirateurs à prix plancher

12/03/2026 à 10:31

• 7


Promo : le thermostat connecté Tado X de retour à 99 €, son prix le plus bas

12/03/2026 à 09:55

• 8


Les presses tournent à plein régime : notre livre sur les 50 ans d’Apple arrive bientôt

12/03/2026 à 09:32

• 17


Apple publie les manuels de réparation du MacBook Neo, de l’iPhone 17e et de ses autres nouveautés

12/03/2026 à 09:32

• 5


Un pack de 5 étuis pour AirTag à 7,18 € !

12/03/2026 à 08:50

• 0


Un MacBook Neo peut-il faire tourner Cyberpunk 2077 ?

12/03/2026 à 07:10

• 79


Sécurité : Apple colmate les brèches sur les vieux iPhone et iPad

12/03/2026 à 06:25

• 20