3

Por qué Swift es mejor que Objective-C

2059Puntos

hace 9 años

Qué es Objective-c

Objective-C había sido el lenguaje principal para desarrollar para productos de Apple desde la adquisición de NeXT en 1996. Sin embargo, en el WWDC del 2014 se anunció Swift. Un nuevo lenguaje con mejoras importantes y nuevas características.

Actualmente todos los productos de Apple están hechos con Objective-C. Pero gracias a Xcode, la IDE para crear aplicaciones de Apple, no tienes que preocuparte por la compatibilidad; ya que permite trabajar con Objective-C y Swift al tiempo. Si ya sabes programar en Objective-C, encontrarás muy sencillo el aprender a programar en Swift. Y si eres nuevo en el desarrollo de iOS, aprender este último te resultará fácil.

Qué es Swift

Swift se enfoca en un paradigma de Programación Orientada a Protocolo. Esto significa que es un lenguaje que prefiere el uso de protocolos, mejor conocidos como interfaces, en lugar de clases. De esta manera logramos un código más flexible y modular; además de resolver problemas como la necesidad de usar una “super-clase”.

Algo muy interesante de Swift es el manejo de librerías dinámicas. Anteriormente, las librerías estáticas sólo se actualizaban en versiones nuevas. Es decir, en el paso de iOS7 a iOS8, por ejemplo. Pero ahora las librerías irán mejorando constantemente junto con el lenguaje. Apple está invirtiendo en mejorar constantemente el performance de Swift; y tus aplicaciones podrán beneficiarse de estas mejoras.

Swift es mucho más fácil de leer. Por ejemplo, al inicializar una vista en Objective-C tenemos algo como:

UITableView *myTableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStyleGrouped]; 

En Swift tendríamos algo como:

letmyTableView: UITableView = UITableView(frame: CGRectZero, style: .Grouped)

Existen diferencias importantes que hacen el código mucho más agradable. Por ejemplo, ya no tenemos los métodos anidados usando [[]] que solían resultar molestos al desarrollar con Objective-C. Además, el uso de _let_para registrar una constante nos da una forma fácil y eficiente de registrar objetos. En general, la sintaxis para trabajar con métodos es ahora mucho mas sencilla.

Por ejemplo, si en Objective-C necesitas:

[myTableView insertSubview:mySubview atIndex:2]; 

Con Swift escribirías:

myTableView.insertSubview(mySubview, atIndex: 2)

Además, si no es necesario pasar argumentos, podemos dejar los paréntesis vacíos. Por ejemplo:

myTableView.layoutIfNeeded() 

Con Swift podemos crear código mucho más confiable. En Objective-C es posible crear pointers sin contenido, es decir en estado null (llamado nil en Objective-C); esto puede parecer cómodo al momento de crear el código, pero puede causar errores en nuestra aplicación que pueden ser difíciles de detectar. En Swift todos los objetos siempre tendrán un valor. Si deseamos dejar la variable vacía, se le asigna el valor _nil; _pues si se deja en blanco, el compilador nos marcará un error y nos señalará el objeto que está vacío. Esto seguro nos ahorrará un dolor de cabeza en el futuro.

Swift es el futuro de Apple y, eventualmente, todos sus productos estarán hechos usando Swift. Y Objective-C será, algún día, sólo un recuerdo. Si aún dudas sobre qué lenguaje aprender primero para desarrollar para iOS, watchOS y/o OS X, la respuesta es Swift. Y si ya programas en Objective-C, aprenderlo te resultará muy sencillo y te permitirá trabajar mejor y más rápido.

Si quieres aprender cómo ser un experto en Swift y desarrollo para productos Apple. Regístrate hoy al Curso de Programación para iOS de Platzi y no te pierdas los próximos artículos en Platzi/blog.

Cesar
Cesar
reicek

2059Puntos

hace 9 años

Todas sus entradas
Escribe tu comentario
+ 2