iPhone : SDK bêta 8 et AppStore

27 06 2008 In: iPhone / iPod Touch

Apple vient de rendre disponible la bêta 8 du SDK iPhone (1.25 Go). Une vidéo sur la publication d'applications sur AppStore vient d'apparaitre, mais je n'ai pas réussi à la télécharger pour le moment (indisponible sur iTunes et le lien disparait lorsque je me connecte sur l'ADC).

Étant donné la sortie de l'iPhone 3G dans deux semaines (le 11 juillet), il s'agit certainement de la dernière version bêta.

Gestion de version : Mercurial

25 06 2008 In: Logiciel

Il faut bien commencer quelque part, ça va donc être avec Mercurial que je vais commencer cette série de billet sur les gestionnaires de version et comment les utiliser sur Mac.

Mercurial, est donc un gestionnaire de version distribué écrit en Python, et avec d'après le site du projet beaucoup d'avantages (comme tous les projets d'ailleurs) :

  • Rapide
  • Tenant la charge (aussi bien en terme de nombre de fichiers que du nombre de modifications de ceux-ci)
  • Robuste (transactions, backup, etc..)
  • Simple à utiliser, avec divers outils disponibles
  • Simplicité à adopter (fonction sur Mac, Unix et Windows. Propose des outils de conversion depuis d'autres gestionnaires)
  • Gratuit et sous licence GPL

Installation

Si vous utilisez Python et que vous avez déjà l'utilitaire easy_install, le plus simple est de l'utiliser :

sudo easy_install Mercurialercurial

Il est sinon possible d'installer Mercurial avec divers packages (Fink, Macports, etc.) ou depuis le code source du projet. Mais le plus simple reste de passer par easy_install, ce qui vous permettra de plus de l'utiliser par la suite si vous développez en Python ou que vous comptez le faire.

Si tout c'est bien passez, nous allons maintenant pouvoir passer la création d'un projet et les premiers commits.

Utilisation

Il existe diverses ressources sur l'utilisation de Mercurial. Voici les plus intéressantes :

Les plugins et outils

  • Bundle Textmate : il s'installe très facilement depuis le bundle GetBundle (Bundles -> GetBundle -> Install Bundle) et de choisir Mercurial
  • Mercurial Quick Start sous la forme d'un fichier A4 à imprimer et qui permet d'avoir d'un coup d'oeil toutes les commandes utiles
  • Le plugin TracMercurial pour utiliser Trac avec Mercurial comme gestionnaire de source.
  • Migrer de Subversion à Mercurial (sans rapport avec le Mac mais ça peut toujours être utile.

Pour conclure, Mercurial ne pose pas de problème pour l'installation ou l'utilisation sous Mac. Les diverses ressources que l'on trouve sur Internet s'applique très bien sans avoir besoin de chercher des solutions spécifiques.

Voici la première interview sur Cocoa.fr, qui sera je l'espère le début d'une longue série. Pour commencer, c'est Olivier Chambon de Travailleurs Du Web qui a bien voulu répondre à mes questions (merci, d'être indulgent, il s'agit de ma première interview) :

Lire la suite

Snow Leopard et les développeurs par MacGeneration

23 06 2008 In: Mac OS X

MacGeneration nous propose dans son article Snow Leopard : des développeurs en extase, une très belle revue des avis de divers développeurs concernant Mac OS X Snow Leopard. Je pense que la citation qui résume bien Snow Leopard est :

Même s'il a été un peu survolé pendant la conférence de Steve Jobs, la vraie grande annonce de cette WWDC a été Snow Leopard. N'importe qui parmi les développeurs vous dira qu'à un moment ou à un autre vous devez faire une pause et retravailler votre code. Pour quelque chose d'aussi important qu'un système d'exploitation, c'est un travail particulièrement lourd sans avantages évidents pour les utilisateurs […] Snow Leopard est un investissement réalisé auprès des développeurs et de fait un investissement sur la plateforme elle-même.

Mike Lee, Tapulous (ancien de chez Delicious)

LLVM : Le futur compilateur d'Apple ?

21 06 2008 In: Apple, C, Objective-C

Tous les projets d'Apple ne sont pas secrets, après l'utilisation de SproutCore dans les galeries .Mac, AppleInsider nous présente ici LLVM (Low Level Virtual Machine) et l'utilisation qu'en fait Apple. Il s'agit par exemple :

  • De l'histoire entre Apple et LLVM
  • De l'utilisation conjointement à GCC et des gains possibles de performance par rapport à GCC seul
  • De l'utilisation des fonctions de compilation JIT dans la pile OpenGL de Léopard
  • Et surtout pour finir de son avenir certainement conjointement avec OpenCL.

Pour découvrir tout ça, vous pouvez lire l'article Apple's other open secret: the LLVM Complier

Un nouveau framework Javascript est en train de faire beaucoup de bruit dans la communauté Mac, il s'agit de SproutCore. Il s'inspire de Cocoa et permet réellement de concevoir des applications web comme si l'on utilisait les classes Cocoa. En gros, d'après mes premières recherches dans la documentation, ça me semble assez proche de GWT (Google Web Toolkit) dans le sens où l'on décrit l'interface et que le framework semble s'occuper du reste.

Pour aller plus loin, il est intéressant de regarder :

Je vais regarder ça plus en détail car ça pourra certainement me servir dans un projet actuel. Enfin si j'ai le temps ;(

J'entends de plus en plus parler des logiciels de gestion de versions distribués tel que Mercurial ou Git, et j'utilise maintenant depuis quelques mois/années Subversion pour mes différents projets personnels ou professionnels. Je vais donc lancer une série de plusieurs billets pour partager mes différents tests et expériences sur l'installation et l'utilisation de ces outils sur Mac OS X.

  • Mercurial (À venir)
  • Git (À venir)
  • Subversion (À venir)

Création du groupe de travail OpenCL

17 06 2008 In: C

The Khronos Group, un groupe chargé de la normalisation dans le domaine des médias, qui s'occupe entre autre de OpenGL, vient de créer un nouveau groupe de travail concernant OpenCL. Le communiqué de presse nous permet donc d'en savoir un peu plus sur OpenCL :

  • Les membres : 3Dlabs, AMD, Apple, ARM, Codeplay, Ericsson, Freescale, Graphic Remedy, IBM, Imagination Technologies, Intel, Nokia, NVIDIA, Motorola, QNX, Qualcomm, Samsung, Seaweed, TI, and Umeå University
  • Permettre d'utiliser au mieux les architectures avec plusieurs GPU et des CPU multi-coeurs (many-core GPUs and multi-core CPUs)
  • De permettre d'utiliser la puissance de GPU et CPU à travers un langage proche du C (enable any application to tap into the vast gigaflops of GPU and CPU resources through an approachable C-based language)

Il n'y a pas encore de documents concernant OpenCL sur le site (en dehors du communiqué de presse), mais il sera intéressant de jeter de temps en temps un oeil sur ce site pour découvrir ce que permettra ce nouveau langage.

En savoir plus sur OpenCL

11 06 2008 In: C, Mac OS X

Si l'on sait une chose sur le langage OpenCL (qui sera disponible dans OS X 10.6), c'est que l'on ne sait pas grand chose le concernant. En dehors de la petite description sur le site d'Apple, c'est plutôt flou. Mais voici quelques éléments sur OpenCL :

Il faudra certainement attendre un peu pour avoir plus d'informations dans l'Apple Developer Connection.

Pour les personnes qui voudraient voir la keynote d'introduction de la WWDC, la vidéo est maintenant disponible sur le site Apple. Je pense que je vais la regarder tranquillement mais j'ai un peu peur de m'ennuyer avec 1h30 de présentation de logiciel divers et variés. En gros, cette keynote confirme juste les principales rumeurs de ces derniers jours.

Le plus intéressant est certainement les annonces sur Mac OS X 10.6 (aka Snow Leopard) qui proposera d'après le site d'Apple :

  • Un support de Microsoft Exchange dans les applications Mail, Address Book, et iCal.
  • Un meilleur support du 64-bit et jusqu'à 16 To de RAM
  • Quicktime X, plus rapide et avec plus de codecs

Et enfin les deux annonces vraiment intéressantes pour les développeurs :

  • “Grand Central”, qui devrait permettre une meilleur prise en charge des processeurs multi-coeurs dans nos applications
  • OpenCL (Open Compute Library), qui permettra d'utiliser la puissance des GPU. En gros un peu comme nVidia Cuda