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

Регистрация в РКН: https://gosuslugi.ru/snet/67b464d698a28c4e866d827a

Размещение рекламы: @tanyasanovna
Download Telegram
🔥Начинаем текстовый Q&A с Михаилом Рубановым (@akaDuality) про:
- Доступность
- Автотесты
- Многомодульность
- Кайфовый UI
- Пет-проекты
- Как писать статьи и книги
- Личный бренд в IT

💬Как принять участие в обсуждении:
1. Пишите любой вопрос комментарием к этому посту
2. Используйте реплаи при дальнейшем общении

📆Заканчиваем в 20 часов, так что не откладывайте!
🔥13💩1
Даже если в будущих релизах Swift получится ускорить компиляцию проекта в несколько раз, проблема долгого раундтрипа при внесении изменений останется: приложение нужно задеплоить на устройство, открыть и дойти до нужного места. На других платформах с этим помогает справляться hot reload, являющийся одной из продающих фич того же Flutter.

Автор Sourcery заопенсорсил библиотеку Inject, которая дает вам возможность пользоваться хот релоадом и в нативных приложениях. В статье подробно рассказывается, как она работает.
🔥41👍1
Сертификаты Apple, использовавшиеся для подписи ваших provisioning profiles, сегодня заэкспайрились (экспайриться неожиданно – неотъемлемое свойство любого сертификата). Если вы попробуете заливать приложение на ревью, получите ошибку ITMS-90165. Чтобы пофиксить, просто перегенерируйте профили.
👍23🤯15💩11
Представьте себе прямую, описываемую функцией y=mx+b. Параметр b показывает, насколько далеко от 0 находится место пересечения оси Y, а m – угол наклона. Это – удобная ментальная модель, чтобы оценивать сложность использования различных библиотек, где b – сложность первого старта, m – сложность, возникающая при усложнении кейсов использования.

Джейк Уортон написал статью, в которой прикладывает эту модель к нескольким Android библиотекам и рассуждает, как ее использовать при создании новой библиотеки.
👍7
Теория разбитых окон гласит – чем больше мелких правонарушений происходит, тем больше вероятность того, что начнут происходить и крупные. Держите небольшое эссе, в котором разбирается, как эта теория может быть применена к разработке софта.
👍12
Давайте вместе узнаем, из чего состоит toolchain уважающего себя iOS разработчика в 2022 году. Каждый день – голосование за лучший инструмент, библиотеку или практику в одной определенной категории. Например, “лучший архитектурный подход”, или “лучший менеджер зависимостей”.

Но сначала – помогите мне собрать список категорий и номинантов в них. Накидайте в форму ваших идей, я их обработаю и потом поделюсь итоговым списком номинаций.
16👍12💩10
Разбираться в том, как работают балансировщики нагрузки, может быть полезно не только бэкендерам. Ребята из BuildBuddy, распределенного кэша для Bazel, рассказали, с помощью каких алгоритмов балансировки они решали задачу распределения билдов между агентами.

А если вы захотите погрузиться в тему сильнее, вот отличный выпуск Подлодки про устройство балансировщиков нагрузки и алгоритмы под капотом.
👍16
Разбор двух модных способов организации навигации: решения от Badoo и библиотеки RouteComposer. Интересно даже не само сравнение, а выбранные автором критерии. Ну и прочитайте отдельно комментарий к статье от автора Route Composer, где он сильно не соглашается с обзором.
💩27👏6👍3
NSPersistentCloudKitContainer – доступный с iOS 13 фреймворк для бесшовной синхронизации базы Core Data между устройствами. В статье разбираются не очень хорошо документированные особенности:
📌Отслеживание событий изменения данных
📌Типы и коды ошибок
📌Синхронизация с приложением и компликейшнами на Apple Watch
📌Обновление в бэкграунде
📌Подгрузка новых транзакций
📌Работа с различными экстеншнами
👍25🔥5
Lookin – альтернативный Reveal и Xcode View Debugger инструмент для просмотра и дебага иерархии вьюшек. Главные отличия от альтернатив в том, что он бесплатный и опенсорсный, и в том, что его можно запускать прямо на телефоне. Исходники тут.
🔥37👍52
Язык программирования iOS приложений (на котором вы пишете большую часть кода своих iOS проектов)
Anonymous Poll
91%
Swift
10%
Objective-C
1%
C++
2%
Kotlin
1%
JavaScript/TypeScript
2%
Dart
2%
Objective-C++
1%
Другое
6%
Посмотреть результаты
👍1👏1
Начинаем исследование State of iOS Toolchain 2022! Ближайший месяц каждый день я буду выкладывать опрос про то, какими инструментами в определенной категории вы чаще всего пользуетесь. В итоге мы получим цельную картинку того, какой стек чаще всего выбирают в современной iOS разработке. После окончания исследования я обязательно ее оформлю в отдельную статью!

Если вам интересно поконтрибьютить в вопросы – оставляйте комментарии к этому доку.
💩7👍63🔥1
Работа со строками – это весело! В статье рассказывается про особенности Unicode и работу в Swift с characters и scalars. Если после прочтения вам захочется сильнее погрузиться в тему кодировок, то начинайте копать отсюда:
1️⃣Серия статей про боли работы с разными кодировками текста
2️⃣Нетленочка Joel Spolsky про то, что каждый программист должен знать про работу с текстом
👍9
Если вы в основном дебажите свой код принтами, то выделите немного времени на изучение возможностей lldb. Это сэкономит вам тонны часов в будущем. Начать можно с того, как работает команда po (print object), которая помимо прочего позволяет исполнять Swift код прямо в дебаггере.
👍8
Вопрос #2 из State of iOS Toolchain 2022. Какие IDE вы используете чаще всего при разработке iOS приложений?
Anonymous Poll
94%
Xcode
4%
AppCode
16%
VSCode
8%
Sublime
3%
Vim
14%
Swift Playgrounds
2%
Другое
4%
Посмотреть результаты
Текст про историю создания и развития протокола JSON. Пара фактов для затравочки:
📌Ключи в JSON помещаются в кавычки по историческим причинам – чтобы при скармливании его интерпретатору JavaScript не возникало коллизий по зарезервированным словам.
📌Великолепная цитата автора JSON в ответ на набросы про то, что он переизобрел XML: «The good thing about reinventing the wheel is that you can get a round one».
👏17👍3👎1