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
В Swift 5.6 нас ожидает очень важная доработка в SwiftPM – поддержка плагинов, которые запускаются во время сборки пакета. Вот тут можно почитать детальный пропозал. А если хочется посмотреть, как это будет работать на реальном примере, не дожидаясь выхода новой версии, почитайте эту статью, где плагин используется для автоматической генерации интерфейса со списком цветов, объявленных в ассетах.
https://www.polpiella.dev/an-early-look-at-swift-extensible-build-tools
🔥22👍51
И еще одна важная новость. Apple разрешили выкладывать приложение в App Store в приватном режиме. Оно будет доступно по прямой ссылке, но не будет индексироваться в магазине. Это супер удобная штука для:
- Организации софт лонча или бета программы
- Распространения приложений, предназначенных для ограниченного круга пользователей (например, посетителей конфы)
https://developer.apple.com/support/unlisted-app-distribution/
🔥52👍7🎉3👎2
Хотите получить актуальный cookbook по оптимизации своих приложений для iOS? Новый сезон Podlodka iOS Crew стартует уже 14 февраля!

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

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

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

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

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

Пишем выразительный код на Swift 5.x - https://otus.pw/rKnf/
💩63👍32👎2🔥1
Dodo рассказывают про свой довольно тернистый путь по локализации приложения, использованные инструменты и совершенные ошибки. Если ваш проект тоже поддерживает несколько языков, рекомендую почитать – какие-нибудь идеи сможете забрать и себе.
https://habr.com/ru/company/dododev/blog/592751/
👍9
Твиттер тред от Жени Ртищева про оптимизации размера приложения, времени старта и скорости сборки. Каждое из направлений разбирается в формате "зачем оптимизировать", "что влияет", "как оптимизировать". Учитывая, что в перфомансе вовсю действует правило Парето, по которому 20% усилий дают 80% результата, эти лайфхаки вам пригодятся.
https://twitter.com/katleta3000/status/1488060002468352005
👍22🔥5
Очень интересный тред на Reddit про то, действительно ли функциональные программы или языки по определению более медленные, или все дело в неэффективности современных языков. Все сводится к тому, что производительность – понятие растяжимое, функциональность – тоже. Но в самих комментариях много ценных идей и ссылок.
https://www.reddit.com/r/ProgrammingLanguages/comments/rsce6j/why_are_imperative_programs_considered_faster
👍11🤮1
В Kotlin есть классная фича – scope functions. Это функции, выполняющие блок кода в контексте определенного объекта с захватыванием его. Вот простой пример:

val adam = Person("Adam").apply {
age = 20
city = "London"
}

В статье рассказывается, почему в Swift такую же штуку реализовать не так просто, и как эти ограничения можно обойти.
https://alejandromp.com/blog/fluent-syntax-extensions-in-swift
💩13👍11🔥3
Сегодня Стас Цыганов публикует на Хабре технический радар и подробно рассказывает про опыт iOS-команды Туту:

- как Data-Driven View помогает писать хорошие тесты,

- какие архитектуры пробовали и на чем остановились,

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

https://habr.com/ru/company/tuturu/blog/648073/

p.s. Посмотреть техрадар отдельно от статьи можно здесь.
🔥7👍6👎1
Доклад Peter Steinberger про то, как они в PSPDFKit реализовывали новую фичу с подписями на SwiftUI и с какими ограничениями столкнулись. Посмотрите, если интересно разобраться с:
- Интеграцией SwiftUI с большой легаси кодовой базой
- Работой с поповерами и тулбарами
- Багами с Geometry Reader
- Определением first responder
https://youtube.com/watch?v=mchbpoC19cU
👍16
Раз мы начали день с языковых фичей, давайте ими же и закончим. Представьте, что у вас есть функция, возвращающая какое-то значение. Бывают случаи, когда вам надо просто ее вызвать без дальнейших операций с ее результатом. Если сделать это напрямую – получите варнинг. Чтобы обойти это, используйте аннотацию @discardableResult.
https://twitter.com/BarekJaafar/status/1483577815253532676
💩29😱17👍11🤔3🔥1
iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT
Я хочу потестить на канале новый формат – Q&A с классными экспертами в iOS разработке. Как это будет выглядеть – в определенный день эксперт подключается к нашему чату и в течение нескольких часов отвечает на все вопросы, которые прилетают. Потом мы из этого…
Готовимся тестировать новый формат на iOS Good Reads – Q&A с экспертами!

📆Дата: 11 февраля (пятница), с 11 до 13 часов
🙌Гость: Александр Зимин, которого вы знаете по бесконечности докладов, победам в контестах, и запускам крутых продуктов.
💬Формат: В 11 часов в следующую пятницу я запощу пост в канале с напоминанием о старте Q&A. В обсуждениях к нему пишите ваши вопросы к Саше, общайтесь, холиварьте и спорьте! После окончания я все подобью в удобный дайджест, чтобы опоздавшим было попроще поднять контекст.
👀Темы общения:
- Работа в стартапах
- Запуск своих проектов
- Из iOS-разработчика в продуктовый менеджмент
- NFT, запуск больших проектов
- Жизнь на Бали, жизнь в Лондоне

Ставьте ❤️, если придете, и приходите в реплаи к посту закидывать ваши идеи по улучшению формата!
66
На Swift Forum активно обсуждается возможность добавления нового сахара для дженериков – дать возможность в параметрах функции вместо переусложненного синтаксиса использовать ключевое слово some.
https://forums.swift.org/t/pitch-opaque-parameter-types/54914/21
👍10👎5🤔5
Чистый код – это очень расплывчатое понятие (как и архитектура, кек). В каком бы контексте оно не использовалось, полезно пытаться выделить конкретные качества кода, о которых идет речь: читаемость, переиспользуемость, консистентность, тестируемость. Посмотрите на неплохую статью с критикой термина и пополните свой словарик для комментариев на code review.
https://www.steveonstuff.com/2022/01/27/no-such-thing-as-clean-code
👏10
Смотрите, нашел классное приложение для мака с набором разных полезных для разработчика штук:
- Форматирование и валидация JSON
- Тестирование регулярок
- Генерация UUID
- JWT генератор
- и еще десяток похожих штук

Все это по отдельности реализовано уже сотню раз, но каждый раз гуглить нужный сервис и вспоминать, а какой из них наименее отвратительный, надоедает. Само приложение платное, но из исходников собрать его вроде довольно просто.
https://github.com/DevUtilsApp/DevUtils-app
🥰55🔥8👍3👎1
Меня недавно поругали, что как-то маловато появляется прикладных статей, которые помогают улучшить командные процессы разработки. Давайте попробуем почитать большой материал про фичефлаги: их интеграцию в приложение и влияние на процессы разработки. На мой взгляд, ничего нового нет, но давайте проверим, насколько вам понравится.
https://www.offnotes.org/feature-flags/
👍18