Cambio de vista simple
Tanto para los diseñadores y desarrolladores de aplicaciones móviles para iOS como para aquellos otros que tengan curiosidades acerca del funcionamiento de las aplicaciones móviles, iOS Human Interface Guidelineses un documento elaborado por la propia Apple, que se puede descargar gratuitamente desde la iTunes Storepara su acceso desde la aplicación iBook desde hace pocos meses, en el que se ofrece precisamente eso, todos los aspectos posibles que tienen que cumplir la interfaz de las aplicaciones desarrolladas para la plataforma iOS a modo de normas, recomendaciones y consejos, incluyendo aspectos cromáticos, empleo de tipografías, disposición de textos, etc.
Anteriormente, toda esta información estaba disponible solamente en el portal de desarrolladores, como señalan desde Gizmodo, pero que recientemente ya es posible su consulta a través de dispositivos móviles iOS que cuenten con la aplicación iBooks desde la versión 1.5 en adelante, o desde equipos de escritorio OSX con iBooks 1.0 en adelante. Eso sí, este documento, de más de 300 páginas, está disponible solamente en ingles, aunque cuenta numerosas ilustraciones que puede permitir ser medianamente entendible por lectores de otros idiomas.
De este modo, aquellos interesados en las aplicaciones móviles para iOS ya conocerán los patrones que Apple exige y recomienda a los desarrolladores de aplicaciones, con la idea de que el funcionamiento de las aplicaciones sea similar, evitando así la confusión de los propios usuarios a la hora de utilizar las mismas en su día a día.
Vistas de tabla
Cuando construimos cualquier aplicación IOS, tarde o temprano mostraremos datos en una ventana con una vista de tipo UITableView.
Tal como comentaba en el último tutorial en mi juego me puede interesar tener una pantalla donde mostrar las puntuaciones y podría ser un buen modo de hacerlo.
A mi me gusta hacer una aplicación nueva desde el principio donde probar de un modo aislado lo que quiero hacer y después trasladarlo a la aplicación principal: de ese modo lo haces dos veces: la primera guarreando un poco y la segunda, en plan kata, tratando de mejorar el diseño. Os muestro las capturas de la primera aplicación ejemplo con el código imprescindible.
Creamos un proyecto de tipo vista simple en XCode 4.5.1.
Lo llamamos EjemploTablaDatos.
La aplicación se basará en una primera ventana donde introduciremos datos de puntuaciones. Esto realmente no existirá en la aplicación final sino que al terminar la partida se grabarán automáticamente. El código será el mismo pero ahora lo simulamos con un botón.
Después tendremos nuestra tabla de datos donde visualizaremos los datos introducidos.
Al pinchar la flecha del detalle volveremos a mostrar los datos.
Lo primero es ir a XCode y montar el StoryBoard completo.
Partimos de la configuración por defecto:
Tenemos un ViewControler pero vamos a querer navegar entre pantallas por los que necesitamos un Navigation View Controller.
Persistencia de datos
Os recomiendo buscar en Google: «appdelegate vs singleton» y encontraréis otros buenos artículos dando solución al problema.
Básicamente podemos: O bien usar un objeto global a toda la aplicación y añadirle la estructura de datos o bien utilizar una variable global. Bueno, hay una variación a esta última que es crear un Singleton para garantizar que hay una única instancia del objeto en memoria y que los accesos están sincronizados (más vale prevenir problemas de concurrencia).
Yo lo voy a hacer del modo más sencillo posible (que no el mejor) y voy a aprovechar el objeto que representa el delegado de la aplicación.
Desde cualquier parte de la aplicación se puede acceder a través de la linea:
Uno de los principales problemas que se puede percibir antes de empezar es que al AppDelegare le demos más responsabilidad del que le corresponde por lo que voy a crear una clase gestora (recordad las clases de análisis) que me permita interactuar con mi almacén de datos. De este modo, desde cualquier sitio accederé a la instancia de esta clase gestora y no contaminaré la clase que representa la aplicación.
Sería casi una buena idea modelar lo que vamos a hacer antes de hacerlo. Os recomiendo revisar un antiguo tutorialsobre el tema.
Respecto a UML me voy a bajar Visual Paradigm for UML versión 10.0 Community Edition para Mac y así aprovecho y lo pruebo.
La clase AppDelegare tendrá una propiedad de tipo Gestor (que es un interfaz marcador) que será inicializado a un objeto de la clase GestorPuntuaciones. GestorPuntuaciones representa una colección de objetos de tipo Puntuación y los métodos para manipularlas.
Nuestras vistas sólo usarán el AppDelegate para obtener el Gestor adecuado por lo que el nivel de acoplamiento entre el AppDelegate y el GestorEspecífico es bajo. De echo podría ser inexistente si se le inyectase o utilizase una factoría para conseguirlo. De momento no vamos a complicar más el problema porque sino me voy a ir del objetivo de la aplicación: lo que tampoco podemos hacer es obviar la complejidad en los diseños de cualquier tipo de aplicación, sobre todo cuando hagamos muchas para muchos clientes y queramos ir construyendo un «framework» de buenas soluciones.
Tipo de Licencias para desarrolladores.
Actualmente existe 4 tipo de licencias, las que detallare a continuación:
- Account Developer WebSitetLicencia gratuita, solo requiere registrarse en la Web de Apple. Permite acceder a: .- Documentación técnica (Versiones Finales) .- Herramientas de desarrollo (Versiones Finales) .- Probar las aplicaciones en el Simulador de XCode.
- IOS University ProgramsLicencia gratuita, pero solo para algunas Universidades que se encuentre incluidas en el programa..- Permite instalar las aplicaciones en el dispositivo
- IOS Developer Program Licencia con un costo de USD 99 al año, adicionalmente se tiene acceso a: .- Documentación técnica (Versiones beta) .- Herramientas de desarrollo (Versiones beta) .- Descarga de firmwares Betas para probar en la App a desarrollar. .- Permite instalar las aplicaciones en el dispositivo, previo registro en la App Store. .- Permite publicar y comercializar aplicaciones en la App Store con unos beneficios del 70% sobre el precio de venta que definamos
- IOS Developer Enterprise Program Licencia con un costo de USD 299 al año, esta orientada a las aplicaciones corporativas privadas. Permite acceder a: .- Publicar aplicaciones en forma privada para ser instaladas en los dispositivos de los empleados
Para inscribirse en el portal deben realizarlo en : https://developer.apple.com/account/Esta cuenta pueden utilizarla para acceder al portal de desarrollador y para acceder al iTunes Connect que es donde se puede distribuir las aplicaciones.
No comments:
Post a Comment