iosgr | Технологии

Telegram-канал iosgr - iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

10615

Самые интересные статьи, видео и новости, связанные с iOS разработкой. Не больше трёх материалов в день. Лучшее iOS сообщество в Телеге: @iosgt Размещение рекламы: @tatiana_2209

Подписаться на канал

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Логирование частоты рендера SwiftUI вьюх

DataTile – логгер, который умеет визуализировать серии данных. Один из примеров его использования – логирование того, насколько часто пересоздаются какие-то вьюхи. Для этого создается кастомный модификатор, который при каждом своем вызове логирует номер своего вызова с помощью os_log. Данные из os_log уже подхватываются и визуализируются DataTile.

Перевод на русский язык

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Серия статей про Swift Charts

Завершилась отличная серия статей от Маджида про Swift Charts.

📊Basics
📊Mark styling
📊Custom Marks
📊Interactions
📊Customizations
📊Legends
📊Accessibility


Перевод на русский язык

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Point-Free про модуляризацию

Бесплатный эпизод Point-Free про современный подход к модуляризации приложений с помощью SPM. Рассматривают несколько разных подходов к выделению модулей, начиная от самого очевидного вынесения в отдельные модули моделей и хелперов, заканчивая разными способами нарезки фичей.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Команда Ozon в поиске мобильного разработчика iOS 🔍

Вам предстоит развивать мобильное приложение для 100 000 продавцов, участвовать в задаче по переходу с UIKit на SwiftUI, интегрировать внутренние библиотеки и многое другое.

Стек: SwiftUI, Combine (View слой), Needle, Alamofire, Unit, Snapshot, UI-тесты

Задачи:
✔️ Участвовать в разработке приложения
✔️ Включаться в обсуждение дизайна
✔️ Разрабатывать новые идеи по фичам
✔️ Участвовать в code review
✔️ Писать тесты

Условия:
✔️ Удаленка, гибрид или офис (Россия, Казахстан) — выбирать тебе
✔️ Свобода действий в принятии решений
✔️ Конкурентное предложение по зарплате
✔️ А также система бонусов, с возможностью влиять на свой совокупный доход

Если ты хочешь влиться в команду крупнейшего e-commerce и твой опыт разработки на Swift от 2 лет — оставляй отклик на сайте

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Нотации чисел при форматировании

Если вы пропустили, то в iOS 15 появилась возможность форматировать числа в компактный вид. Например, 1,1К вместо 1100.

Эта настройка форматирования чейнится и с другими, например, .significantDigits, позволяя получить 10,6К из числа 10645.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Бенчмарки в App Store Connect

App Store Connect теперь дает возможность сравнить ключевые метрики своего приложения с о средним по конкурентам:

📈Конверсия в загрузку
📈Дневной, недельный и месячный ретеншн
📈Креш рейт
📈ARPPU

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Best practices по работе с TCA

Команда The Browser Company, которые разрабатывают браузер Arc на Swift, самые крупные адоптеры архитектуры ТСА. Они подготовили набор рекомендаций, которых стоит придерживаться в больших кодовых базах с ТСА: моделирование стейта, редьюсеры, тестирование, зависимости и слой View.

Перевод на русский язык

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

ВКонтакте подготовили Weekend Offer для C++ и мобильных разработчиков

ВКонтакте — крупнейшая социальная сеть в России и странах СНГ, а Weekend Offer, в свою очередь, — шанс попасть в одну из десяти команд профессионалов за одни выходные. Направления три: Android, iOS и BackEnd (C++).

Отклики ждут до 9 марта тут: до этого времени с вами свяжутся, назначат короткий техскрининг и после - слот для онлайн-интервью в выходные.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Новый модификатор scrollViewBounceBehavior

В iOS 16.4 появился новый модификатор для скроллящихся вьюх в SwiftUI – .scrollBounceBehavior(.basedOnSize). Благодаря ему сделать вьюху, которая будет скроллиться только когда ее контент выходит за границы ее фрейма, супер просто.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Почему Rust плохо подходит для работы с UI

Про Rust регулярно заходят разговоры в нашем чате, поэтому держите еще одну статью.

Несмотря на то, что Rust проникает практически везде – ядра операционных систем, браузеры и облака, UI проектов на Rust практически нет. При этом фреймворк для создания GUI – одна из самых часто запрашиваемых пользователями фичей. В статье разбирается, какие особенности языка делают работу с UI тяжелой, и как их можно обойти с помощью Elm или ECS like архитектур.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

В Xcode 14.3 пропадет совместимость с Rosetta

Если вы запускали Xcode в режиме совместимости с Rosetta, чтобы собирать старые Cocoapods зависимости на Apple Silicon, скоро у вас будут проблемы.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Поддержка merge queues на GitHub

Больше не придется по несколько раз подливать main ветку и заново дожидаться прохождения всех проверок. Когда вы нажимаете кнопку «Merge», ваша ветка сравнивается не против main, а против main+всех остальных веток, которые висят в очереди перед вами.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

EditKit Pro – расширение для Xcode с поддержкой разных рефакторингов

Примеры фичей:
💅Beautify JSON
📐Разбитие длинной строки кода на мультилайн
👀Сортировка импортов или любого выделения по алфавиту
🤷Оборачивание в ifdef
📘Автооборачивание строк в NSLocalizedString

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

VK Mini Apps в 3 раза увеличила выплаты за показ в приложениях баннерной рекламы.

Платформа стремится сделать всё, чтобы разработчики могли монетизировать свои проекты и зарабатывать на них. Новая технология ротации баннерной рекламы в опубликованных сервисах позволит легче интегрировать рекламу в мини-приложения и увеличит доход владельцев сервисов.

Объявления подбираются под аудиторию конкретного сервиса, рендерятся и отображаются с помощью инструментов VK Mini Apps. Также не нужно адаптировать элементы объявления вручную, как было раньше. Все очень удобно.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Судьба Fastlane

Начнем с предыстории. Когда-то у Twitter был замечательный сервис Fabric, в который входило распространение тестовых билдов, аналитика по крешам и перфомансу. В какой-то момент в команду Fabric наняли Felix Krause, основного ментейнера Fastlane. Не очень понятно, что в этот момент произошло с правами на IP, но основной идеей было дать Феликсу возможность фуллтайм работать над проектом, важным для всех разработчиков.

Спустя два года, Fabric был продан гуглу, которые интегрировали его в Firebase. В нагрузку к Fabric к ним перешел и Fastlane, причем уже, кажется, без Феликса.

Последствия этого решения начали отстреливать сейчас. Внутри Google Fastlane никому не нужен, его развитием занимается только несколько сторонних контрибьюторов на бесплатной основе. Получать донаты от других компаний за свою работу они не могут, ведь все права на проект принадлежат Google.

У сообщества появилась идея передать Fastlane в Mobile Native Foundation. К этому готовы и основной ментейнер проекта, и сам фонд. Основная проблема – найти в Google хоть кого-то, кто готов задрайвить принятие решения о переносе проекта. Пока, кажется, безуспешно.

upd: Процесс пошел

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Test Plans стали дефолтными в Xcode 14.3

Я совсем пропустил – в Xcode 11 появились Test Plans. По сути, это способ организовать вместе группы тестов, чтобы их удобно было запускать в Xcode или из консоли. Так вот, в новой версии Xcode Test plans – дефолтный способ организации тестов. Если вы еще не конвертнулись в них, сейчас самое время.

Перевод на русский язык

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Перевод на Bazel большого проекта

Подробный кейс-стади перевода большого iOS проекта на сборку с помощью Bazel. В статье рассказывают про настройку удаленных билд кэшей, распределенную сборку проекта, проблемы с интеграцией с Xcode и управление зависимостями.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Использование Swift Charts для создания анимаций

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

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Когда лучше использовать кастомные View, а когда – модификаторы

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

Перевод на русский язык

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

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

Если хотите подтянуть язык для работы в IT — попробуйте Яндекс Практикум. Они запустили курсы специально для разработчиков, аналитиков и продакт-менеджеров.

В основе обучения — занятия с личным преподавателем, дополнительно вас ждёт разговорная практика с иностранными IT-специалистами. Они помогут освоить язык на примере собеседований, стендапов, ревью и других рабочих встреч. Будет проще пройти реальное англоязычное собеседование, если вы уже тренировали его на занятиях.

Записывайтесь на бесплатную консультацию к куратору. Он определит ваш уровень языка и расскажет о курсе.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Миграция большого проекта на Tuist

Asana перевели свой проект на Tuist и, как результат, сократили время сборки проекта с 45 до 15 секунд. В статье рассказывают про процесс миграции, встреченные проблемы и другие полученные плюсы.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Градиенты на SwiftUI под любыми углами

У LinearGradient есть несколько стандартных направлений градиента, например top и leading. Под капотом эти направления представляют собой тип UnitPoint, и вы можете с его помощью задавать произвольные направления. В статье приводится пример кода по конвертации углов в нужные значения.

Перевод на русский язык

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Appwrite – бесплатный self-hosted BaaS, альтернатива Firebase

- В Appwrite есть cloud-функции, база данных, хранение файлов, пуши.
- Инстанс Appwrite можно поднять в любом облаке, тарифы которого вам подходят.
- Есть готовые SDK для всех платформ.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

User breakpoints в Xcode

Со временем в проекте появляются не только специфичные для его кода брейкпойнты, но и универсальные. Например, срабатывающие в определенные этапы жизненного цикла приложения, или завязанные на эксепшны. Чтобы не настраивать их каждый раз отдельно, в Xcode есть возможность пошарить их между всеми проектами.

Для этого нажиите правой кнопкой мыши на брейкпойнте -> Move breakpoint to -> User.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Как собрать XCFramework из Rust кода

В статье дается подробная инструкция по тому, как собрать Rust библиотеку для разных платформ и архитектур, собрать хэдеры и modulemap, завернуть это в XCFramework, подебажить его и подключить к своему проекту. Статья будет полезна и тем, кто хочет разобраться в структуре и принципах работы XCFramework в отрыве от Rust.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Релиз VoiceOver Designer

Михаил Рубанов зарелизил инструмент для дизайна, прототипирования и тестирования accessibility.

Идея такая – загружаете макет экрана, размечаете доступные элементы, прописываете их свойства. После этого макет можно заливать на телефон и проверять, как он ведет себя с точки зрения незрячего пользователя. Или передать разработчикам на реализацию в приложении.

🛒App Store
🎥Видео с историей создания
💻Код проекта

Если хотите получить промокод для стора, расскажите в комментариях, как вы организуете accessibility в ваших проектах. Миша отберет лучшие комменты и пришлет им промокоды!

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

KMM глазами iOS разработчика

Команда автора статьи использует КММ для шаринга всей независимой от платформы бизнес-логики: запросов в сеть, парсинга и хранения данных, авторизации, валидации, работы со стейтом экранов.

Основные проблемы, с которыми сталкиваются у них iOS разработчики:

- Интероп Kotlin с Objective-C/Swift не всегда простой и очевидный.
- Для разработки требуется держать открытыми сразу несколько IDE, что повышает требования к железу.

Помимо проблем, в статье разбирается, как использование КММ влияет на архитектуру проекта, как проще всего прокидывать зависимости, реализовывать навигацию и дебажить проект.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Heroku без предупреждения удаляет продакшн базы данных

А помните, был такой Heroku? Благодаря хорошо проработанному UX и бесплатным тарифам многие мобильщики использовали его для хостинга бэкенда своих проектов.

Полгода назад они решили изменить прайсинг и убить бесплатные тарифы. Причем сделали они это довольно не красиво, дав довольно мало времени на миграцию с сервиса.

А сейчас выяснилась еще одна проблема. Даже для платных инстансов могут удалить подключенную базу, причем без уведомлений об этом и без возможности восстановить ее. Поэтому, если у вас остаются проекты на Хероку, задумайтесь о переезде или хотя бы о бэкапе.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

IceCube – опенсорсный клиент для Mastodon на SwiftUI

IceCube – один из лучших айосных клиентов для Мастодона по наполненности фичами, интерфейсу и удобству пользования им. Но что еще круче – он полностью бесплатный, а код приложения лежит в опенсорсе и активно допиливается айосным коммьюнити. Например, автор Pulse, про который я регулярно тут рассказываю, периодически закидывает PR по оптимизации перфоманса.

Если вам стало интересно залезть в кодовую базу, то в статье по ссылке рассказано больше деталей про организацию проекта, архитектуру и реализацию навигации. За проектом я рекомендую следить – у него есть все шансы стать одним из лучших открытых примеров крупных SwiftUI проектов.

💻Проект на GitHub

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Как генерировать консистеные палитры со случайными цветами

На прошлой неделе я делился записью подкаста про цветовые пространства. Если вам стало интересно, то можете продолжить знакомство с темой этой статьей. Автор рассказывает о недостатках RGB, и делится алгоритмом генерации палитр из подходящих друг другу цветов с помощью пространств HSL и LCh.

Перевод на русский язык

Читать полностью…
Подписаться на канал