Si vous voulez apprendre le développement iPhone en avançant un peu chaque jour, le site Apps Amuck est fait pour vous. Il propose une série de 31 applications (dont 12 sont déjà en ligne) avec pour chacune d'entre elle le code source et un exécutable pour pouvoir jouer et apprendre avec :

JSCocoa, pour développer avec Cocoa en Javascript

09 10 2008 In: Cocoa

Il existe déjà des bridges pour Python (PyObjC) et Ruby (RubyCocoa) et voici donc JSCocoa qui permet de développer en Cocoa avec JavaScript.

Pour ce faire, il utilise JavascriptCore (le moteur JS de WebKit) pour vous permettre d'accéder aux librairies C et Objective-C. Il permet de plus d'étendre des classes Objective-C en Javascript. Des exemples de code avec les versions Objective-C et JSCocoa sont disponible sur la page principale du projet.

Vive la suppression du NDA

08 10 2008 In: Cocoa, iPhone / iPod Touch

La levée du NDA commence à sérieusement porter ses fruits en ce qui concerne le nombre de ressources disponible sur Internet concernant le SDK iPhone :

Mise à jour d'applications

30 09 2008 In: Cocoa, Logiciel

Jusqu'à maintenant, quant l'on voulait mettre en place un système de mise à jour de son application, il existait Sparkle. Google vient de publier un logiciel similaire nommé Update Engine (Plus d'infos sur le blog Google).

La question que l'on se pose alors est pourquoi utiliser Update Engine si Sparkle fonctionne très bien. Sur le groupe de discussion Update Engine, Greg Miller nous répond :

  • Update Engine est de plus bas niveau que Sparkle, et il permet de mettre à jour des applications appartenant à root ou des modules kernel.
  • Update Engine permet de gérer plusieurs applications (un peu comme le système de mise à jour de Mac OS X).
  • Par contre, il semple plus complexe à mettre en place que Sparkle dans les cas simples.

Si quelqu'un à l'occasion de tester, ses remarques sont les bienvenues. Et pour en savoir plus sur l'integration dans une application, voici un petit screencast.

GTK+ sur OS X

26 09 2008 In: C, Cocoa, Mac OS X

Si vous voulez développer sur Mac avec le framework GTK+, vous pouvez installez GTK+ on OSX. Cela installera les différentes librairies nécessaires, un framework ainsi qu'un nouveau type de projet sous XCode (GTK+ Application).

Pour ce qui ne connaîtrais pas GTK+, il s'agit de l'équivalent sous Linux et plus particulièrement Gnome de Quartz sous Mac OS X.

En vrac

21 09 2008 In: Cocoa, En vrac, iPhone / iPod Touch

Après quelques jours très chargés de mon coté, voici quelques nouvelles du monde Cocoa :

  • Cocoa Programming: A Quick-Start Guide for Developers, un nouveau livre sur le développement Cocoa chez The Pragmatic Programmers qui vient de sortir en version beta. Je trouve de plus la formule PDF en beta plus livre lors de sa sortie (fin mars 2009) à 41,75$ particulièrement intéressante (le PDF seul est à 22$). Ça permet de commencer à lire de livre dès maintenant et d'avoir tout de même une version papier plus tard (pour les fétichistes des livres papiers comme moi).
  • Cocoa Tutorial: Adding Plugins to a Cocoa Application, un tutoriel du site Cocoa Is My Girlfriend sur l'ajout d'un système de plug-in (greffons) à une application Cocoa.
  • A Cocoa application driven by HTTP data, qui vous permettra de mieux comprendre comment télécharger et traiter une page web avec Cocoa (en utilisant NSXMLDocument pour parser la page et XPath pour extraire le contenu).
  • The iPhone Development Story, ou l'histoire de la création et de la publication d'une application sur l'AppStore, ainsi que les petits problèmes que l'on peut rencontrer.

Sortie de Cappuccino et Objective-J

05 09 2008 In: Cocoa, Liens

280 North, l'éditeur du clone de Apple Keynote 280 Slides vient de mettre en ligne sous licence Open Source (LGPL) son framework Cappuccino ainsi que le langage Objective-J.

Cappuccino permet donc de créer des applications web à la manière de ce que Cocoa permet sur Mac OS X. Objective-J quant à lui est un langage ressemblant à Objective-C et écrit en Javascript.

Il faut donc bien se rendre compte que Cappuccino a pour but de proposer un vrai moyen de créer des applications et pas uniquement de rendre un site plus interactif comme le propose par exemple jQuery ou mootools.

Pour en savoir plus, vous pouvez :

En tout cas, il n'y a pas à dire, mais 280Slides est vraiment impressionnant, et Cappuccino devrait permettre de faire des choses sympathiques.

Utiliser le GPU avec Core Video, Core Image, etc.

28 08 2008 In: Cocoa

J'ai déjà parlé par le passé d'OpenCL, qui apparaîtra dans Snow Leopard et qui permettra de tirer profit de la puissance des GPU (processeurs des cartes graphiques).

Christophe Ducommun, le développeur de MovieGate parle sur son blog des gains de performances qu'il à réussi à obtenir en utilisant les technologies actuelles de Mac OS X que sont Core Video, Core Image, OpenGL et QuickTime.

Il est passé de 25 images par seconde avec l'ancien encodeur, à 60 images par seconde avec la nouvelle version utilisant le GPU.

Pour plus de détails, vous pouvez lire son billet Nouveau décodeur vidéo.

Créer des applications Multi Touch pour Mac OS X

28 08 2008 In: Cocoa, Mac OS X

Si vous désirez écrire des applications utilisant un écran multi-touch sur Mac OS X, vous pouvez utilisez le framework Touché. Il a été écrit par Georg Kaindl dans le cadre de son Master et est disponible sous licence LGPL 3. Le seul problème ici est d'arriver à obtenir un écran ou une table multi-touch de taille intéressante. Pour finir, voici une vidéo permettant de voir ce qu'il est possible de faire avec :


Touché Multitouch Framework - Simple Demo Apps from Georg Kaindl on Vimeo.

L'ajout d'une fonctionnalité de copier / coller sur l'iPhone est actuellement en bas de la liste des priorités d'Apple. Il est tout de fois possible de proposer des fonctionnalités de ce type dans vos applications iPhone grâce à OpenClip.

Il s'agit d'un framework pour le développement iPhone qui propose un espace partagé entre les différentes applications une fois que celles-ci sont stoppées. Plus d'informations sont disponibles dans la FAQ et la FAQ pour développeur. Pour finir, la vidéo suivante permet de comprendre en détail le fonctionnement :


Cut and Paste for iPhone from Cali Lewis on Vimeo.

Edition : John Gruber de Daring Fireball a écrit un billet où il explique en détail le fonctionnement de OpenClip, et pourquoi il y a de grandes chances que le système ne fonctionne pas sur le long terme. En fait, ça ne fonctionne déjà plus sur la version 2.1 de l'iPhone OS. Pour plus d'informations, vous pouvez lire Raining on the OpenClip Parade.