lundi 5 mars 2012

Plus l'iPhone 3 Development Update

L'écriture de Plus l'iPhone 3 de développement commence à se déplacer plus rapidement, du moins en termes de nombre de pages que nous sommes barattage. Il ne va pas aussi vite que nous aimerions, et loin d'être aussi rapide que Apress voudrais, malheureusement, mais il is aller plus vite. Les bonnes nouvelles sont que nous sommes vraiment heureux avec ce que nous avons écrit jusqu'ici. Plus l'iPhone 3 de développement n'est pas seulement plus de ce qui était en Début du développement de l'iPhone 3. Nous avons une attention beaucoup plus grande dans ce livre sur la conception d'application et sur l'écriture de code pour une réutilisation maximale. De nombreux objets que nous écrivons peut être utilisé tel quel dans vos propres applications. Nous supposons que le lecteur a fait un certain développement et est prêt à prendre les choses à un autre niveau.

Nous sommes en train de terminer les chapitres en réseau des applications. Notre plan initial était de simplement couvrir les réseaux GameKit via Bluetooth, ce qui est relativement simple puisque Apple propose objets de haut niveau qui gèrent tous les aspects gnarley pour vous. Nous avons été à l'origine not va couvrir jouer en ligne via des connexions réseau régulier. Notre pensée originale était que parce qu'il n'ya pas d'objets de haut niveau encore pour l'envoi et la réception sur le réseau qui conviennent à jouer en réseau, que de faire un chapitre bien jouer en ligne, il faudrait un chapitre vraiment long. Longue tant en termes de nombre de pages, et en termes de combien de temps il nous faudrait écrire, et nous n'avons pas envie qu'on pouvait se permettre une autre long chapitre de la lumière de notre calendrier.

Pour être parfaitement honnête, j'avais espéré que GameKit serait ajouter le support pour jouer en ligne et ensuite le tout serait devenu un point discutable car le chapitre GameKit serait tout le nécessaire. Apple peut toujours ajouter cette fonctionnalité à GameKit à un certain point (il ya certainement des indices dans GameKit), mais ils n'ont pas encore, et franchement, il n'ya tout simplement pas un bon endroit pour aller voir comment faire jouer en ligne. Toutes les informations sont là, mais personne n'a mis toutes les étapes ensemble dans un unique et facile, placez complète, au moins aussi loin que j'ai pu trouver.

Ainsi, après quelques discussions avant et en arrière avec Dave, nous sommes arrivés à la conclusion que nous avions besoin pour couvrir le jeu en ligne en plus au chapitre GameKit droites dans notre tableau original de matières. Nous avons décidé de le faire dans un chapitre subséquent à ce chapitre GameKit. Nous prenons le jeu que nous avons créé dans le chapitre GameKit et ajouter le jeu en ligne à elle. Nous montrons comment utiliser Bonjour pour permettre à l'utilisateur à trouver d'autres pairs (à peu près la même manière ne GameKit via Bluetooth) et de montrer comment se connecter à eux et d'échanger des données d'une manière similaire à GameKit donc nous n'avons pas de façon substantielle réécrire le l'application de la logique. L'utilisation de limites Bonjour jouer pour adversaires sur le même sous-réseau (en gros, les téléphones connectés au même routeur ou station de base Wi-Fi), mais les techniques sont les mêmes pour jouer sur Internet, et nous allons avoir un encadré qui montre comment se connecter à des ordinateurs distants basée sur un nom DNS ou l'adresse IP et le port. L'autre chose que cela offre plus de GameKit est que le code peut être utilisé sur un Mac, vous pouvez donc écrire du code qui permet une application sur un Mac à un parler sur un iPhone, ce qui ouvre tout un tas de possibilités.

Comme avec les chapitres Core Data, notre attention s'est portée sur l'écriture de code générique pour maximiser la réutilisation, et je pense que nous avons fait un bon travail dans la mesure où les choses jouent en ligne est concernée. Nous avons créé une classe qui fonctionne de manière similaire à la classe de GKSession GameKit. Vous lui passez cas NSData à envoyer, et il prend soin d'envoyer et de recevoir les données, ré-assembler les paquets, et de s'assurer de son délégué reçoit les données dans le même ordre qu'il a été envoyé dedans Vous devriez être en mesure de simplement déposer cette classe (avec une autre classe de soutien) dans vos autres projets et de les utiliser tels quels, ce qui rend relativement facile à mettre en œuvre le jeu en réseau. Pour ajouter le jeu en ligne pour une application existante avec GameKit cela devrait aussi être relativement trivial puisque c'est ce que nous faisons dans le chapitre.

Pour ceux qui ont demandé à ce que les fruits seront sur le nouveau livre, ce sera une orange sanguine.

Je ne sais pas si le couvercle vers la gauche est définitive, mais c'est ce qui est sur Amazon dès maintenant, donc je pense que c'est normal de partager. Jusqu'à ce qu'il soit approuvé, il pourrait changer définitivement, mais ce n'est l'image de couverture, vous verrez si vous tirez-le sur Amazon. Notez que la description sur Amazon n'est certainement pas définitif, soit.

Aucun commentaire: