ultima support lamr ht201222 apple actualizar actualizacion iphone macos

iphone - lamr - https support apple com es es ht201222



Salto de iOS a OSX (4)

Al escribir una aplicación OS X moderna, normalmente usará Enlace de datos para conectar su modelo (s) a su (s) vista (s), a través de controladores genéricos como NSArrayController .

Envolviendo la cabeza alrededor de Cocoa Data Binding es una tarea desafiante para los recién llegados, al principio muy frustrante y luego muy emocionante. Si su enlace de datos maestro puede cambiar fundamentalmente la forma en que diseña su software.

El problema es que ninguna de sus aplicaciones de iOS se diseñó teniendo en cuenta la vinculación de datos, y ese es un puente que tendrá que cruzar para ser un desarrollador de OS X feliz y efectivo (junto con aprender las diversas diferencias de SDK).

Quiero comenzar a aprender a programar para OSX, pero solo he programado para iOS.

¿Cuáles son las diferencias significativas en un nivel de programación que no sean cuestiones relacionadas con el hardware como memoria, potencia de procesamiento, etc.

En términos de la API y la programación real, como elementos para ser utilizados por el mouse y el teclado en lugar de la pantalla táctil.

Me gustaría recibir algunos consejos de personas que tengan experiencia con este y posiblemente buenos enlaces de libros o enlaces de tutoriales para comenzar.

Gracias


Déjenme decirlo de esta manera: no intente trasladar todas sus cosas a la Mac sin pensar en los principios de diseño. Muchos desarrolladores buscan subirse al carro de los desarrolladores de Mac sin poner tiempo en sus aplicaciones. Simplemente mover aplicaciones de iOS a Mac no genera buenas interfaces.

Acéptalo, iOS está construido para pantalla táctil, mientras que Mac no lo es. Por lo tanto, simplemente transferir su interfaz podría funcionar, pero es malo y está mal visto por muchos usuarios. Lo que haría es simplemente descargar algunas aplicaciones conocidas de Mac (las demos funcionan bien), y solo estudiar cómo se establece la interfaz en comparación con iOS. Hay conceptos similares, pero hay más diferencias que similitudes.

La diferencia más fundamental es que la interfaz en el iPhone solo puede tener una ventana, mientras que la Mac puede tener ventanas ilimitadas (teóricamente). Rellenar todas tus vistas en una ventana simplemente no funciona en la Mac. Los usuarios esperan ventanas múltiples y, sinceramente, es una forma mucho mejor de hacerlo.

Así que mi sugerencia es aprender Cocoa desde cero, y luego pensar en transferir tus aplicaciones a ... no simplemente portándolo, sino creando una interfaz completamente nueva. Su modelo todavía se puede usar, porque ambas plataformas usan Objective-C.

Plataformas tan similares, pero tan diferentes. :)


Fui al otro lado hace 2 años y tuve un momento inesperadamente difícil para mudarme.

OS X es mucho más antiguo y se creó antes de Objective-C 2.0, por lo que no hay muchas propiedades en las clases heredadas de AppKit / CoreFoundation. La mayoría de mi código anterior de iOS se ve así:

[[self navigationController] popViewControllerAnimated: YES];

La IU: la mayoría de la jerarquía de resoponder / vista / control es similar, pero ahora se llama NS (del latín para NextStep) en lugar de UI (latin para pantalla pequeña).

Controles:

un poco diferente, conecta una acción a un control y el control decide cuándo enviar el mensaje de acción, es decir. si una barra de desplazamiento está configurada para enviar continuamente el mensaje o no. que es ligeramente diferente a la forma en que lo hace UIkit, donde te conectas a un tipo de evento: valor cambiado, retoque adentro, etc.

Obtiene más de una Ventana en OS X que le brinda nuevas oportunidades y desafíos. Debe preocuparse mucho más por la jerarquía de los respondedores .

Las pequeñas cosas siempre te atraparán, como en UIBezierCurve, los métodos se nombran de forma ligeramente diferente a NSBezierCurve, addLineToPoint: lugar de lineToPoint:

Presta atención a las advertencias del compilador y toma un nuevo libro y estarás bien.


Las 2 plataformas se han vuelto mucho más similares a lo largo de los años, con muchas API OS X migrando a iOS. La principal diferencia creo que son las piezas de UI. En OS X, usa AppKit para presentar su UI en lugar de UIKit. (Aunque puede usar Interface Builder para ambos).

Algunas API han realizado el viaje inverso: CoreLocation solía ser un marco solo para iOS y ahora está disponible en OS X.

Otros cambios:

  • Los modelos de eventos son diferentes (NSEvent vs UIEvent).
  • CoreImage está disponible en OS OS X

Dependiendo de su nivel de experiencia, comenzaría con algunos de los ejemplos de AppKit proporcionados por Apple en Xcode. HTH