¿Cuáles son algunos pros y contras de Swift?

Con más de 700 millones de iPhones actualmente en uso, iOS es la segunda plataforma móvil más popular del mundo.

Si bien Android puede tener una ventaja en cuanto a participación de mercado en todo el mundo, en regiones como los EE. UU., Francia y el Reino Unido, los dispositivos de Apple continúan dominando el mercado.

Es por eso que muchas empresas se centran únicamente en la plataforma iOS para sus productos de software, ya que ven que es su oportunidad de inversión clave.

Si usted es una de esas empresas que busca seguir el desarrollo de aplicaciones iOS, entonces debe tomar una decisión crítica.

Eso es elegir la pila tecnológica adecuada para su producto. ¿Para qué vas a ir? Si es el desarrollo nativo en lugar de multiplataforma, ¿qué idioma utilizará? ¿El buen viejo Objective-C o Swift?

Echemos un vistazo a los pros y los contras del uso del lenguaje de programación Swift.

¿Qué debes saber sobre el idioma? ¿Cuáles son los riesgos que acompañan a Swift? Para continuar con la discusión de ventajas / desventajas, comencemos primero con sus antecedentes e historia.

Swift: su historia y su historia de fondo

Apple presentó por primera vez Swift en 2014 en la WWDC (Conferencia Mundial de Desarrolladores) como segundo idioma oficial para el desarrollo de iOS, macOS, tvOS y watchOS.

Un año después, se hizo de código abierto. Solo en septiembre de 2017, se lanzó Swift 4.0 con nuevas actualizaciones y modos de compatibilidad.

Fuente de imagen

En un comunicado de prensa, destacando la noticia del anuncio de iOS 8, Apple dijo lo siguiente sobre el nuevo lenguaje de programación.

“Swift es un nuevo y poderoso lenguaje de programación para iOS y OS X® que hace que sea más fácil que nunca para los desarrolladores crear aplicaciones increíbles. Diseñado para Cocoa® y Cocoa Touch®, Swift combina el rendimiento y la eficiencia de los lenguajes compilados con la simplicidad y la interactividad de los populares lenguajes de secuencias de comandos. Por diseño, Swift ayuda a los desarrolladores a escribir código más seguro y confiable al eliminar categorías enteras de errores de programación comunes, y coexiste con el código Objective-C®, para que los desarrolladores puedan integrar Swift fácilmente en sus aplicaciones existentes. Xcode® Playgrounds hace que escribir código Swift sea increíblemente interactivo al mostrar instantáneamente la salida del código Swift ”. – Apple Inc.

A pesar de su corta edad, ha subido rápidamente a la cima para colocarse en el puesto 11 en los “lenguajes de programación más populares del mundo” de TIOBE. Esto ya coloca a Swift 7 en posiciones más altas que su predecesor Objective-C, logrando su propósito inicial.

Una de las razones por las cuales Swift se ha vuelto tan popular en tan poco tiempo es el reconocimiento de la marca Apple en todo el mundo.

Sin embargo, lograr ganar la confianza de millones de desarrolladores que usaban un lenguaje probado y confiable de 30 años no es una tarea fácil.

Entonces, veamos cómo los beneficios de usar Swift están impulsando su popularidad como un lenguaje importante del desarrollo de iOS y sus inconvenientes que limitan su crecimiento.

Swift para desarrollo iOS: lo bueno más fácil de leer, más fácil de mantener

El código de Swift se parece mucho al inglés natural y debe muchas de sus sintaxis a lenguajes más elegantes como C #, Python y Ruby.

Mientras que, por otro lado, la sintaxis de Objective-C está mucho más cerca de la sintaxis intimidante de C. Swift, como resultado, es mucho más transparente y mucho más expresiva con una sintaxis y gramática simplificadas.

De hecho, Apple confía tanto en la simplicidad de Swift que alienta a los niños a crear aplicaciones a través de juegos a través de Playgrounds.

Al explicar la ventaja de Swift, Cade Metz, escritor sénior de Wired escribe:

“Parte de la ventaja de Swift es que está construido para el programador promedio. Está diseñado para codificar incluso las aplicaciones móviles más simples, y con una herramienta bastante inteligente que Apple llama “Playgrounds”, ofrece una forma inusualmente efectiva de aprender a codificar “.

Agrega además que Swift es un juego de pelota completamente diferente al de Google Go (desarrollado en 2009 y todavía está luchando por ganar seguidores), cita a Paul Jensen, un analista de lenguaje de programación.

“Con Google Go, no había un incentivo real para usarlo … La diferencia con Swift es que existe un incentivo (su transparencia y simplicidad sobre Objective-C) “.

Además, a diferencia de Objective-C, Swift elimina el sistema de dos archivos, lo que elimina la imposición de trabajo adicional en los programadores que viene con Objective-C.

Corta el trabajo repetitivo y ayuda a mejorar la calidad del código, las características y los comentarios que son compatibles.

Swift es breve

Uno de los objetivos de los desarrolladores de Swift era hacer que el lenguaje sea conciso. Debido solo a la interpolación de cadenas, Swift es lo suficientemente capaz de reducir el código de la aplicación móvil Objective-C en casi un 70 por ciento.

Menos código significa un desarrollo y prueba más rápidos, por lo tanto, un mantenimiento más barato y menos gasto de recursos.

Fácilmente escalable

La transparencia en su código conduce a un tiempo de desarrollo más rápido. Además de eso, también obtienes un producto que está “preparado para el futuro” y se puede agregar con nuevas características. Esto lleva a una escalabilidad más fácil.

Además, para sus inversiones a largo plazo, debe tener en cuenta que es más probable que Apple admita Swift en lugar de Objective-C.

Interoperabilidad con Objective-C

Aunque no es un profesional absoluto sobre Objective-C, esta característica es definitivamente un mérito. Como Jordan Morgan, un desarrollador de iOS en Buffer, escribe en su publicación:

“No hay duda: Swift es el nuevo juguete y está marcado como el futuro. Objective-C está mostrando su edad y, con el tiempo, será mucho menos frecuente. Pero en el aquí y el ahora, los dos deben aprender a coexistir pacíficamente … El otro fue agregado a un lenguaje de programación antiguo y reutilizado para la tecnología moderna “.

Como dice Morgan, Swift no reemplaza completamente Objective-C, que es y seguirá siendo parte de muchas aplicaciones móviles que necesitarán mantenimiento en el futuro.

Swift es completamente interoperable con su predecesor y, por lo tanto, puede coexistir con él en un archivo, aplicación o línea de código.

[Haga clic para continuar leyendo …]

Hace casi un año, Apple anunció un nuevo lenguaje de programación llamado Swift. Se anunció en WWDC 2014, por lo que está claro que Apple quiere atraer a más desarrolladores a su ecosistema ya rico. No es exactamente algo que preguntaron todos los desarrolladores porque a muchos de ellos les está yendo bien con Objective-C, el idioma principal para las aplicaciones de iOS. De hecho, los desarrolladores todavía usan Objective-C hoy porque Apple actualmente lo permite a pesar de que la compañía recomienda Swift. Pero antes de ser parte de la próxima generación de desarrolladores, primero comprenda estos pros y contras.

Pros

Mejor soporte a largo plazo

Apple llegó a diseñar un logotipo y un nombre comercial para su nuevo lenguaje de programación. Considere que es una señal sólida de que Apple llevará el banner de Swift en un futuro imprevisible. Aunque Apple insiste en que Objective-C no va a ninguna parte, Swift sigue siendo un animal en evolución y una vez más los desarrolladores comienzan a confiar en él, el soporte de Objective-C podría desvanecerse.

Amistoso para principiantes

Hay varios lenguajes de programación que son fáciles de aprender, pero Objective-C definitivamente no es uno de ellos. Aunque los desarrolladores han creado algunas aplicaciones poderosas con el lenguaje antiguo, trabajar con el código puede ser una molestia para los principiantes. Swift es la solución directa de Apple al problema y, de hecho, es más fácil de codificar. Si puedes aprender JavaScript o Ruby, definitivamente tienes una oportunidad con Swift. También es menos probable que los desarrolladores creen aplicaciones inseguras debido al enfoque de diseño seguro de Swift.

Rendimiento optimizado de la aplicación

Al igual que Objective-C, Swift usa el compilador LLVM, pero dado que se necesitan menos líneas de código para crear una aplicación en particular en comparación con Objective-C, puede esperar algunos buenos beneficios de rendimiento. La ordenación de objetos es considerablemente más rápida que Objective-C y notablemente más rápida que Python.

A pesar de estas grandes ventajas, Swift podría no ser una opción sólida para todos. Descubra por qué en el próximo artículo que discutirá los inconvenientes de seguir con este idioma.

Por supuesto, no es suficiente, así que mira los enlaces a continuación para sacar conclusiones:

Tecnología: Swift vs. Objective-C. Pros y contras

Swift: Pros y contras

En primer lugar, es transparente y simple. En comparación con Objective-C, es un paraíso leer y escribir en Swift. Y Swift Playgrounds es una excelente manera de enseñar el idioma a los niños.

En segundo lugar, Swift es conciso . Lyft reescribió su aplicación en Swift y eliminó aproximadamente 2/3 de las 75,000 líneas de código.

Tercero, el lenguaje implementa más características de las que están presentes en Objective-C. Puede leer sobre su mayor nivel de seguridad y administración automática de memoria aquí: Pros y contras del desarrollo de iOS Swift.

Cuarto, todavía es interoperable con Objective-C .

Una de las desventajas actuales es la compatibilidad con versiones anteriores de Swift. Escribir una aplicación en una versión de Swift para que no sea compatible con la siguiente suena como una pérdida de tiempo y dinero. Pero Swift 4.0, que se lanzará próximamente, ofrecerá soporte completo de la versión anterior. Swift 3.0. Entonces, el problema principal debe resolverse.

En su mayoría solo hay uno. Es nuevo.

Pros es nuevo:
Tiene muchas cosas nuevas muy buenas, como una función que devuelve varios elementos.
Es mucho más seguro ya que tienes que pasar por aros para convertir variables como un ejemplo usando la instrucción “let”.
Si asigna implícitamente una variable como “i = x! + 2”, necesita que x tenga un valor, si x no tiene un valor, su aplicación fallará, podría considerarse una estafa, pero me gusta.
Tiene muchas cosas buenas de los lenguajes de secuencias de comandos, como la función de mapa y otras sutilezas.
Hay más como si fuera realmente rápido, ya que está diseñado para nuevos sistemas, multinúcleo, etc., realmente está construido sobre el compilador llvm, no empujado sobre él como Objective C.

Pero la forma más grande de la rapidez, es nuevo.
No hay tantos libros por ahí.
No hay tantos screencasts por ahí.
Hay muy pocas personas con experiencia en ello.
Solo hay 1 persona en el mundo con más de 4 años de experiencia, y no, no puedes contratarlo 🙂
El idioma está cambiando bastante rápido, rompiendo la compatibilidad con versiones anteriores.
Hay limitadas bibliotecas nativas rápidas. Claro que puede usar las bibliotecas de Objective C directamente, pero están traducidas y pueden tener errores.

No es un experto Swift, pero …

Versus Objetivo-C:

Pros:

No hay archivos de encabezado
La mayoría de las personas preferirán la sintaxis
Swift tiene el enfoque de Apple ahora, es a donde se dirigen, también puede dirigirse hacia allí.

Contras:

No es C. Obj-C tiene la gloria de ser un lenguaje basado en C.
Todavía no hay tantos tutoriales, etc.