The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Компания Apple опубликовала язык программирования Swift 6.3

28.03.2026 22:39 (MSK)

Компания Apple опубликовала релиз языка программирования Swift 6.3. Официальные сборки подготовлены для Linux, Windows и macOS. Исходные тексты распространяются под лицензией Apache 2.0.

Язык Swift сочетает лучшие элементы языков C и Objective-C, и предоставляет объектную модель, совместимую с Objective-C (Swift-код может смешиваться с кодом на С и Objective-C), но отличается использованием средств автоматического распределения памяти, контроля переполнения переменных и массивов, защитой от использования неинициализированных переменных и блокированием доступа к памяти после её освобождения, что значительно увеличивает надёжность и безопасность кода. Swift также предлагает множество современных методов программирования, таких как замыкания, обобщённое программирование, лямбда-выражения, кортежи и словарные типы, быстрые операции над коллекциями, элементы функционального программирования.

Pеализация Swift построена с задействованием технологий свободного проекта LLVM. Для обеспечения высокой производительности Swift-программы компилируются в машинный код, который в проведённых тестах демонстрирует производительность на 30% опережающую код на Objective-C. Вместо сборщика мусора в Swift используются средства подсчёта ссылок на объекты. В поставку входит пакетный менеджер Swift Package Manager, предоставляющий инструменты для распространения модулей и пакетов с библиотеками и приложениями на языке Swift, управления зависимостями, автоматизированной загрузки, сборки и связывания компонентов.

Ключевые изменения в новой версии:

  • Предложен первый официальный релиз Swift SDK для платформы Android, позволяющий использовать язык Swift для разработки приложений для Android, а также встраивать отдельные компоненты на Swift в существующие Android-приложения, написанные на Java и Kotlin.
  • Добавлен атрибут "@c", позволяющий экспортировать написанные на Swift функции и перечисления (enum) для использования в коде на языке Си (генерируется заголовочный файл с соответствующими определениями для Си).
  • Реализованы селекторы модулей, позволяющие явно указывать, из какого модуля использовать API, если несколько импортированных модулей предоставляют API с одинаковым именем.
    
       import ModuleA
       import ModuleB
    
       let x = ModuleA::getValue() // вызов 'getValue' из ModuleA
       let y = ModuleB::getValue() // вызов 'getValue' из ModuleB
    
  • Добавлены новые атрибуты для управления оптимизациями, применяемыми компилятором: @specialize - специализация обобщённых (generic) API для часто используемых типов; @inline - inline-развёртывание функции по месту вызова; @export(implementation) - экспорт реализации функции в стабильный ABI библиотеки.
  • Предложена предварительная реализация варианта сборочной системы Swift Build, интегрированного в пакетный менеджер SwiftPM (Swift Package Manager).


  1. Главная ссылка к новости (https://www.swift.org/blog/swi...)
  2. OpenNews: Компания Apple опубликовала инструментарий для разработки Android-приложений на языке Swift
  3. OpenNews: Компания Apple открыла код сборочной системы Swift Build
  4. OpenNews: Компания Apple представила язык программирования Swift 6.0
  5. OpenNews: Создатель LLVM и Swift уходит из компании Apple
  6. OpenNews: Компания Apple открыла реализацию языка Swift и реализовала поддержку Linux
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/65095-swift
Ключевые слова: swift
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (15) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (2), 22:45, 28/03/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Современный подход.
    ЯП + пакетный менеджер.

    Возможно когда-то его более отсталые "коллеги" до этого дойдут.

     
     
  • 2.5, AleksK (ok), 23:03, 28/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Тут rust поливают помоями в том числе за пакетный менеджер
     
     
  • 3.7, Аноним (7), 23:18, 28/03/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Тут rust поливают помоями в том числе за пакетный менеджер

    А что они не поливают помоями?
    Так что это не показатель)

    А вот то, что половина рынка смартфонов в развитых странах используют этот язык - уже успех.

     
  • 3.11, Витюшка (?), 23:37, 28/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Это все что нужно знать о "критическом мышлении" программистов. Такие же как и все остальные. Никакая не элита (коей они себя считают). А уж срез с opennet - это вообще целая песня.
     
     
  • 4.12, Аноним (12), 23:53, 28/03/2026 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 5.14, Витюшка (?), 00:40, 29/03/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 4.13, Мемоним (?), 00:12, 29/03/2026 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 3.16, Аноним (16), 01:31, 29/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    сравнили тоже раст и свифт :)
     
  • 2.6, Аноним (6), 23:04, 28/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    https://developer.apple.com
     

  • 1.3, Аноним Мю (?), 22:47, 28/03/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Для обеспечения высокой производительности Swift-программы компилируются в машинный код, который в проведённых тестах демонстрирует производительность на 30% опережающую код на Objective-C

    Увидеть бы тесты...

     
     
  • 2.4, Аноним Мю (?), 22:53, 28/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Но за развитием языка очень пристально слежу.
     
  • 2.8, Аноним (8), 23:20, 28/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Погугли, было исследование со сравнением языков в различных сценариях
     
  • 2.9, Аноним (9), 23:23, 28/03/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.10, Аноним (12), 23:32, 28/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    На самом деле это уже не важно)
    Objective-C уже де-факто abandoned - в него не добавляют фичи, только какие-то фиксы для совместимости.

    Т.е ситуация "функция в Swift есть, а её аналога в в обжси нету" вполне привычная.
    Можно изголяться и писать отдельный swift файл, объявлять экстеншн для objc класса, в нем вызывать нужные функции...

    Но проще потихоньку переписывать кусками проект на свифт.

     

  • 1.15, Аноним (16), 00:56, 29/03/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > отличается использованием средств автоматического распределения памяти, контроля переполнения переменных и массивов, защитой от использования неинициализированных переменных и блокированием доступа к памяти после её освобождения

    Т.е. делал всё то ещё до того, как придумали раст.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру