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: |

The court said the defendant had also incited people to commit public nuisance, with messages calling on them to take part in rallies and demonstrations including at Hong Kong International Airport, to block roads and to paralyse the public transportation system. Various forms of protest promoted on the messaging platform included general strikes, lunchtime protests and silent sit-ins. 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. Invite up to 200 users from your contacts to join your channel Just as the Bitcoin turmoil continues, crypto traders have taken to Telegram to voice their feelings. Crypto investors can reduce their anxiety about losses by joining the “Bear Market Screaming Therapy Group” on Telegram. Step-by-step tutorial on desktop:
from us


Telegram iOS Broadcast
FROM American