Facebook « open source » son app iPhone avec Three20
Ceux qui me connaissent vont être surpris ; en effet, pour une fois, je vais louer les mérites de Facebook. Je ne parlerais pas du concept, ni du réseau social en lui même, mais des conséquences de son arrivée dans le monde iPhone : la firme à créé une application mobile, et le cœur de cette application a été rendu Open Source, sous le nom de Three20. Cette bibliothèque est une formidable ressource, dans le sens ou permet aux développeurs de réutiliser certaine des fonctionnalités de l'application qui sont réellement intéressantes, telles que le Launcher (écran au fonctionnement similaire au springboard de l'iPhone) ou des fonctionnalités avancées de persistence (fermeture/ouverture) de l'application.
Au delà de ces deux exemples, plus orientés vers le "moteur" de l'application, on peut retrouver toutes les fonctionnalités de l'application au niveau graphique, telles que celles ci :
A l'instar du catalogue des composants graphique d'Apple, Three20 propose également un projet Xcode qui, une fois compilé, vous permet de jouer avec toutes les fonctionnalités. Vous pouvez le trouver ici sur leur dépôt Git.
Quelques détails techniques : la bibliothèque est globalement découpée en 4 parties (core, network, ui, style).
- Core : permet de gérer des actions bas niveau dans l'application, et fournit des helpers pour le développement.
- Network : Gestion du cache, des requêtes asynchrones, des connections aux services (Twitter, Flickr, ...)
- UI : Fournit l'aspect de l'application ; galeries photos, tables qui se réactualisent d'après des données de webservices, composeurs de messages élaborés, élements de style différents de ceux Apple.
- Style : Permet d'appliquer des styles CSS sur certains composants natifs pour faire un rendu plus proche de ce que l'on souhaite.
Pour le moment, un des rare défauts est la relative aridité de la documentation ; cependant, celle ci étant aussi placée sous GitHub, nul doute qu'elle évoluera assez rapidement lorsque le projet deviendra de plus en plus connu. Ce petit désavantage est limité par le fait que de nombreux exemples sont présents sur le dépôt, et peuvent être utilisés pour comprendre le fonctionnement de l'API.
Il s'agit en tout cas d'une initiative à saluer, et que tous les concepteurs et développeurs d'applications iPhone apprécieront à sa juste valeur !
Quelques liens :
- Le dépôt Git du projet : http://github.com/facebook/three20 (par la même occasion, jetez un œil aux autres projets Open Source de Facebook)
- Le site de la librairie : http://three20.info