Home » Opinión » ¿Objective-C o Swift? El dilema del desarrollador Apple
Swift vs Objective C

¿Objective-C o Swift? El dilema del desarrollador Apple

Fue la gran sorpresa de la noche. 4 años de intenso desarrollo de varios ingenieros de Apple del más alto rango y preparación para crear un lenguaje único en prestaciones. Con la versatilidad de un lenguaje más moderno como Ruby o Phyton, pero con mayor potencia que los pesos pesados como el C# o el propio Objective-C. Y absolutamente nadie sabía nada, ni lo sospechaba, cuando Apple presentó al mundo: Swift.

En nuestra página de recursos de programación podéis encontrar los enlaces a los ebooks que Apple ha publicado sobre el lenguaje de programación, totalmente gratuitos y en inglés. Pero si acabas de empezar en esto, ¿qué es mejor? ¿aprendes Swift, Objective-C o ambos?

Caso principiante

Esto de iOS y OS X tiene futuro. Crees que puedes empezar y no tienes experiencia en algún lenguaje de programación, o la tienes pero no en lenguajes con orientación a objetos.

Objective Swift
Nuestra recomendación es que empieces con Objective-C y no con Swift. Por una razón muy sencilla: la gran mayoría de recursos y librerías que vas a encontrar están concebidas en Objective-C, la mayor parte del material estarán en este lenguaje y con él es con el que aprenderás los conceptos para manejarte en Cocoa y Cocoa Touch o cualquiera de las APIs de programación de juegos casuales como Cocos2D o incluso el propio SpriteKit.

Además, la metodología de abstracción y orientación a objetos es más clara sintácticamente en Objective-C, por lo que para un principiante en objetos o alguien que venga de otro lenguaje, le será más sencillo y más fluido.

Por otro lado, puedes aprender la notación moderna de Objetive-C que permite definir y trabajar con variables, colecciones o diccionarios de una manera muy parecida a Swift. Si a esto le sumas el trabajar directamente en ARC (para una gestión de la memoria automática que te permite olvidarte de liberar memoria) tienes todos los ingredientes para conocer a fondo todas las posibilidades del lenguaje de Apple, esta súper-clase de C.

Caso desarrollador iOS

Ya sabes de programación, conoces Objective-C en mayor o menor medida y quieres saber si merece la pena aprender un lenguaje o servirá quedarte como estás.

Objective-C Book Recycled Swift

Podríamos decirte que sí, que podrás seguir trabajando durante mucho tiempo sin necesidad de conocer Swift. Todo Cocoa y las librerías de Apple están en Objective-C, son compatibles con este y siempre van a seguir entendiéndose. Nunca dejarán de hacerlo porque Swift no vive a sustituir, viene a sumar.

Existe una tendencia muy real a que haya un punto de inflexión importante y que a partir de ahora Swift sea un referente y la directriz a seguir. Cocos2D ya ha decidido dar el salto en su código fuente y ahora es Cocos2D Swift, la gran mayoría de grandes apps ya han decidido cambiar a este nuevo lenguaje.

Quedarte atrás puede que no sea lo más sabio y podrías, o bien aprenderlo para al menos entender cómo funciona o tirarte al río y pensar en usar Swift a partir de ahora, que no nos engañemos, es lo que Apple quiere.

Si eres un geek como yo, que vive por la renovación y el avance constante, la respuesta es clara: ya deberías saber Swift. Y si no, tranquilo que aquí podrás aprenderlo.

Swift, paso adelante

Está claro que la evolución es Swift: mejor, más rápido, más fácil, más cómodo. Pasar a él desde Objective-C es muy sencillo y no plantea excesivos problemas, solo el trabajo de aprender una nueva notación y que es menos sintáctico. Pero en su construcción se asemeja mucho a Objective-C. Analizándolo parece que está hecho así a propósito, para hacer más fácil la transición desde Objetive-C. El esfuerzo merece la pena porque solo estamos al principio de la carrera y la tendencia es clara: Swift ha venido para quedarse.

Acerca de Julio César Fernández

Analista, consultor y periodista tecnológico, desarrollador, empresario, productor audiovisual, actor de doblaje e ingeniero de vídeo y audio.

Otras recomendaciones

I Congreso Industria Conectada 4.0

No hay falta de talento digital, hay falta de inversión en formación de calidad

En este artículo de opinión, Julio César Fernández, busca y analiza los motivos por los que (según los altos responsables de algunas de las empresas tecnológicas más importantes de España) en España hay carencia de talento digital. Expone por qué esa falta deriva de una carencia en la inversión en formación de calidad que permita a los equipos ser competitivos y estar preparados para la velocidad a la que se mueve la tecnología.

  • Pingback: Introducción: Indicaciones del curso de Swift | AppleCoding()

  • Si vas a crear una nueva aplicación puede valer la pena hacerla en swift, pero perder el tiempo en reprogramar toda una aplicación o librería a swift, creo que es una perdida de tiempo y directamente de dinero.

    • Julio César Fernández

      En la mayoría de los casos, tienes razón ya que realmente estamos hablando de una nueva opción y que es perfecta para determinados nuevos proyectos que pueden sacar provecho de ello. Aunque también hay algunos casos donde la necesidad de aumentar el rendimiento de un desarrollo, puede justificar el cambio. El primer caso que se me ocurre es el framework Cocos2D, por ejemplo, donde SpriteKit ha demostrado tener un rendimiento muy superior y donde, tarde o temprano, re-escribirán para obtener ese extra de rendimiento que da Swift al estar más pegado al hardware que Objective-C.

      En conclusión, en la mayoría de los casos es como dices, pero habría que estudiar caso por caso. Desde luego hay una realidad indiscutible: si algo funciona y da el rendimiento necesario, ¿para qué tocarlo o re-escribirlo?.

      Un saludo y gracias por tu comentario.