La última WWDC ha dejado inquietos a los desarrolladores Mac menos "modernos". Apple se plantea cambios en cómo se pueden hacer programas para Mac OS X.
Y lo peor es que (como veremos) los cambios no están todos confirmados, ni son todos públicos aunque lo estén. De modo que este artículo está en la categoría "Rumores" aunque todo lo que cita son datos confirmados.
Cocoa y Carbon
Hay dos modos (y medio) de programar una aplicación para Mac OS X.
Uno puede apuntarse a “la línea oficial” y programar en el entorno Cocoa, invocando las funcionalidades Core, que permiten a cualquier aplicación sacar partido de potentes prestaciones del sistema y mejorar cuando éste mejora, como comentaba Andrew Stone en esta entrevista.
O bien, uno puede desarrollar “como antes” de la llegada de Mac OS X, en lo que se llama el entorno Carbon. A su vez, Carbon tiene un nivel mínimo para garantizar la compatibilidad (Graphite Carbon) y un nivel óptimo, que saca partido de casi todas las prestaciones del sistema (Diamond Carbon) y para el que Apple seguía dando soporte.
Hasta ahora mismo, la propia Apple tenía buena parte de sus aplicaciones en Carbon: el propio Finder es Cocoa sólo a partir de la llegada de Leopard. Gran parte de las aplicaciones más pesadas de la industria son Carbon, como Photoshop y Office.
Y Apple había dado a entender que seguiría dando soporte a Carbon al menos hasta los 64 bits.
32 y 64 bits: Apple se concentra en Cocoa
Desde hace ya unos años, empezando con el G5, Apple trabaja con 64 bits, y con Leopard ha vuelto a poner a disposición de los desarrolladores la capacidad de crear aplicaciones 64 bits que corran sobre Mac OS X.
Ahora bien, en la Keynote y en la WWDC ha ido quedando claro que Apple quiere ir dejando de dar soporte a Carbon según avanza hacia los 64 bits. La imprecisión con lo que lo ha dicho ha asustado a muchos desarrolladores ( y gracias a ello, Juan y otros han lanzado una investigación muy interesante en los foros ).
Parece, en resumen, que Apple podría dar pleno soporte a Carbon en 64 bits (y que ya tiene todas las piezas necesarias, o poco menos) pero no va a hacerlo. En concreto, hay algunas cosas de Carbon que tendrán que sustituirse por llamadas a Cocoa. No son muchas, más que nada se limitan al interface gráfico de usuario, pero parece que indican por dónde quiere ir Apple.
Lo que no se sabe es qué partes de Carbon seguirán evolucionando y cuáles (como las anunciadas) no llegarán a los 64 bits.
Lenguajes y Objective-C 2.0
Otro de los aspectos del desarrollo para Mac OS X es que, para programar en Cocoa, era prácticamente obligatorio usar el entorno de Apple (XCode) y el lenguaje Objective-C. Se trata de una variedad de C mucho más concreta, sencilla y eficiente que C++, pero C++ es la más difundida, especialmente entre aquellos desarrolladores que producen versiones para varias plataformas partiendo del mismo código base.
Y esos desarrolladores tienen muy pocas ganas de cambiar de entorno, porque no quieren ponerse a aprender un nuevo lenguaje que tiene sus propias técnicas, ni un entorno nuevo.
Ahí es donde está la segunda gran duda: ¿qué va a cambiar en la forma de desarrollar para Cocoa? Porque parece que va a haber cambios serios.
Apple ha incluído una sola aplicación de 64 bits en Leopard, y es XCode 3.0. Y durante las sesiones de la WWDC, e incluso antes, se ha venido hablando mucho de los “puentes” que Apple ha creado para poder desarrollar en XCode usando lenguajes como Ruby y Python, lo que hará mucho más fácil crear aplicaciones y abrirá la puerta a muchos de los desarrolladores que trabajan con ellos... y no olvidemos que son dos de los lenguajes punteros del momento, y no por casualidad.
Objective-C también tiene una nueva versión 2.0 de la que no se sabe todo aún (apenas que hay gestión de memoria automatizada y algunas mejoras serias que deberían acelerar y simplificar el desarrollo), y no todo lo que se sabe es público de momento. El tema dará para bastante más.
En resumen
Aunque Objective-C sigue siendo el lenguaje natural de Cocoa, y los que usan C++ siempre tendrán reciclaje pendiente para usarlo, las cosas son menos duras de lo que parecen... excepto (y ésto es muy importante) para los que quieran mantener una sola base de código y al mismo tiempo sacar partido de los 64 bits. Porque antes o después, a lo largo de los próximos años, parece que Apple quiere ir dejando caer el soporte a Carbon.
A menos, claro, que (otra vez) las grandes empresas obliguen a Jobs a portarse bien. Es cierto que este año, la WWDC estaba plagada de desarrolladores entusiastas... pero Jobs sigue necesitando a los de siempre.
Fuente: http://www.macuarium.com