IOS_BROADCAST Telegram 2392
🐥 Swift 6.2 зарелижен!
Пока все радуются iOS 26, давайте вспомним, что же нам стало доступно вместе с релизом Swift 6.2.

Approachable Concurrency

Swift 6.2 упрощает параллельное программирование:
🟢Запуск в главном потоке по-умолчанию без указания @MainActor
🟢Упрощенные async функции: можно писать асинхронный код без доступа к мутации состояния
🟢Явное обозначение многопоточности через @concurrent

Safe Systems Programming
Новые фичи по написанию низкоуровневого быстрого кода безопасно:
🟢InlineArray - новый массив с фиксированным количеством элементов
🟢Span - безопасный и простой способ обращаться напрямую к памяти
🟢В Embedded Swift теперь доступна работа с типом String
🟢Интероп C++ и Swift так же может использовать безопасные абстракции из Swift для обеспечения безопасности C++
🟢Повышенная безопасность памяти - флаг позволяющий ограничивать небезопасные конструкции типа unsafe pointer

Swift расширение для VS Code официально в релизе:
🟢Индексация в фоновом потоке
🟢Встроенная поддержка LLDB дебага
🟢Панель по работе с проектом
🟢Интерактивное preview DocC

Точный контроль над "ворнингами"
Предупреждениями компилятора теперь можно гранулярно управлять через установку diagnostic group идентифицируемой именем. Например, теперь можно выставить "считать все предупреждения ошибками" кроме предупреждений о депрекейтах API.
.target(
name: "MyLibrary",
swiftSettings: [
.treatAllWarnings(as: .error),
.treatWarning("DeprecatedDeclaration", as: .warning),
]
)


Улучшили дебаг многопоточки:
🟢Надежный async: пошаговый режим для асинхронных функций в LLDB, даже если асинхронный вызов требует переключения потоков.
🟢Контекст задачи: Узнайте, в какой задаче выполняется фрагмент кода, когда он останавливается на точке останова или при просмотре трассировки стека для текущего потока.
🟢Именованные задачи: при создании задач присваивайте им понятные имена, которые будут отображаться в контексте задачи в инструментах отладки и профилирования.

Подпроцесс
В Swift 6.2 представлен новый пакет Subprocess с оптимизированным API для запуска внешних процессов и управления ими.
import Subprocess

let swiftPath = FilePath("/usr/bin/swift")
let result = try await run(
.path(swiftPath),
arguments: ["--version"]
)
let swiftVersion = result.standardOutput


Foundation
Библиотека Foundation включает современный NotificationCenter API, который использует конкретные типы уведомлений вместо строк и нетипизированных словарей. Типы уведомлений также указывают, отправляются ли они синхронно на основной актор или асинхронно через соответствие MainActorMessage или AsyncMessage.

Observation
Swift 6.2 позволяет транслировать изменения состояния наблюдаемых типов в рамках транзакций с помощью нового типа асинхронной последовательности Observations . Это позволяет избежать избыточных обновлений пользовательского интерфейса, повышает производительность и гарантирует, что ваш код будет реагировать на согласованный снапшот изменения.

Тестирование
Новые API для повышения выразительности тестов и результатов тестирования.
🟢Exit testing позволяет убедиться, что код завершает работу при определённых условиях, например при невыполнении предварительного условия.
🟢Attachments позволяют добавлять в результаты тестирования дополнительный контекст, в том числе строки, изображения, логи и другие артефакты
🟢Raw identifier display names - позволяют настраивать имена тестовых функций
  -@Test("square() returns x * x")
-func squareIsXTimesX() {
+@Test func `square() returns x * x`() {
#expect(square(4) == 4 * 4)
}


Поддержка WebAssembly
Swift 6.2 получил поддержку WebAssembly, также известной как Wasm. WebAssembly — это платформа виртуальных машин, ориентированная на переносимость, безопасность и высокую производительность. Вы можете создавать как клиентские, так и серверные приложения для Wasm и развертывать их в браузере или на других платформах. Узнайте больше о Wasm в обзоре поддержки WebAssembly в Swift.

Что из этого вы больше всего ждали?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍3



tgoop.com/ios_broadcast/2392
Create:
Last Update:

🐥 Swift 6.2 зарелижен!
Пока все радуются iOS 26, давайте вспомним, что же нам стало доступно вместе с релизом Swift 6.2.

Approachable Concurrency

Swift 6.2 упрощает параллельное программирование:
🟢Запуск в главном потоке по-умолчанию без указания @MainActor
🟢Упрощенные async функции: можно писать асинхронный код без доступа к мутации состояния
🟢Явное обозначение многопоточности через @concurrent

Safe Systems Programming
Новые фичи по написанию низкоуровневого быстрого кода безопасно:
🟢InlineArray - новый массив с фиксированным количеством элементов
🟢Span - безопасный и простой способ обращаться напрямую к памяти
🟢В Embedded Swift теперь доступна работа с типом String
🟢Интероп C++ и Swift так же может использовать безопасные абстракции из Swift для обеспечения безопасности C++
🟢Повышенная безопасность памяти - флаг позволяющий ограничивать небезопасные конструкции типа unsafe pointer

Swift расширение для VS Code официально в релизе:
🟢Индексация в фоновом потоке
🟢Встроенная поддержка LLDB дебага
🟢Панель по работе с проектом
🟢Интерактивное preview DocC

Точный контроль над "ворнингами"
Предупреждениями компилятора теперь можно гранулярно управлять через установку diagnostic group идентифицируемой именем. Например, теперь можно выставить "считать все предупреждения ошибками" кроме предупреждений о депрекейтах API.

.target(
name: "MyLibrary",
swiftSettings: [
.treatAllWarnings(as: .error),
.treatWarning("DeprecatedDeclaration", as: .warning),
]
)


Улучшили дебаг многопоточки:
🟢Надежный async: пошаговый режим для асинхронных функций в LLDB, даже если асинхронный вызов требует переключения потоков.
🟢Контекст задачи: Узнайте, в какой задаче выполняется фрагмент кода, когда он останавливается на точке останова или при просмотре трассировки стека для текущего потока.
🟢Именованные задачи: при создании задач присваивайте им понятные имена, которые будут отображаться в контексте задачи в инструментах отладки и профилирования.

Подпроцесс
В Swift 6.2 представлен новый пакет Subprocess с оптимизированным API для запуска внешних процессов и управления ими.
import Subprocess

let swiftPath = FilePath("/usr/bin/swift")
let result = try await run(
.path(swiftPath),
arguments: ["--version"]
)
let swiftVersion = result.standardOutput


Foundation
Библиотека Foundation включает современный NotificationCenter API, который использует конкретные типы уведомлений вместо строк и нетипизированных словарей. Типы уведомлений также указывают, отправляются ли они синхронно на основной актор или асинхронно через соответствие MainActorMessage или AsyncMessage.

Observation
Swift 6.2 позволяет транслировать изменения состояния наблюдаемых типов в рамках транзакций с помощью нового типа асинхронной последовательности Observations . Это позволяет избежать избыточных обновлений пользовательского интерфейса, повышает производительность и гарантирует, что ваш код будет реагировать на согласованный снапшот изменения.

Тестирование
Новые API для повышения выразительности тестов и результатов тестирования.
🟢Exit testing позволяет убедиться, что код завершает работу при определённых условиях, например при невыполнении предварительного условия.
🟢Attachments позволяют добавлять в результаты тестирования дополнительный контекст, в том числе строки, изображения, логи и другие артефакты
🟢Raw identifier display names - позволяют настраивать имена тестовых функций
  -@Test("square() returns x * x")
-func squareIsXTimesX() {
+@Test func `square() returns x * x`() {
#expect(square(4) == 4 * 4)
}


Поддержка WebAssembly
Swift 6.2 получил поддержку WebAssembly, также известной как Wasm. WebAssembly — это платформа виртуальных машин, ориентированная на переносимость, безопасность и высокую производительность. Вы можете создавать как клиентские, так и серверные приложения для Wasm и развертывать их в браузере или на других платформах. Узнайте больше о Wasm в обзоре поддержки WebAssembly в Swift.

Что из этого вы больше всего ждали?

BY iOS Broadcast




Share with your friend now:
tgoop.com/ios_broadcast/2392

View MORE
Open in Telegram


Telegram News

Date: |

Telegram desktop app: In the upper left corner, click the Menu icon (the one with three lines). Select “New Channel” from the drop-down menu. During a meeting with the president of the Supreme Electoral Court (TSE) on June 6, Telegram's Vice President Ilya Perekopsky announced the initiatives. According to the executive, Brazil is the first country in the world where Telegram is introducing the features, which could be expanded to other countries facing threats to democracy through the dissemination of false content. Telegram channels enable users to broadcast messages to multiple users simultaneously. Like on social media, users need to subscribe to your channel to get access to your content published by one or more administrators. Telegram has announced a number of measures aiming to tackle the spread of disinformation through its platform in Brazil. These features are part of an agreement between the platform and the country's authorities ahead of the elections in October. Each account can create up to 10 public channels
from us


Telegram iOS Broadcast
FROM American