Два неожиданных факта про отзывы к приложениям:
1️⃣Их количество и оценки значимо влияют на поисковые позиции в сторе.
2️⃣При использовании системного API для предложения оценить приложение, показ алерта не гарантирован – iOS сама решает, показывать его или нет.
Твиттер-тред с деталями.
1️⃣Их количество и оценки значимо влияют на поисковые позиции в сторе.
2️⃣При использовании системного API для предложения оценить приложение, показ алерта не гарантирован – iOS сама решает, показывать его или нет.
Твиттер-тред с деталями.
Twitter
Ryan McLeod
On March 29th I released an update for @blackboxpuzzles. New ratings shot up massively overnight all thanks to a very small change. Having lots of ratings is a nice vanity metric but can also impact search rank, conversions, etc so… 🧵 A cautionary thread…
Мы в канале регулярно вспоминаем Realm, который недавно обрел вторую жизнь, став мультиплатформенным. Несмотря на то, что Core Data закрывает большинство потребностей по работе с данными, Realm прочно держит свою нишу, и иметь свое собственное представление о его работе – очень полезно. Чтобы разобраться в деталях, подключайтесь к воркшопу который проведет Антон Марунько, iOS Team Lead в Kupibilet, где расскажет, как с помощью Realm можно работать с данными в простом приложении и поотвечает на вопросы.
На вебинар стоит заглянуть и тем, кто только планирует вкатываться в iOS разработку. Помимо технической части, на нем поговорят и про актуальность профессии и перспективы в текущей обстановке новых ограничений от Apple.
На вебинар стоит заглянуть и тем, кто только планирует вкатываться в iOS разработку. Помимо технической части, на нем поговорят и про актуальность профессии и перспективы в текущей обстановке новых ограничений от Apple.
Otus
Курс разработчик iOS, базовый уровень
Научитесь разрабатывать приложения для мобильных устройств Apple без знаний программирования
Вопрос #12 из State of iOS Toolchain 2022. Какие линтеры/форматтеры вы используете для Swift кода?
Anonymous Poll
3%
swift-format
13%
SwiftFormat
76%
SwiftLint
1%
Другое
15%
Не использую
8%
Посмотреть результаты
Bazel – это альтернативная билд система, которая относительно распространена среди Android разработчиков, но засматривается и на iOS. Ее основные плюсы – инкрементальная сборка из коробки и отвязанность от xcodeproj файлов.
Держите туториал по тому, как затащить Bazel в существующий iOS проект, подключить инкрементальную сборку и кеширование скомпилированных модулей.
Держите туториал по тому, как затащить Bazel в существующий iOS проект, подключить инкрементальную сборку и кеширование скомпилированных модулей.
Medium
Building iOS apps faster using Bazel
Learn how to build iOS apps without Xcode and faster
Вопрос #13 из State of iOS Toolchain 2022. Как вы отлаживаете iOS приложения?
Anonymous Poll
68%
Принты
84%
Брейкпойнты
13%
os_log
48%
Команды lldb
60%
Xcode View Debugger
7%
Reveal
7%
Другие инструменты
8%
Посмотреть результаты
Практически любую проблему можно решить добавлением в проект еще одной зависимости. Этот подход очень распространен среди JS проектов, но и в iOS им любят злоупотреблять. Но зависимости не даются бесплатно, у них есть своя цена:
📌Сложности с управлением их версиями
📌Необходимость проверять и поддерживать их изменения при апдейте версии
📌Увеличение билд тайма
📌Необходимость закапываться в исходники библиотеки при появлении проблем
📌Влияние на архитектуру проекта
📌Общий рост размера кодовой базы
📌Потенциальные дыры в безопасности
📌Усложнение онбординга новых разработчиков
В статье неплохо раскладываются все эти проблемы. Подойдет, чтобы скинуть вашему коллеге, который в очередной раз затащил в Podfile что-то странное.
📌Сложности с управлением их версиями
📌Необходимость проверять и поддерживать их изменения при апдейте версии
📌Увеличение билд тайма
📌Необходимость закапываться в исходники библиотеки при появлении проблем
📌Влияние на архитектуру проекта
📌Общий рост размера кодовой базы
📌Потенциальные дыры в безопасности
📌Усложнение онбординга новых разработчиков
В статье неплохо раскладываются все эти проблемы. Подойдет, чтобы скинуть вашему коллеге, который в очередной раз затащил в Podfile что-то странное.
Jason Zurita
The Hidden Costs of Your Dependencies
Вопрос #14 из State of iOS Toolchain 2022. С какими сетевыми протоколами чаще всего работают ваши приложения?
Anonymous Poll
93%
JSON
6%
XML
11%
Protobuf
3%
Другое
6%
Посмотреть результаты
Как бы вы поступили, если бы вам надо было придумать способ сериализовать AttributedString? Скорее всего, реализовали бы какую-нибудь структуру, в которой ставили бы в соответствие рейнджу символов определенное свойство. И такой подход быстро сломался бы. Про то, почему так произошло бы, и как подходить к такой залаче правильно – в статье.
Ole Begemann
AttributedString’s Codable format and what it has to do with Unicode
Don’t store string indices or offsets if possible. They aren’t stable over time or across runtime environments.
Иметь стандартизированный подход к определению версий приложений – очень полезно. Это упрощает коммуникации между командами, триаж багов, предсказуемость объема релиза. В статье разбирается несколько подходов к определению версий мобильных приложений.
Runway
How — and why — to think about mobile app versioning | by Runway
Like everything in software engineering, there's actually a concrete set of considerations and standards to follow that will help you to decide how to version your apps and get the most out of versioning for your team.
Вопрос #15 из State of iOS Toolchain 2022. Какими сервисами для CI/CD вы пользуетесь?
Anonymous Poll
29%
GitHub
40%
GitLab
4%
CircleCI
2%
TravisCI
28%
Jenkins
15%
TeamCity
3%
Xcode Cloud
11%
Другое
16%
Посмотреть результаты
Админ нашего чата Евгений Елчев, известный многим как Джон Фир, закончил записывать свой бесплатный курс по Dart и Flutter. Все космические 102 урока доступны на Youtube, смотрите их и подписывайтесь на Женю, он крутой!
Apple выкатили детали про то, какие именно приложения подлежат удалению из App Store:
📆Не обновлялись последние три года
🫙За последний год практически не скачивались
На то, чтобы отреагировать на уведомление и обновить приложение, разработчикам будет даваться 90 дней.
📆Не обновлялись последние три года
🫙За последний год практически не скачивались
На то, чтобы отреагировать на уведомление и обновить приложение, разработчикам будет даваться 90 дней.
Apple
Clarifying criteria & new timing extension for App Store Improvements process - Latest News - Apple Developer
User trust in quality apps is the basis for all we have done in building and running the App Store.
Back in 2016, to ensure a great user experience and at the suggestion of developers, we launched the App Store Improvements process to remove apps that no…
Back in 2016, to ensure a great user experience and at the suggestion of developers, we launched the App Store Improvements process to remove apps that no…
Вопрос #16 из State of iOS Toolchain 2022. Как вы храните данные?
Anonymous Poll
47%
Core Data
29%
Realm
5%
GRDB
12%
SQLite
18%
JSON Serialization
64%
UserDefaults
50%
Keychain
4%
Другое решение
13%
Посмотреть результаты
Додо подготовили очень детальный рассказ про то, как они покрывают unit, UI и скриншотными тестами свое приложение: как начинали, с какими проблемами столкнулись, какую пользу получили.
Хабр
Тест-ревью: как прошли два года написания unit-тестов
Часто слышу мнение, что unit-тесты не нужны для мобильной разработки: в приложении должно быть минимум логики, основная работа с UI, а его сложно тестировать, да ещё и тесты отнимают время, которое...
Обратите внимание – баги Swift переехали из отдельного багтрекера прямо на GitHub. Искать среди них свою ошибку, воркэраунды и заводить новые тикеты теперь намного проще!
GitHub
Issues · swiftlang/swift
The Swift Programming Language. Contribute to swiftlang/swift development by creating an account on GitHub.
Научись использовать SwiftUI и Backend Driven UI
В Ozon Tech открылся набор на бесплатный курс для iOS-разработчиков
Тебя ждет:
🔹Два месяца онлайн-занятий
🔹Менторство от экспертов и тьюторов
🔹Опыт разработчиков лидирующего e-com с настоящим highload
🔹Офферы в Ozon для лучших выпускников
🔹Вебинары по вторникам и четвергам с 19:00 до 21:00
🔹Воркшопы по субботам с разбором кейсов от экспертов e-com
Как попасть на курс?
Оставь заявку на сайте ➡️ 15 мая пройди отборочный контест ➡️ попади в рейтинг лучших ➡️ развивайся под менторством экспертов Ozon.
Регистрация на курс
В Ozon Tech открылся набор на бесплатный курс для iOS-разработчиков
Тебя ждет:
🔹Два месяца онлайн-занятий
🔹Менторство от экспертов и тьюторов
🔹Опыт разработчиков лидирующего e-com с настоящим highload
🔹Офферы в Ozon для лучших выпускников
🔹Вебинары по вторникам и четвергам с 19:00 до 21:00
🔹Воркшопы по субботам с разбором кейсов от экспертов e-com
Как попасть на курс?
Оставь заявку на сайте ➡️ 15 мая пройди отборочный контест ➡️ попади в рейтинг лучших ➡️ развивайся под менторством экспертов Ozon.
Регистрация на курс
Вопрос #17 из State of iOS Toolchain 2022. Какой подход к модуляризации вы используете?
Anonymous Poll
9%
SwiftPM / Targets
25%
SwiftPM / Packages
11%
SwiftPM / Mixed targets & packages
19%
xcodeproj targets
11%
Multiple xcodeproj'ects
27%
Development CocoaPods
5%
Tuist Targets
3%
Другое
16%
Не использую модуляризацию
16%
Посмотреть результаты
⚠️Firebase App Distribution в России – всё
Последнюю неделю подписчики периодически жаловались на то, что в Firebase отваливался App Distribution – нельзя было установить сборки на телефоны с российскими IP. Сегодня количество жалоб на такое поведение в нашем чате выросло еще сильнее. Вот что отвечает саппорт:
“Firebase is available in most countries and regions. However, Firebase restricts access to some of its business services in certain countries or regions. At this time, distribution of pre-release app versions via Firebase App Distribution is restricted in Russia”.
Если у вас есть информация про работоспособность других сервисов Firebase – расскажите в реплаях.
Последнюю неделю подписчики периодически жаловались на то, что в Firebase отваливался App Distribution – нельзя было установить сборки на телефоны с российскими IP. Сегодня количество жалоб на такое поведение в нашем чате выросло еще сильнее. Вот что отвечает саппорт:
“Firebase is available in most countries and regions. However, Firebase restricts access to some of its business services in certain countries or regions. At this time, distribution of pre-release app versions via Firebase App Distribution is restricted in Russia”.
Если у вас есть информация про работоспособность других сервисов Firebase – расскажите в реплаях.
Ежегодный дайджест Swift Server Work Group. Ключевые результаты:
📌Новая concurrency модель облегчит написание серверного кода
📌Улучшился тулинг: поддержка VSCode, скрипты для установки Swift на другие платформы, GitHub Actions
📌Улучшилась документация
📌Подросла экосистема
На следующий год цели такие:
🎯Продолжать растить экосистему
🎯Продолжать работать над многопоточкой
🎯Продолжать улучшать тулинг
🎯Улучшать время сборки
🎯Повышать адопшн
К слову, про адопшн – в самом дайджесте ни слова про текущий уровень, так что не пытайтесь искать.
📌Новая concurrency модель облегчит написание серверного кода
📌Улучшился тулинг: поддержка VSCode, скрипты для установки Swift на другие платформы, GitHub Actions
📌Улучшилась документация
📌Подросла экосистема
На следующий год цели такие:
🎯Продолжать растить экосистему
🎯Продолжать работать над многопоточкой
🎯Продолжать улучшать тулинг
🎯Улучшать время сборки
🎯Повышать адопшн
К слову, про адопшн – в самом дайджесте ни слова про текущий уровень, так что не пытайтесь искать.
Swift.org
SSWG 2021 Annual Update
Since the last update from the SSWG, the Swift on Server ecosystem has continued to grow and expand.
Подкаст Санделла про сложности в реализации приложения текстового редактора. Отдельным пунктом разбирается, как выделять всю бизнес-логику приложения в отдельный самостоятельный фреймворк.
Swift by Sundell
115: “A framework and an app”, with special guest Simon Støvring | Swift by Sundell
Simon Støvring returns to the show to talk about how he built his new text editor Runestone, how to effectively manage an app’s settings, performance tuning, and implementing an app’s core logic as a stand-alone framework.