moderno
Swift es el resultado de las últimas investigaciones sobre lenguajes de programación, combinado con décadas de experiencia en la creación de plataformas Apple. Los parámetros con nombre se expresan en una sintaxis limpia que hace que las API en Swift sean aún más fáciles de leer y mantener. Aún mejor, ni siquiera necesita escribir punto y coma. Los tipos inferidos hacen que el código sea más limpio y menos propenso a errores, mientras que los módulos eliminan los encabezados y proporcionan espacios de nombres. Para admitir mejor los idiomas internacionales y los emoji, las cadenas son correctas para Unicode y utilizan una codificación basada en UTF-8 para optimizar el rendimiento para una amplia variedad de casos de uso. La memoria se administra automáticamente mediante un recuento de referencias estricto y determinista, manteniendo el uso de la memoria al mínimo sin la sobrecarga de la recolección de basura.
Declare nuevos tipos con métodos modernos y sencillos. sintaxis. Proporcione valores predeterminados para las propiedades de las instancias y defina inicializadores personalizados.
Agregue funcionalidad a los tipos existentes mediante extensiones y reduzca el estándar con interpolaciones de cadenas personalizadas.
Extienda rápidamente sus tipos personalizados para tomar ventaja de las potentes funciones del lenguaje, como la codificación y decodificación automática de JSON.
Realice potentes transformaciones personalizadas utilizando cierres optimizados.
Estos conceptos innovadores dan como resultado un lenguaje divertido y fácil
Swift tiene muchas otras características para hacer que su código sea más expresivo:
- Genéricos que son poderosos y fáciles de usar
- Extensiones de protocolo que hacen que escribir código genérico sea aún más fácil
- Funciones de primera clase y una sintaxis de cierre liviana
- Iteración rápida y concisa sobre un rango o colección
- Tuplas y múltiples valores de retorno
- Estructuras que admiten métodos, extensiones y protocolos
- Las enumeraciones pueden tener cargas útiles y admitir coincidencia de patrones
- Patrones de programación funcional, por ejemplo, mapa y filtro
- Manejo nativo de errores usando try / catch / throw
Diseñado para la seguridad
Swift elimina clases enteras de código inseguro. Las variables siempre se inicializan antes de su uso, las matrices y los números enteros se comprueban en busca de desbordamientos, la memoria se administra automáticamente y la aplicación del acceso exclusivo a la memoria protege contra muchos errores de programación. La sintaxis está ajustada para facilitar la definición de su intención; por ejemplo, palabras clave simples de tres caracteres definen una variable (var) o una constante (let). Y Swift aprovecha en gran medida los tipos de valor, especialmente para los tipos de uso común como matrices y diccionarios. Esto significa que cuando haces una copia de algo con ese tipo, sabes que no se modificará en ningún otro lugar.
Otra característica de seguridad es que, por defecto, los objetos Swift nunca pueden ser nulos. De hecho, el compilador Swift evitará que intentes crear o usar un objeto nulo con un error en tiempo de compilación. Esto hace que la escritura de código sea mucho más limpia y segura, y evita una gran categoría de bloqueos en tiempo de ejecución en sus aplicaciones. Sin embargo, hay casos en los que nil es válido y apropiado. Para estas situaciones, Swift tiene una característica innovadora conocida como opcionales. Un opcional puede contener nulo, pero la sintaxis de Swift le obliga a tratarlo de forma segura utilizando? sintaxis para indicar al compilador que comprende el comportamiento y que lo manejará de manera segura.
Use opcionales cuando tenga una instancia para regresar de una función, o no.
Características como el enlace opcional, el encadenamiento opcional y la fusión nula le permiten trabajar de manera segura y eficiente con valores opcionales.
Rápido y potente
Desde su concepción más temprana, Swift fue construido para ser rápido. Usando la tecnología de compilador LLVM de increíble alto rendimiento, el código Swift se transforma en código nativo optimizado que aprovecha al máximo el hardware moderno. La sintaxis y la biblioteca estándar también se han ajustado para que la forma más obvia de escribir su código también funcione mejor, ya sea que se ejecute en el reloj de su muñeca o en un grupo de servidores.
Swift es un sucesor a los lenguajes C y Objective-C. Incluye primitivas de bajo nivel como tipos, control de flujo y operadores. También proporciona funciones orientadas a objetos, como clases, protocolos y genéricos, lo que brinda a los desarrolladores de Cocoa y Cocoa Touch el rendimiento y la potencia que exigen.
Excelente primer idioma
Swift puede abrir puertas al mundo de la codificación. De hecho, fue diseñado para ser el primer lenguaje de programación de cualquier persona, ya sea que esté todavía en la escuela o esté explorando nuevas carreras profesionales. Para los educadores, Apple creó un plan de estudios gratuito para enseñar Swift tanto dentro como fuera del aula. Los programadores principiantes pueden descargar Swift Playgrounds, una aplicación para iPad que hace que comenzar con el código Swift sea interactivo y divertido.
Los aspirantes a desarrolladores de aplicaciones pueden acceder a cursos gratuitos para aprender a crear sus primeras aplicaciones en Xcode.Y las tiendas Apple de todo el mundo organizan hoy en Apple Coding & sesiones de aplicaciones en las que puede obtener experiencia práctica con el código Swift.
Obtenga más información sobre los recursos educativos de Swift. de Apple
Compatibilidad de código fuente y binario
Con Swift 5, no tienes que modificar ninguno de tus códigos Swift 4 para usar la nueva versión del compilador. En su lugar, puede comenzar a usar el nuevo compilador y migrar a su propio ritmo, aprovechando las nuevas funciones de Swift 5, un módulo a la vez. Y Swift 5 ahora presenta compatibilidad binaria para aplicaciones. Eso significa que ya no necesita incluir bibliotecas Swift en aplicaciones que se dirigen a versiones actuales y futuras del sistema operativo, porque las bibliotecas Swift se incluirán en cada versión del sistema operativo en el futuro. Sus aplicaciones aprovecharán la última versión de la biblioteca en el sistema operativo y su código continuará ejecutándose sin volver a compilar. Esto no solo simplifica el desarrollo de su aplicación, sino que también reduce el tamaño de su aplicación y su tiempo de lanzamiento.
Código abierto
Swift se desarrolla al aire libre en Swift. org, con código fuente, un rastreador de errores, foros y compilaciones de desarrollo regulares disponibles para todos. Esta amplia comunidad de desarrolladores, tanto dentro de Apple como cientos de colaboradores externos, trabaja en conjunto para hacer que Swift sea aún más sorprendente. Existe una gama aún más amplia de blogs, podcasts, conferencias y reuniones en las que los desarrolladores de la comunidad comparten sus experiencias sobre cómo aprovechar el gran potencial de Swift.
Plataforma cruzada
Swift ya es compatible con todos Plataformas de Apple y Linux, con miembros de la comunidad trabajando activamente para migrar a más plataformas. Con SourceKit-LSP, la comunidad también está trabajando para integrar el soporte de Swift en una amplia variedad de herramientas de desarrollo. Estamos entusiasmados de ver más formas en las que Swift hace que el software sea más seguro y rápido, al tiempo que hace que la programación sea más divertida.
Swift for Server
Mientras que Swift impulsa muchas aplicaciones nuevas en las plataformas de Apple , también se utiliza para una nueva clase de aplicaciones de servidor modernas. Swift es perfecto para usar en aplicaciones de servidor que necesitan seguridad en tiempo de ejecución, rendimiento compilado y una pequeña huella de memoria. Para orientar la dirección de Swift para desarrollar e implementar aplicaciones de servidor, la comunidad formó el grupo de trabajo de Swift Server. El primer producto de este esfuerzo fue SwiftNIO, un marco de aplicaciones de red asincrónico controlado por eventos multiplataforma para servidores y clientes de protocolos de alto rendimiento. Sirve como base para crear herramientas y tecnologías adicionales orientadas al servidor, que incluyen registros, métricas y controladores de bases de datos, todos en desarrollo activo.
Para obtener más información sobre la comunidad Swift de código abierto y el trabajo de Swift Server grupo, visite Swift.org
Playgrounds y Read-Eval-Print-Loop (REPL)
Al igual que Swift Playgrounds para iPad, los patios de recreo en Xcode permiten escribir código Swift increíblemente simple y divertido. Escriba una línea de código y el resultado aparecerá de inmediato. A continuación, puede buscar rápidamente el resultado del lado de su código, o anclar ese resultado directamente debajo. La vista de resultados puede mostrar gráficos, listas de resultados o gráficos de un valor a lo largo del tiempo. Puede abrir el Asistente de línea de tiempo para ver cómo evoluciona y se anima una vista compleja, ideal para experimentar con un nuevo código de interfaz de usuario o para reproducir una escena animada de SpriteKit mientras la codifica. Cuando haya perfeccionado su código en el patio de recreo, simplemente mueva ese código a su proyecto. Swift también es interactivo cuando lo usa en Terminal o dentro de la consola de depuración LLDB de Xcode. Utilice la sintaxis Swift para evaluar e interactuar con su aplicación en ejecución, o escriba un nuevo código para ver cómo funciona en un entorno similar a un script.
Administrador de paquetes
Swift Package Manager es un Herramienta multiplataforma para crear, ejecutar, probar y empaquetar sus bibliotecas y ejecutables Swift. Los paquetes Swift son la mejor manera de distribuir bibliotecas y código fuente a la comunidad Swift. La configuración de paquetes está escrita en Swift, lo que facilita la configuración de destinos, la declaración de productos y la gestión de dependencias de paquetes. Nuevo en Swift 5, el comando de ejecución rápida ahora incluye la capacidad de importar bibliotecas en un REPL sin necesidad de crear un ejecutable. Swift Package Manager en sí está construido con Swift y se incluye en el proyecto de código abierto Swift como un paquete.
Interoperabilidad Objective-C
Puede crear una aplicación completamente nueva con Swift hoy, o comience a usar el código Swift para implementar nuevas características y funcionalidades en su aplicación. El código Swift coexiste junto con sus archivos Objective-C existentes en el mismo proyecto, con acceso completo a su API Objective-C, lo que facilita su adopción.