Vientos de cambio en el desarrollo móvil: ¿Swift u Objective C?
Fernando Rodríguez | Última modificación: 11 de abril de 2024 | Tiempo de Lectura: 2 minutos
Algunos de nuestros reconocimientos:
Desde que Apple anunció el año pasado su nuevo lenguaje de programación llamado Swift (que significa golondrina y también rápido y ágil) han llovido ríos de tinta sobre el mismo. A los más viejos del lugar, nos recuerda mucho la “marea Java” que recorrió nuestra industria hace ya algunos años. Pase lo que pase con Swift, está claro que está entre nosotros para quedarse y para rato. Entonces, ¿Swift u Objective C?
Swift u Objective C
Swift es un lenguaje muy distinto (en muchos casos totalmente opuesto) a Objective-C, el lenguaje usado hasta ahora para desarrollo Mac e iOS. No es un sustituto, sino una alternativa:se puede desarrollar en ambos e incluso mezclarlos en un mismo proyecto.
Mientras que Objective-C es un lenguaje muy pequeño con una sintaxis peculiar, Swift es un lenguaje muy grande con una sintaxis más habitual. Tiene muchos conceptos que están de moda en lenguajes que se están desarrollando en estos momentos (como es Rust de Mozilla o Scala) y otros que están pasando por un “lifting” como es el caso de Java 9 y C++ 11. Para muestra un botón: genéricos, “interfaces” (aquí llamados protocolos), tipado estricto, tuplas, reconocimiento de patrones, “associated types” para protocolos genéricos, Optionals (mecanismo para “ocultar” referencias nulas). Swift tiene una clarísima influencia de C++ y Haskell en su diseño y se nota que sus creadores son usuarios de dichos lenguajes.
Es un lenguaje de cara más familiar que Objective-C, pero también muchísimo mayor y más complejo. Aquí hay que tener cuidado y no crear falsas expectativas de sencillez en base a los mensajes de Apple respecto a su nuevo lenguaje.
Mientras dominar Objective-C requería, como mucho, un par de semanas, dominar de verdad el nuevo pájaro de Cupertino implicará meses de trabajo con él, incluso para desarrolladores iOS ya experimentados.
La ventaja de estos últimos es que no tienen que volver a la casilla de salida, como en el Juego de la Oca. Por supuesto que todo el conocimiento acumulado sigue siendo válido, y todo lo que tienen que hacer es aprender cómo mapear su sabiduría de Objective C a Swift (delegados en Swift, inicializadores designados y de conveniencia, Core Data, GCD, etc) y dedicar tiempo a estudiar desde cero solo aquellos conceptos que de verdad son nuevos.
Swift es además un lenguaje con una filosofía totalmente opuesta a la de Objetive-C. Mientras éste es dinámico, como Ruby o Python, Swift es furiosamente estático, como C++ o Java.
Esto nos lleva a la pregunta del millón: ¿por qué? ¿Por qué Apple crea un lenguaje totalmente distinto del que lleva usando desde hace tantos años y con el que ha cosechado tantos éxitos? En mi opinión hay dos razones de peso, y tienen que ver, no con el pasado, sino con el futuro que quiere labrarse la empresa de Cupertino, pero eso ya lo trataremos en la siguiente entrada.
Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.
Cookies estrictamente necesarias
Las cookies estrictamente necesarias tiene que activarse siempre para que podamos guardar tus preferencias de ajustes de cookies.
Si desactivas esta cookie no podremos guardar tus preferencias. Esto significa que cada vez que visites esta web tendrás que activar o desactivar las cookies de nuevo.
Cookies de terceros
Esta web utiliza Google Analytics para recopilar información anónima tal como el número de visitantes del sitio, o las páginas más populares.
Dejar esta cookie activa nos permite mejorar nuestra web.
¡Por favor, activa primero las cookies estrictamente necesarias para que podamos guardar tus preferencias!