2010-09-03 5 views
1

Je dois faire une application iPhone pour une entreprise qui a un système basé sur le Web, et veut devenir mobile. Son connu à l'avance que l'interface utilisateur de l'écran va changer assez souvent (ajout de nouvelles étiquettes, boutons, etc). En outre, de nombreux éléments sur l'écran ont une situation de type Si (condition) puis (visible) sinon (caché). Par exemple, if (user.isMember) then (showLoginButton) else (showRegisterButton) Tout ceci est un scénario assez commun pour les entreprises qui souhaitent utiliser leur we-offer en tant qu'application mobile.
Le défi est maintenant de savoir comment écrire une interface utilisateur flexible. Si j'utilise l'approche standard de type UIView et que j'ajoute des étiquettes, des boutons, etc., cela devient statique. De plus, étant donné que beaucoup d'éléments (par exemple, dans l'exemple ci-dessus, loginButton, registerButton, retrievePasswordButton) se chevauchent (puisqu'ils devraient se trouver à l'emplacement exact sur le canevas), Interface Builder semble encombré.iPhone applications de développement flexible UI

Une solution que je peux voir est d'utiliser le contenu HTML dans UIWebView. Considérant les navigateurs HTML ont été définis avec le concept de Forms à l'esprit, cela a un sens logique. Il y aurait des frais généraux de recherche/remplacement pour les valeurs dans le fichier html stocké localement (appelez le modèle maintenant), mais devinez la flexibilité fournie en sera digne. Je voudrais inviter des avantages/inconvénients pour cette approche, et toutes les autres approches qui peuvent avoir travaillé pour vous dans le passé pour faire des interfaces utilisateur flexibles.

Répondre

0

Il existe au moins deux approches de base, parmi beaucoup d'autres. Le premier, comme vous l'avez mentionné, consiste à utiliser HTML5/CSS/Javascript stocké pour chaque formulaire et à les exécuter dans les UIWebViews intégrés. Mais il n'est pas nécessaire de faire une recherche/remplacement sur l'appareil. Au lieu de modifier un modèle, il suffit de télécharger une nouvelle «page Web» complète pour tout formulaire qui doit être modifié ou mis à jour. Très flexible, si tous les éléments dont vous avez besoin sont efficacement "webifiables".

La deuxième approche consiste à utiliser une interface utilisateur pilotée par les données (une vidéo Apple WWDC 2010 sur cette technique). Fondamentalement, pour chaque vue et chaque élément d'interface, au lieu de le placer dans une plume ou de le créer à partir de paramètres codés, vous lisez la base de données ar/w pour tout créer: taille, position, titre, couleur, valeur, méthode (s) qu'il appelle, etc. Pour modifier, vous téléchargez les mises à jour de cette base de données. Si vous avez besoin d'une logique d'application UI + native pouvant être mise à jour, vous pouvez utiliser une combinaison des deux méthodes ci-dessus: un moteur UI piloté par les données avec des paramètres de chaîne facultatifs consistant en Javascript pour tout objet nécessitant une logique personnalisée; , changements d'état, etc.

+0

Merci. Si ce n'est pas trop difficile, pouvez-vous m'envoyer le lien? Mon googling ne m'a pas trop loin – Amarsh

+0

J'ai trouvé cet outil - http://code.google.com/p/iphonical/ – Amarsh