GitHub

GitHub

UITableView + API GitHub + CocoaPods = Keep it Simple, keep it Stupid!

UITableView + API GitHub + CocoaPods = Keep it Simple, keep it Stupid!

Nous avons vu dans un article précédent comment utiliser RestKit pour se faciliter la vie lorsque nous travaillons avec des services web exploitant le format JSON. Toutefois, l’utilisation d’un framework fullstack peut se révéler contraignant dès lors que l’on sort du cadre pour lequel il a été destiné. Malheureusement, cela arrive souvent assez rapidement.

Nous verrons dans cet article comment reproduire une application similaire à celle construite grâce à RestKit, sans pour autant abandonner l’idée de gagner du temps grâce à l’utilisation de quelques librairies bien choisies :

Le monde iOS, comme tout environnement mature, dispose de nombreuses librairies Open Source intégrables dans vos projets via l’utilisation d’un Dependency Manager. Dans notre cas, nous utiliserons CocoaPods déjà présenté dans un article précédent.

La création de ce tutoriel fait suite à une présentation en XKE d’une session d’1h30 d’introduction aux développements iOS. Ce tutoriel est donc réalisable en un temps raisonnable en suivant les instructions ci-dessous.

Création du projet

Avant d’utiliser CocoaPods, vous devrez créer un projet de type Empty Application pour iOS via XCode:

Vous aurez ensuite à créer un fichier Podfile à la racine de votre projet XCode avec les dépendances suivantes:

platform :ios, '5.0'
pod 'JSONKit', '1.5pre'
pod 'Underscore.m', '0.2.0'
pod 'AFNetworking', '1.1'
pod 'MBProgressHUD', '0.6'
pod 'SVPullToRefresh', '0.4'
pod 'SDURLCache', '1.2'
pod 'AFHTTPRequestOperationLogger', '0.10.0'
pod 'DCKeyValueObjectMapping', '1.3'

Puis, vous devrez exécuter la commande suivante pour générer le workspace et intégrer le code des dépendances:

pod install

Il faudra alors relancer votre projet en ouvrant le fichier *.XCodeWorkspace, plutôt que le fichier *.XCodeProject. Vous serez alors prêt à développer votre application.

(suite…)

Intégration de RestKit avec une UITableView

Intégration de RestKit avec une UITableView

Nous avons découvert dans un précédent article comment utiliser RestKit pour récupérer des structures de données JSON depuis une ressource HTTP et les mapper sur un modèle métier. Nous allons voir dans ce nouvel article comment adapter le code existant pour afficher les résultats dans une UITableView iOS. Pour cela, nous allons continuer à travailler avec les APIs GitHub, et nous fixer pour objectif d’afficher les utilisateurs d’une organisation.

Notes: 

  • La version actuelle de RestKit est la 0.20. Cet article met en oeuvre la version 0.10.

Installation

Dans un premier temps, nous allons créer un projet adapté pour iOS via Xcode. Vous devrez sélectionner dans l’assistant de création de projet une application pour iOS avec un template de type Empty Application.

Capture-d’écran-2012-10-28-à-09.27.53.png

Dans un second temps, nous allons cibler dans notre fichier de Podfile la plateforme iOS, puis ajouter une dépendance appelée SDWebImage qui sera présentée plus tard:

platform :ios

pod 'JSONKit',                          '1.5pre'
pod 'LibComponentLogging-Core',         '1.2.2'
pod 'LibComponentLogging-NSLog',        '1.0.4'
pod 'Reachability',                     '3.0.0'
pod 'RestKit',                          '0.10.1'
pod 'Underscore.m',                     '0.1.0'
pod 'SDWebImage',                       '2.6'

Les autres dépendances ont été ajoutées lors de notre précédent article. Pour plus d’informations sur l’utlisation de CocoaPods, c’est par ici

Description de l’API GitHub

En complément de l’accès au listing des repositories d’une organisation, nous allons utiliser une seconde ressource de l’API GitHub qui permet de lister les utilisateurs d’une organisation. L’URL est la suivante:

https://api.github.com/orgs/:organization/public_members

(suite…)

Publication du code source de l’application Devoxx Mobile et retour d’expérience

Publication du code source de l’application Devoxx Mobile et retour d’expérience

