
Sigue leyendo por qué no es lo que parece, todos sabemos que Safari para Windows no es lo mismo que Safari para Mac pero la cosa no solo se queda en que uno funcione muy mal y otro funcione a medias. Muchos pensamos que al crear Safari para Windows Apple portaría todo su lenguaje de programación llamado objective-c para el sistema operativo de Microsoft pero se ha descubierto que esto esta bastante alejado de la realidad.
Portar todo un lenguaje de programación para otro sistema operativo es una proceso realmente lento y duro así que Apple tendría que haber empezado a crear Safari hace mucho tiempo. Al contrario Apple ha utilizado lenguajes de programación nativos y propios de Windows. Concretamente la única similitud con Safari para Mac es su motor de renderizado llamado WebKit y que ya usa iTunes para Windows así que realmente portar Safari ha costado poco trabajo.
Enlace: TUAW


En primer lugar, WebKit está escrito, desde el principio, en C++. En Mac OS X lo que tenemos son varios envoltorios Cocoa que permiten embeber vistas WebKit en cualquier aplicación, pero el WebKit en sí también está escrito en C++ en Mac OS X.
Además, como WebKit está pensado para ser modular, y Safari para Windows se parece más a la estructura de Konqueror 4 + WebKit que a la de Safari para OS X.
Se puede ver, por ejemplo, en la zona de visualización del WebKit:
http://trac.webkit.org/projects/webkit/browser/trunk/WebCore/rendering
Me has ganado, juande. Webkit nunca ha estado hecho en Cocoa. Es famoso por ello.
C++ es un estándar y excepto por localizaciones menores suele poder compilar en múltiples plataformas sin problema.
A los de TUAW están reportando como noticia algo que es información de dominio público pero en esta entrada habéis entendido mal el artículo original y su intención.
El artículo de TUAW lo que dice es que no porque haya Safari en Windows es que va a haber Cocoa en Windows y aclara porqué es así. Es importante hacer esa mención porque muchos sitios de noticias ya especulaban que Cocoa para Windows debía estar a punto de turrón (esto es un deseo colectivo de muchos, que no pueden usar Xcode si quieren vender en Windows).
Finalmente: Objective-C existe para Windows. Es parte de gcc y por lo tanto es compilable en Windows y en Linux. El lenguaje es Objective-C que es a su vez un superset de C++ (en sí mismo un superset de C). Cocoa es un conjunto de frameworks (no un lenguaje) que son las que no existen en otras plataformas (públicamente). Algunas de ellas pueden ser equivalentes a proyectos existentes como GNUStep y otras no.
Asi pues, hay aplicaciones, especialmente las portadas directamente de NeXT, que si se podrian compilar en Windows. Hay otras, las desarrolladas recientemente en Xcode, que no se podría con herramientas actuales.
Cool.