iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT
12.4K subscribers
654 photos
63 videos
3.95K links
Самые интересные статьи, видео и новости, связанные с iOS разработкой. Не больше трёх материалов в день.

Лучшее iOS сообщество в Телеге: @iosgt

Размещение рекламы: @tanyasanovna
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Приходите на стажировку в Яндекс!

Стажёры в Яндексе
— это полноценные члены команды. Плечом к плечу с опытными разработчиками они улучшают сервисы Яндекса и помогают миллионам людей. Стажёры работают как полную неделю, так и по 20–30 часов. Можно выбрать удобный график.

Стажёров ищут почти во всех командах, в том числе в Поиске, Рекламе, Алисе, Облаке, Картах, Инфраструктуре, Такси, Лавке, Еде, Кинопоиске, Музыке.

Приходите на стажировку в Яндекс, чтобы узнать больше о продуктах, найти новых коллег и друзей в команде!

Переходите по ссылке, чтобы узнать все подробности и подать заявку: https://clck.ru/32dzhn
accessibilityUserInputLabels для Voice Control

Чтобы пользователю Voice Control не нужно было угадывать, как именно вы назвали какую-то кнопку, и не нужно было бы просить скрин ридер зачитать названия всех элементов на экране, с помощью свойства accessibilityUserInputLabels можно задать сразу много возможных названий.

Если стало интересно, почитайте реплаи – там обсуждают нетривиальную задачу локализации этих названий.
Ask Apple возвращается на этой неделе

Ask Apple – новый движ от Apple, который помогает разработчикам достучаться до инженеров чаще, чем раз в год на WWDC. Проходит в форме 1-1 сессий и групповых Q&A. Судя по всему, Ask Apple планируют проводить на ежемесячной основе, что прямо очень круто.

📆Расписание Q&A
📝Регистрация (нужен акк разработчика)
Последний шанс влететь на Podlodka iOS Crew

Примета: если пропустить ноябрьскую Подлодку, то весь следующий год у вас будут проблемы с архитектурой на проекте.

Зачем идти на конфу:
- узнаете, почему семантика в архитектуре важнее типизированных подходов.
- разберетесь в гибридной архитектуре SwiftUI и UIKit.
- перестроитесь под реактивную архитектуру.
- научитесь проходить архитектурный собес.
- ну, и, конечно, отлично проведете неделю в нашей Телеге, общаясь с русскоязычными iOS разработчиками, которые расползлись по миру.

Старт уже сегодня, залетайте!
Реализация JWT авторизации с рефреш токенами

- JWT – один из частых стандартов авторизации. Сервер генерирует токен, а вы его используете, чтобы подписывать запросы. Когда токен протухает, используете рефреш-токен, чтобы сгенерировать новый.
- В статье на примере простого мобильного приложения и бэкенда разбирается устройство JWT авторизации, архитектура и реализация клиентского кода, который отвечает за работу с токенами.

Перевод на русский язык
Swift и Objective-C в рейтингах языков программирования

1️⃣Redmonk – индекс, рассчитываемый на основе количества вопросов на StackOverflow и проектов на GitHub

Swift – 11 место
Objective-C – 12 место

2️⃣SlashData – индекс, основанный на регулярном опросе 26.000 разработчиков со всего мира

Swift – 9 место (4.2 млн разработчиков)
Objective-C – 11 место (3 млн разработчиков)

3️⃣Octoverse – индекс, который строится GitHub на основе мх данных об опенсорсных проектах

Swift и Objective-C не попали в топ-10

4️⃣PYPL – индекс, который рассчитывается по частотности Google поисков вида «язык tutorial»

Swift – 10 место (доля рынка 2.11%)
Objective-C – 9 место (доля рынка 2.17%)
This media is not supported in your browser
VIEW IN TELEGRAM
SwiftUICraft – Minecraft на SwiftUI

Кто-то делает троллейбус из буханки хлеба, а кто-то – воксельную игру на SwiftUI. Реализовано все поверх Prism, легковесного 3D движка, про который я как-то в канале уже рассказывал.
Решение проблем с single size App Icon

При использовании новой фичи Xcode, app icon универсального размера, вы можете столкнуться с двумя ошибками: «CoreData: API Misuse: Attempt to serialize store access on non-owning coordinator» и «Command CompileAssetCatalog failed with a nonzero exit code». В статье разбирают причины их возникновения, связь фичи с CoreData и способы их решить.

Перевод на русский язык
ngrok – используем localhost как бэкенд

- ngrok – reverse proxy, который помогает дать доступ к сервису, поднятому на localhost, из внешнего интернета.
- Для этого достаточно выполнить всего одну команду: ngrok http <port>
- Это очень удобно для того, чтобы быстро поднять локальный бэкенд для своего приложения и протестировать что-то без необходимости его деплоить.
Чтобы быть в тренде последних новостей из мира iOS разработки тебе надо подписаться на канал @iOS_broadcast.

📌 Там ты найдешь ежедневную подборку новостей с кратким обзором, а также интересные опросы, чтобы проверить свои знания.

Что интересно можно узнать:
▶️ iOS: Навигация по-новому
▶️ 4 видео для мобильных разработчиков. Анимации в React Native, keyboard avoiding в SwiftUI и другое
▶️ Продвинутый дебаг в Xcode: средства отладки, про которые часто забывают
▶️ Для чего нужна Witness Table?

Канал создан авторами @android_broadcast
Циферблат для Apple Watch, динамически генерирующийся по текущей топографии

David Smith, тот самый разработчик приложений для watchOS, реализовал один из самых красивых циферблатов, что я видел. На основе данных о вашей локации генерируется контурная топографическая карта. Выглядит потрясающе.

А вот еще циферблаты от него же, но уже с анимацией текущей погоды.
Xbase – набор инструментов для iOS разработки в Neovim

Для любителей писать код в неконвенциональных для iOS экосистемы редакторах, например, в Neovim, появился набор инструментов, которые упростят эту задачу:

- Поддержка автокомплита и навигации по исходникам
- Возможность быстрого запуска симуляторов
- Логи билдов и print()
- Генерация xcodeproj
- Поддержка всяких фичей nvim

Кстати, если вы не понимаете, зачем вообще кто-то может хотеть писать код в Vim, послушайте недавний выпуск Подлодки с Кириллом Мокевниным про продуктивность разработки, где мы в том числе много обсуждали Vim.
Как освободить место от неиспользуемых платформ в Xcode

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

Перевод на русский язык
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.
- Умеет замерять кучу разных метрик по перцентилям.