¿ Por qué las empresas deben desarrollar sus aplicaciones iOs en el lenguaje Swift ?

0
510

Swift, hoy, es donde estaba Java en sus primeros días. 

Hubo un momento en que Java estaba pasando por actualizaciones frecuentes para convertirse en un lenguaje que pudiera introducir rendimiento y estabilidad en el dominio de Android. 

Swift también ha estado pasando por cambios para convertirse en un lenguaje robusto en el que se pueden construir aplicaciones complejas de alta gama. 

Después de pasar por cuatro actualizaciones masivas de versión, Swift lanzó este año dos versiones: Swift 5.0 y Swift 5.1. 

Ambas versiones han introducido algunas características notables que juegan un papel en el fortalecimiento del lenguaje. 

Primero echemos un vistazo a lo que ambas versiones tienen para ofrecer. Luego, nos dirigiremos a la parte donde examinaremos las características de Swift 5 que hacen que las actualizaciones sean un compañero ideal de la compañía de desarrollo de aplicaciones iOS . 

¿Qué se introdujo con Swift 5 Update?

La actualización de Swift 5 es uno de los hitos más importantes que ha contribuido a la evolución de la evolución. Además de la revolucionaria estabilidad ABI, el tiempo de ejecución Swift ahora también se agrega en las versiones actuales y futuras del sistema operativo de la plataforma Apple: iOS, macOS, watchOS y tvOS. 

Las características de Swift 5 también vienen con una gran cantidad de nuevas capacidades * que actúan como los bloques de construcción de la visión de Apple y ayudan a dar una nueva dirección a la ventaja del lenguaje de programación veloz.

* Para más detalles, dirígete a las notas de lanzamiento de Swift 5

Actualizaciones de idiomas 

1. Compatibilidad binaria y ABI estable 

ABI fue declarado estable para el desarrollo de aplicaciones Swift 5. Como resultado, las bibliotecas Swift se han incorporado en cada iOS, tvOS, watchOS y macOS, lo que anteriormente era un elemento problemático cuando los ingenieros tenían que desarrollar aplicaciones para iOS. Las aplicaciones ahora serán más fáciles de desarrollar y mucho más pequeñas, ya que no incluirán ninguna biblioteca. 

2. Actualizaciones estándar de la biblioteca 

La biblioteca estándar de Swift 5 viene con el siguiente conjunto de características nuevas:

  • La cadena se ha vuelto a implementar con la codificación UTF-8 que da como resultado un código más rápido. 
  • Mejor soporte para textos sin formato en los literales de cadena. 
  • Se han agregado el vector SIMD y los tipos de resultados.
  • Mejoras de rendimiento en Set y Directory.
  • Mejoras en la implementación de cadenas, lo que brinda flexibilidad para construir texto a partir de datos. 

3. Compilador adicional y actualizaciones de idioma 

El desarrollo de la aplicación Swift 5 impone acceso exclusivo a la memoria, tanto para depurar como para liberar compilaciones. Admite tipos invocables dinámicamente que ayudan a mejorar la interoperabilidad con los lenguajes dinámicos como JavaScript, Python y Ruby. 

También implementa estas propuestas de lenguaje:

  • Manejo de futuros casos de enumeración
  • Inicialización literal a través de la coerción.
  • Introducir tipos dinámicos “invocables” definidos por el usuario
  • Admite el operador ‘menor que’ en las condiciones de compilación
  • Ruta clave de identidad 
  • Acoplar opciones anidadas que emergen de ‘¿intentar?’

Actualizaciones del administrador de paquetes

Swift Package Manager viene con una serie de nuevas características en la versión de desarrollo de la aplicación Swift 5, que incluye: duplicación de dependencia, objetivos de implementación personalizados, configuraciones de compilación específicas del objetivo y la capacidad de generar los datos de cobertura de código. Además de esto, el comando de ejecución rápida incluye la capacidad de importar bibliotecas en REPL con la creación de un ejecutable. 

Swift 5 también implementa estas propuestas de Package Manager del proceso de evolución de Swift:

  • Reflejo de dependencia 
  • Configuración de implementación de plataforma
  • Configuración de compilación específica de destino

¿Qué se introdujo con Swift 5.1? 

Swift 5.1 crece en la fuerza de Swift 5 con características como la estabilidad del módulo, nuevas características que amplían la capacidad del lenguaje y la biblioteca estándar como: tipos de resultados opacos, envoltorios de propiedades, nuevas API para String, diferencias para los tipos de colección apropiados, etc. 

Juntos, Swift 5.1 facilita el diseño de API y reduce el código común repetitivo. 

Estas son las características que incluye Swift 5.1 *:

* Para más detalles, dirígete a las notas de lanzamiento de Swift 5.1.

Módulo de Estabilidad 

Swift 5.1 hace posible crear marcos binarios que se pueden compartir con otros que aprovechan el soporte agregado del lenguaje para la estabilidad del módulo. Esto, a su vez, hace que sea extremadamente conveniente y rápido para los desarrolladores desarrollar aplicaciones para iOS. 

Define un nuevo archivo de interfaz de módulo basado en texto que describe la API de marco binario, lo que le permite compilarse con códigos con la ayuda de diferentes versiones del compilador. 

Actualizaciones estándar de la biblioteca 

La biblioteca estándar de Swift 5.1 viene con las siguientes características nuevas, por lo que es extremadamente fácil entender cómo crear aplicaciones con Swift 5:

  • El soporte para la actualización y el manejo difiere en la colección de tipos apropiados 
  • Mayor flexibilidad para la inicialización de una matriz. 
  • API para trabajar con cadenas: desarrollo y manejo de cadenas contiguas, ayuda para trabajar con texto Unicode e inicializadores generales para Range y String.index. 
  • Protocolo identificable para extender reducciones, swizzles de vectores y vectores. 

Protocolo de servidor de idiomas 

Los paquetes de cadena de herramientas OSS de Swift 5.1 para Ubuntu y macOS incluyen binarios para SourceKit-LSP, que es una implementación de LSP para lenguajes basados ​​en C y Swift. 

Actualizaciones de SwiftSyntax 

Se ha rediseñado con un enfoque separado para mejorar el rendimiento mediante el uso del analizador del compilador Swift. Además, el rendimiento de la visita al árbol de sintaxis y sus operaciones relacionadas se han mejorado mediante la reestructuración de las estructuras de datos internas. 

Idioma adicional y actualizaciones del compilador 

Swift 5.1 viene con estas nuevas características de lenguaje:

  • Contenedores de propiedades que introducen un contexto coherente para definir los patrones de acceso personalizados para valores de propiedad como: inicializadores retrasados, almacenamiento específico de subprocesos, operaciones atómicas, etc. 
  • La palabra clave return no es necesaria para una sola expresión getters o funciones. 
  • Self puede usarse para tipos de valor y clases. 
  • El compilador sintetiza valores predeterminados para las propiedades con inicializadores predeterminados. 

¿Cómo se benefician las empresas de esto? 

Aunque la mayoría de las características introducidas con Swift 5 y Swift 5.1 están relacionadas con los desarrolladores de la aplicación Swift, algunas de ellas también pueden traducirse en beneficios comerciales. 

Una de las características clave que impactan directamente a las empresas, la que la industria de Apple había estado esperando desde Swift 1.0, es la estabilidad ABI (Application Binary Interface).   

Swift 5 abi estabilidad

Si bien suena muy parecido al problema de un desarrollador, lo que esto significa en la práctica es que Apple no pudo incluir el soporte del lenguaje de programación Swift en los sistemas operativos, porque una aplicación escrita en Swift 2 no podía ejecutarse con Swift 3. Simplemente porque, no No funciona con los binarios de soporte de idiomas de Swift 3.

La solución que estaba disponible para los desarrolladores era incluir las bibliotecas Swift en el paquete de aplicaciones que se descargarían de la tienda de aplicaciones. Esto, a su vez, aumentó el tamaño y el requisito de almacenamiento de la aplicación. Y se convirtió en una de las mayores desventajas del lenguaje de programación rápido.

Pero con Swift 5 estabilizando ABI, la industria ahora ha recibido una solución permanente a estos problemas del lado del usuario. Permitiría a los desarrolladores ejecutar la aplicación en todas las próximas versiones de Swift. Es decir, el código escrito en el proceso de desarrollo de la aplicación Swift 5 se ejecutará en Swift 6, 7, etc. Un evento que convierte a Swift en un idioma preferido tanto para empresas como para startups . 

Se especula que este movimiento sería el que llevaría el lenguaje varios pasos adelante en la comparación Swift vs Objective-C . 

Estos son los beneficios comerciales que la característica Swift 5 trae consigo:

  • Tamaño de aplicación más pequeño : Swift 5 hace que el lenguaje sea binario compatible. Es decir, el resultado final del desarrollo de la aplicación Swift 5 sería significativamente menor para que los usuarios lo ejecuten en su nuevo sistema operativo: iOS 12.2, watchOS 5.2, macOS 10.14.4 y tvOS 12.2. 
  • Lanzamiento más rápido : Otra ventaja de esto es el tiempo de lanzamiento más rápido. Porque cada biblioteca dinámica utilizada por una aplicación (que aumenta el tiempo de inicio) se almacenará en la memoria caché y se compartirá entre las aplicaciones.  
  • Mayor rendimiento : los usuarios no quieren trabajar en una aplicación rota. Y dado que la congelación de aplicaciones y los problemas técnicos son la razón principal de la tasa de desinstalación de aplicaciones, es imperativo que una empresa la evite. La estabilidad ABI del Swift 5 ayuda a las aplicaciones a comportarse mejor y ofrece un rendimiento mejorado.

Pero. 

¿Qué tan pequeño es demasiado pequeño? Respondamos con la ayuda de algunos casos en vivo del desarrollo de aplicaciones Swift para iOS:  

  1. Apollo para Reddit viene con un tamaño de aplicación de 35.7 MB. Aquí, los 7,5 MB están formados por bibliotecas Swift. Ahora, cuando la aplicación se actualice a Swift 5, el tamaño se reducirá en más de un 20% y llegará a 30 MB.  
  2. El tamaño de PCalc 86.8 MB, que incluye los 7.5 MB de las bibliotecas Swift. Esto, cuando se actualiza a Swift 5, el tamaño se reduce en un 9%, reduciendo el tamaño a 80 MB.  
  3.  Chirp , una aplicación que trajo Twitter a Apple Watch viene con un tamaño de 28.8 MB, que incluye 11.6 MB de bibliotecas Swift. Esto, cuando se actualiza a Swift 5, se reduce en más del 30%, lo que reduce el tamaño en 20 MB. 

En una publicación de blog que habla sobre el futuro del lenguaje Swift, Donny Wals dijo: “Ahora que tenemos la estabilidad del módulo y la estabilidad ABI en Swift, es probable que el idioma cambie a un ritmo más lento de lo que estamos acostumbrados. Deberíamos ver cambios menos radicales que rompen la fuente y el lenguaje debería madurar lentamente en un lenguaje hermoso, rápido y estable que será una gran base para sus aplicaciones en los próximos años “.

¿Es bueno construir una aplicación en Swift 5? Si. Es el momento adecuado para que las empresas con aplicaciones de iOS reescriban el código en Swift 5 y para que las nuevas empresas creen aplicaciones en Swift 5 y se beneficien de la impecable experiencia del usuario.