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

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

Размещение рекламы: @tanyasanovna
Download Telegram
Я уже третий год подряд жду, что на WWDC покажут современную замену CoreData. Что-то легковесное, не требующее сетапа какой-то бесконечной иерархии объектов и не выжигающее из тебя душу. А еще – адаптированное к языковым фичам Swift. В статье показывается один из примеров, почему это важно – Optional-свойства в CoreData и Swift живут в немного разных системах координат.
https://www.atomicbird.com/blog/clash-of-the-optionals/
О, кстати, вспомнил волшебный доклад Ирины Дягилевой, который поможет вам еще глубже погрузиться в типографику в iOS. Старый, но все еще актуальный. Главная фишка доклада – что все слайды реализованы как iPad приложение, и Ира прямо в лайве показывает, как модификация различных свойств влияет на текст.
https://youtube.com/watch?v=796-dC41Doc
Обычно когда мне нужно пошарить какой-то скриншот кода, я использую сервис carbon.now.sh. Но вот на днях наткнулся на нативное macOS приложение, которое, кажется, справляется с задачей не хуже.
https://codeshotapp.com/
📆Айосеры, просыпайтесь! Apple выпустили новые нереально крутые ремешки в стиле афрофутуризма – пора обновляться. Это, конечно, был главный инфоповод на этой неделе, но не единственный. Встречайте ваш обожаемый воскресный дайджест постов в канале. Не забывайте ставить ❤️, 👍 и 🤩 – я внимательно слежу за их количеством!

🔥Для начала разомнемся на трех топовых материалах этой недели:
Лонгрид про GPS
Прогрев приложения в iOS 15
Big O нотация в Swift

✍️Судя по вашим реакциям и обсуждению в чате, очень круто зашли посты про работу с текстом в iOS. Я сделал себе пометку и поищу еще классных материалов на эту тему (вы тоже можете шарить, если есть что-то на примете).
Типографика в iOS
Магия с CoreText

💻Традиционная народная мудрость – различные советы и практики, которые могут сделать вашу ежедневную работу сильно эффективнее.
Лучшие практики юнит тестирования
Кастомный Xcode behaviour, который скрывает все, кроме редактора
Приложение для снятия пиксель перфект скриншотов

💬Если вы устали регулярно читать наш чатик iOS Good Talks, но хотите быть в курсе последних обсуждений, рекомендую обратить внимание на два треда: про координаторы в VIPER (да-да, вы не ослышались!!!) и про проблемы собеседований айосеров разных грейдов. Учтите, там листать нужно довольно много, так что на свой страх и риск!

И напоследок несколько материалов из дружественных каналов @leadgr, @droidgr и @qa_channel:
Как сделать команду самоуправляемой и избавиться от тимлидов
Лучшие практики разбора инцидентов и написания пост-мортемов
Доклад с критикой новых архитектурных гайдлайнов от Google

Если вам понравился дайджест – поставьте ему сердечко, харт, heart, лойс, лайк или что вам захочется. Буду писать дайджесты, пока получаю положительные реакции, учтите! А все предложения по формату – в комменты.

#digest
У каждого уважающего себя разработчика должен быть личный сайт. А если разработчик хочет, чтобы его уважал не только он сам, но еще и другие, сайт надо делать на максимально не предназначенной для этого технологии. Например, на Swift. Короче, тут это, фреймворк новый подвезли, почему бы и не попробовать на выходных.
https://github.com/alchemy-swift/alchemy
Чем выше по уровню растет инженер, тем больше ему приходится писать текста вместо кода: комментариев на ревью, имейлов, сообщений в чате, выжимок со встреч, пропозалов, постмортемов, PRD и других документов. От того, насколько просто и понятно вы умеете выражать свои мысли в тексте, зависит многое.

Если вы решите капитально прокачать свои навыки написания текста, в первую очередь посмотрите на книги Максима Ильяхова: «Пиши, сокращай» и «Ясно, понятно». Но пока до книг не добрались, начать можно и с малого – например, с отличной статьи по ссылке. Там очень ярко описывается, почему этот навык надо качать, и предлагается много практических советов по тому, как именно это делать.
https://blog.pragmaticengineer.com/becoming-a-better-writer-in-tech/
Объявляю сегодняшний день – днем Xcode. Давайте начнем утро с очень ностальгической статьи, рассказывающей об эволюции Xcode с самой первой версии до сегодняшнего дня. Несколько фактов для затравки, о которых я не знал:
1. Первое название Xcode – Project Builder.
2. Project Builder был не первой IDE под macOS, и какое-то время ему пришлось отвоевывать рынок.
3. Project Builder был чуть ли не первой бесплатной IDE в то время.
4. Interface Builder начинался как отдельное приложение, которое потом слили с Xcode.

Короче, читаем и ностальгируем по временам, когда комплишн работал!
http://martiancraft.com/blog/2022/01/xcode-through-the-years/
В Swift 5.6 нас ожидает очень важная доработка в SwiftPM – поддержка плагинов, которые запускаются во время сборки пакета. Вот тут можно почитать детальный пропозал. А если хочется посмотреть, как это будет работать на реальном примере, не дожидаясь выхода новой версии, почитайте эту статью, где плагин используется для автоматической генерации интерфейса со списком цветов, объявленных в ассетах.
https://www.polpiella.dev/an-early-look-at-swift-extensible-build-tools
И еще одна важная новость. Apple разрешили выкладывать приложение в App Store в приватном режиме. Оно будет доступно по прямой ссылке, но не будет индексироваться в магазине. Это супер удобная штука для:
- Организации софт лонча или бета программы
- Распространения приложений, предназначенных для ограниченного круга пользователей (например, посетителей конфы)
https://developer.apple.com/support/unlisted-app-distribution/
Хотите получить актуальный cookbook по оптимизации своих приложений для iOS? Новый сезон Podlodka iOS Crew стартует уже 14 февраля!

За 5 дней мы успеем подробно разобрать Xcode Instruments на практических кейсах, поможем избавиться от лагов UI, уменьшить размер приложения и время его запуска. А еще научимся писать оптимальные unit-тесты, разберемся в lowlevel оптимизациях с помощью LLVM и Swift compiler. И все это в формате воркшопов с множеством кейсов-примеров, которые вы сразу сможете применять в собственных проектах.
Успейте купить билет по сниженной цене — специальное предложение действует только до 2 февраля.
Ребята из EmergeTools продолжают дико угорать по разным оптимизациям перфоманса. Чтобы ускорить среднее время старта приложений, они скармливают линкеру инструкции по тому, в каком порядке надо группировать символы. Таким образом в первую очередь считываются только символы, необходимые для запуска. Больше деталей, измерений приложений из App Store и теории – в статье.
https://www.emergetools.com/blog/posts/FasterAppStartupOrderFiles
💪 Узнайте максимум о iOS разработке.

❗️Приглашаем всех на бесплатные вебинар по iOS разработке для тех, кто с 0 и у кого уже есть опыт разработки.

👉 Только осваиваете азы или хотите создать свое первое приложение с 0?
Урок для новичков:

Классы - https://otus.pw/F8dQ/

Уже есть опыт разработки? Проверьте свои знания пройдя тест.
Зарегистрируйтесь на вебинар и пройдите тест для участия:

Пишем выразительный код на Swift 5.x - https://otus.pw/rKnf/
Dodo рассказывают про свой довольно тернистый путь по локализации приложения, использованные инструменты и совершенные ошибки. Если ваш проект тоже поддерживает несколько языков, рекомендую почитать – какие-нибудь идеи сможете забрать и себе.
https://habr.com/ru/company/dododev/blog/592751/
Твиттер тред от Жени Ртищева про оптимизации размера приложения, времени старта и скорости сборки. Каждое из направлений разбирается в формате "зачем оптимизировать", "что влияет", "как оптимизировать". Учитывая, что в перфомансе вовсю действует правило Парето, по которому 20% усилий дают 80% результата, эти лайфхаки вам пригодятся.
https://twitter.com/katleta3000/status/1488060002468352005