La semaine dernière Xebia annonçait la sortie de l’application mobile Xebia pour Devoxx France, ainsi que la publication prochaine du code source de l’application. C’est aujourd’hui chose faite puisque vous pouvez le consulter sur son espace GitHub à l’adresse suivante : https://github.com/xebia-france/devoxx-mobile.

Le code source est publié sous license MIT. Je vous encourage à aller le consulter, le forker ainsi qu’à partager vos retours d’expériences autour du développement d’applications mobiles basées sur des technologies web.

Génèse et objectifs

Le développement de l’application s’est focalisé autour des axes et objectifs suivants :

  • Explorer les technologies web pour développer une application mobile, que cela soit par l’utilisation d’HTML5 et CSS3 via le cadre de développement proposé par la librairie jQueryMobile ou bien par l’intégration de différentes librairies JavaScript telles que Require, Backbone, Underscore ou Lawnchair.
  • Mettre en oeuvre PhoneGap et son usine logicielle en ligne PhoneGap Build pour délivrer des applications web encapsulées dans des coquilles natives afin de pouvoir les publier sur les markets Android, Chrome ou bien encore iOS.
  • Fournir une application qui sera utilisable sur l’ensemble des matériels du marché et vérifier dans quelle mesure les applications mobiles web peuvent se comparer aujourd’hui face aux applications natives. 
  • Développer une application ayant une base de code unique afin d’éviter d’avoir à gérer la fragmentation des plateformes.
  • Etre en mesure de répondre à un cahier des charges complet en un temps réduit. Ce cahier des charges comprenant:
    • Le développement des différents écrans applicatifs : Liste des sessions par journée avec affichage complet des détails, ainsi que les listes et détails des speakers, des salles, et des tracks.
    • La gestion et le stockage des favoris (On parle ici des sessions)
    • La présentation du programme Xebia pendant les 3 jours de la conférence
    • Une application étant capable de fonctionner en mode offline avec synchronisation et stockage des données
    • Un affichage de la timeline twitter XebiaFr et DevoxxFr
    • Un fonctionnement effectif sur un ensemble étendu des matériels allant du téléphone au PC en passant par la tablette quelque soit l’OS

(suite…)

Lancement du PaaS « Cloud Foundry » par SpringSource

Lancement du PaaS « Cloud Foundry » par SpringSource

Vous n’avez peut-être pas suivi l’actualité ces derniers jours, mais SpringSource/WMware vient de lancer une version toute nouvelle de son offre Cloud via le site CloudFoundry.com. Cette offre de type PaaS est basée sur le projet Cloude Foundry, qui n’est autre qu’un projet open-source sous licence Apache 2.0 hébergé sur GitHub.

A l’occasion de cette sortie, j’ai rédigé un billet de présentation de Cloud Foundry sur le blog de Xebia. Si vous être curieux de ce qui peut se faire aujourd’hui en terme d’offre PaaS, je vous invite à aller lire mon article à l’adresse suivante:

En vrac, et pour teaser, SpringSource/VMware propose ni plus ni moins qu’une plateforme Cloud multi-langage: Java, Ruby, JavaScript, et autre langages de la JVM. Dans la foulée la plateforme propose différents supports de stockage de données: Redis (Base Clés/valeurs), MongoDB (Base Document), MySql (Base relationnelle). Il est par exemple possible de créer son application Web avec des frameworks tels que Rails, Grails ou bien encore avec Node.JS.

Tout cela, est bien alléchant et donne envie d’aller essayer cette offre. A côté de cela, il ne faut pas oublier que SpringSource/VMware propose également en preview une offre Dev at Cloud nommée Code2Cloud (Git, BugTracker, Hudson, …), ainsi qu’une suite logicielle basée sur Eclipse nommée STS (Spring Tool Suite) permettant d’exploiter parfaitement tous les produit SpringSource/VMware.

Aucun prix n’a pour le moment été communiqué, l’essai de la beta de la plateforme est pour le moment gratuit, mais l’attente d’activation de son compte semble longue. Vous pouvez toujours vous lancer dans le développer d’une application basée sur l’offre de SpringSource/VMware, en démarrant un projet avec STS. Une belle introduction est proposée aux URL suivantes: