Telegram Web Link
Variadic generics в Swift

Одна из следующих больших языковых фичей, которые появятся в Swift – variadic generics. С ее помощью можно будет определять дженерики с переменным количеством параметров.

Пример ситуации, где такая фича может быть полезна – оператор сравнения для tuples, который приходится перегружать по многу раз для того, чтобы описать его поведение с разным количеством параметров.

Обсудить пропозал и почитать чужие комментарии можно здесь.

Перевод на русский язык
Почему Rosetta 2 работает так быстро

Хардкорная статья с анализом устройства Rosetta 2 и сравнением сгенерированного ей кода с оригиналом.

Перевод на русский язык
Quick Navigation в DocC

- DocC – инструмент от Apple для генерации документации и спек для пользовательских библиотек в виде HTML.
- Скоро в DocC появится Quick Search, аналог похожим фичам в IDE.
- Quick Search будет уметь искать символы, похожие на пользовательский ввод, сортировать результаты по релевантности и работать с шорткатами.
Benchmark – SwiftPM плагин для запуска бенчмарков

- Работает как локально, так и на CI.
- Умеет замерять кучу разных метрик по перцентилям.
Малоизвестные фичи VSCode extension для Swift

- Быстрая подмена любого пакета на его локальную версию.
- Куча полезных команд: запуск скриптов на Swift, запуск и дебаг сниппетов, выбор нужной версии Xcode.
- Автозаполнение комментариев по шаблону.
- Запуск Swift Command Plugins в виде тасок.

Перевод на русский язык
Список всех активных пропозалов в Swift на одной странице

На сайте Swift появилась отдельная страница, на которой можно смотреть все текущие активные пропозалы в язык с их статусом, датой следующих изменений и авторами.
Планы Swift на 2023 год

💻Основные направления развития языка:
- Доработка акторной модели многопоточности
- Variadic generics
- Возможности для ручного управления памятью в стиле Rust
- Макросы
- Интероп с С++

🛠️Другие интересные инсайты:
- Создание реестра SwiftPM пакетов, который заменит собой прямую загрузку пакетов с GitHub
- Много планов по улучшению DocC, инструмента для генерации документации
- Фокус Swift на сервере сейчас в основном на переходе всех проектов на Swift Concurrency и стандартизации подходов

Перевод на русский язык
Как запинить Text Field к нижнему краю экрана

Если вы хотите запинить Text Field к нижнему краю экрана, причем таким образом, чтобы он двигался с появлением клавиатуры, используйте модификатор safeAreaInset(edge: .bottom).
Xcode 14 может увеличить размер приложений на 70 процентов

- Приложения, собранные Xcode 14, резко прибавляют в размере, вплоть до 70%.
- Причина в отключении биткода. Из-за этого при загрузке приложений в App Store из них перестала вырезаться лишние метаданные.
- В статье рассказывается, как можно вырезать лишние метаданные вручную.

Перевод на русский язык
Как Swift Concurrency предохраняет разработчика от переизбытка тредов

- Если приложение создает одновременно слишком много тредов, это может повлечь за собой кучу проблем с производительностью. Слишком много – в несколько раз больше, чем ядер в CPU.
- В статье разбираются механизмы Swift Concurrency, которые не дают разработчику совершить эту ошибку, и проводится несколько тестов, чтобы определить границы этой защиты.

Перевод на русский язык
💰Айосные скидки на Черную Пятницу

Proxyman
Что: proxy-клиент для macOS, как Charles, только модный
Скидка: 30% по промокоду PROXYMAN_BLACK_FRIDAY_2022

Git Tower
Что: Git-клиент для тех, кто любит работать мышкой
Скидка: 50% скидка для всех

LeetCode Premium
Что: Премиум подписка на главный сервис изучения алгосов
Скидка: 20% для всех

Hacking with Swift
Что: Книги и курсы от Пола Хадсона
Скидка: до 50%

Podlodka Crew
Что: записи сезонов всех конференций
Скидка: до 40%

Пост будет обновляться, делитесь находками в комментариях!
Подборка советов по дебагу

- В .lldbinit можно вынести хелперы, которые вы будете использовать между проектами.
- Команда frame variable или ее алиас v заменяют po и работают быстрее.
- Команда watchpoint позволяет подписаться на изменение переменной.

Перевод на русский язык
Обзор новых API для навигации в SwiftUI

Неплохой обзор двух новых навигационных API: NavigationStack и NavigationSplitView. Можно читать статью, а можно сразу посмотреть код примеров на GitHub.

Перевод на русский язык
Реализация flow layout в SwiftUI с помощью протокола Layout

- Новый протокол Layout позволяет создавать максимально кастомный UI.
- Протокол требует реализации двух функций: sizeThatFits, которая расчитывает лэйаут, и placeSubviews, которая размещает дочерние вьюшки.

Перевод на русский язык
Воркшоп по работе с CoreData для тех, кто раньше этого не делал

Организация хранения данных сложнее обычного кеширования результатов запросов – не самая частотная задача в мобильной разработке. Но если вы с ней столкнулись – лучшим инструментом все еще остается CoreData. Про нее важно понимать один факт – это не просто ORM, а целый фреймворк для хранения и управления объектным графом вашей модели данных.

Исходя из данных нашего недавнего опроса, с CoreData так или иначе имело опыт ~50% подписчиков. Так вот, если вы входите во вторые 50%, подключайтесь к открытому уроку ребят из Otus про CoreData и нюансы работы с ней. Вы погрузитесь в теорию и попробуете сразу же применить все знания на практике, написав небольшое приложение со слоем хранения данных. А потом, кто знает, оно и в ваш пет-проект сможет перерасти!

Дата: 25 ноября, 20:00 по Москве

👉Подключайтесь
swiftenv – менеджер версий Swift

- swiftenv – консольная утилита, которая позволяет удобно управлять установленными версиями Swift.
- С ее помощью можно как установить глобальную версию Swift, используемую всеми проектами, так и настроить ее локально для отдельных проектов.
Советы от дизайнеров Apple

По мотивам недавно прошедшей сессии Ask Apple команда дизайнеров Apple подбила свои ответы на часто задаваемые вопросы.

🤔Как понять, когда фичей в приложении стало слишком много, и пора упрощать интерфейс
📱Нормально ли ограничивать возможные ориентации приложения
⭐️В каких случаях можно отказаться от подписей элементов меню ТабБара
👀Нормально ли прятать ТабБар при навигации
🌈Каких гайдлайнов придерживаться при работе с цветами и тенями

Перевод на русский язык
📱iOS-разработчик ВК Видео (senior)

VK Видео — это видеоплатформа и стриминговый сервис. В компании будут доступны авторские инструменты по созданию контента для блогеров (видеоредактор, камера, сервис монетизации), а для их пользователей — уникальный контент. В планах стать площадкой №1 для размещения контента в Рунете.

🎯Задачи:
📌Разрабатывать приложение ВКонтакте (продукт видео) под IOS;
📌Создавать новый функционал продукта, реализовывать UX-эксперименты;
📌Следить за работоспособностью сервиса и устранять технический долг;
📌Взаимодействовать с командой менеджеров, дизайнеров, аналитиков и тестировщиков;
📌Принимать участие в планировании, обсуждении проектов.

🔥Требования:
💎Отличное знание Objective-С и Swift;
💎Хорошие знания системных фреймворков iOS и гайдлайны Apple;
💎Знание классических алгоритмов и структуры данных;
💎Навыки профилирования;
💎Опыт работы с аудио или видео на мобильных устройствах (желательно);
💎Активное участие в код-ревью.

🛠 Стек:
⚙️ Swift, Objective-С;
Минимальная версия iOS 14.

🤩Почему у них круто:
✔️Экспертное комьюнити IOS;
✔️ДМС для сотрудника и его детей с первого месяца работы;
✔️100%-ная оплата больничного в течение 30 дней;
✔️Компенсация занятий спортом;
✔️Компенсация питания.
И многое другое, скорее пиши в рекрутеру - @lona736

Ссылка на вакансию: https://team.vk.company/vacancy/26519/
Правила работы с MainActor

В одной из сессий на WWDC 2022 говорилось, что компилятор гарантирует выполнение кода с атрибутом MainActor на главном потоке. На самом деле, это не так. Все осложняется тем, что нормальной документации пока тоже не завезли, и единственный доступный источник информации – пропозалы про акторы.

Автор статьи пробует задокументировать известную ему информацию про то, как работает атрибут MainActor, и в каких случаях он игнорируется.
Симулятор HomeKit устройств

- У Apple есть отдельное приложение, которое позволяет симулировать практически любое умное устройство: лампочки, сенсоры, камеры, дверные замки.
- Приложение HomeKit Accessory Simulator входит в состав Additional Tools for Xcode.
- Симулятор позволяет настраивать различные характеристики устройств. Например, для лампочки можно подкрутить цветовую температуру и яркость.

Перевод на русский язык
2024/10/01 07:25:01
Back to Top
HTML Embed Code: