Темизация кастомных компонентов SwiftUI
Большой гайд по использованию SwiftUI view style API для того, чтобы переиспользовать стили между различными кастомными компонентами в приложении. Помимо цветов, выравнивнивания и других визуальных параметров, темизации так же поддаются и параметры accessibility.
Перевод на русский язык
Большой гайд по использованию SwiftUI view style API для того, чтобы переиспользовать стили между различными кастомными компонентами в приложении. Помимо цветов, выравнивнивания и других визуальных параметров, темизации так же поддаются и параметры accessibility.
Перевод на русский язык
Как создавать кастомные SF Symbols
Если вы хотите использовать один из существующих SF Symbols, но он не до конца вас устраивает, его можно подкрутить вручную:
📥Экспортируйте его из SF Symbols через File->Export, и откройте в Sketch
🖌️Подкрутите нужный вам слой
📤Экспортируйте его в SVG и перенесите обратно в SF Symbols
Перевод на русский язык
Если вы хотите использовать один из существующих SF Symbols, но он не до конца вас устраивает, его можно подкрутить вручную:
📥Экспортируйте его из SF Symbols через File->Export, и откройте в Sketch
🖌️Подкрутите нужный вам слой
📤Экспортируйте его в SVG и перенесите обратно в SF Symbols
Перевод на русский язык
Как ускорить инкрементальный билд, если вы используете SwiftLint
Если вы видите такой ворнинг в своем проекте, то статья помодет не только избавиться от него, но и существенно ускорить инкрементальный билд, благодаря тому, что SwiftLint будет запускаться не всегда.
Перевод на русский язык
warning build: Run script build phase 'SwiftLint' will be run during every build because it does not specify any outputs
Если вы видите такой ворнинг в своем проекте, то статья помодет не только избавиться от него, но и существенно ускорить инкрементальный билд, благодаря тому, что SwiftLint будет запускаться не всегда.
Перевод на русский язык
Перевод GitHub Action Runners на self hosted macOS виртуалки
- Cilicon – инструмент для запуска macOS виртуалок, под капотом которого используется Virtualization Framework.
- Авторы Cilicon используют его для того, чтобы экономить на дорогих macOS агентах в GitHub.
- Помимо экономии, они получили профит и в скорости – MacBook Pro на M1 справляются с задачами где-то в 3 раза быстрее обычных агентов.
Перевод на русский язык
- Cilicon – инструмент для запуска macOS виртуалок, под капотом которого используется Virtualization Framework.
- Авторы Cilicon используют его для того, чтобы экономить на дорогих macOS агентах в GitHub.
- Помимо экономии, они получили профит и в скорости – MacBook Pro на M1 справляются с задачами где-то в 3 раза быстрее обычных агентов.
Перевод на русский язык
This media is not supported in your browser
VIEW IN TELEGRAM
Play – инструмент для работы с дизайном интерфейсов на iOS
Кажется, это первый полноценный редактор UI на мобильных устройствах. Из интересного:
*️⃣Импорт из Figma
*️⃣Разработка интерактивных макетов с поддержкой жестов
*️⃣В макеты можно встраивать нативные контролы iOS
Кажется, это первый полноценный редактор UI на мобильных устройствах. Из интересного:
*️⃣Импорт из Figma
*️⃣Разработка интерактивных макетов с поддержкой жестов
*️⃣В макеты можно встраивать нативные контролы iOS
Конференция Podlodka iOS Crew про инфраструктуру
👀Поддержка AB тестирования и аналитики для большого проекта
👀Выстраивание архитектуры сложных CI/CD скриптов
👀Решение dependency hell с помощью Bazel
👀Работа с App Store Connect API без Fastlane
👀Продвинутые фичи Firebase, Gitlab CI и GitHub Actions
А так, все как вы любите – куча воркшопов, разбор экспертами ваших кейсов, прикладные tips&tricks и куча общения в закрытом сообществе в Телеге.
📆Даты: 27 февраля – 3 марта
👀Поддержка AB тестирования и аналитики для большого проекта
👀Выстраивание архитектуры сложных CI/CD скриптов
👀Решение dependency hell с помощью Bazel
👀Работа с App Store Connect API без Fastlane
👀Продвинутые фичи Firebase, Gitlab CI и GitHub Actions
А так, все как вы любите – куча воркшопов, разбор экспертами ваших кейсов, прикладные tips&tricks и куча общения в закрытом сообществе в Телеге.
📆Даты: 27 февраля – 3 марта
podlodka.io
Онлайн-конференция Podlodka iOS Crew, сезон #15
Недельное мероприятие от команды Podlodka: ежедневные интерактивные сессии в Zoom по актуальным проблемам iOS-разработки, нон-стоп общение с экспертами и звёздами индустрии, закрытое профессиональное сообщество в Telegram.
Эволюция архитектуры iOS приложения Facebook
10 лет быстрого роста команды и постоянно меняющихся требований привели архитектуру Facebook к следующему состоянию:
🤯Классов настолько много, что Xcode не может их загрузить.
📦Apple SDK практически нигде не используется напрямую, вокруг всего написаны свои абстракции.
🛠️Куча кодогенерации на Buck.
⏰Если отключить кастомные механизмы кеширования, билд приложения занимает сутки.
В статье разбирается, как кодовая база дошла до такого состояния и как принимались технические решения.
Перевод на русский язык
10 лет быстрого роста команды и постоянно меняющихся требований привели архитектуру Facebook к следующему состоянию:
🤯Классов настолько много, что Xcode не может их загрузить.
📦Apple SDK практически нигде не используется напрямую, вокруг всего написаны свои абстракции.
🛠️Куча кодогенерации на Buck.
⏰Если отключить кастомные механизмы кеширования, билд приложения занимает сутки.
В статье разбирается, как кодовая база дошла до такого состояния и как принимались технические решения.
Перевод на русский язык
VK подготовили Weekend Offer в команды Дзена, Почты Mail.ru, Антиспама и Маруси для ML- и мобильных разработчиков
Java-разработчиков тоже ищут, в команде ML Дзена (для тех, кто хотел начать развиваться в ML).
Отклики всех причастных ждут до 16 февраля: до этого времени с вами свяжутся HR, коротко расскажут о командах и назначат слот для онлайн-интервью в выходные.
Оставить отклик можно тут
Java-разработчиков тоже ищут, в команде ML Дзена (для тех, кто хотел начать развиваться в ML).
Отклики всех причастных ждут до 16 февраля: до этого времени с вами свяжутся HR, коротко расскажут о командах и назначат слот для онлайн-интервью в выходные.
Оставить отклик можно тут
team.vk.company
Weekend Offer VK
Weekend Offer для ML-специалистов и мобильных разработчиков
ChatGPT и сториборды
Еще один пример того, как ChatGPT может помогать в рутине. Берете XML сториборды, скармливаете его нейронке, в ответ получаете практически готовый SwiftUI код.
Еще один пример того, как ChatGPT может помогать в рутине. Берете XML сториборды, скармливаете его нейронке, в ответ получаете практически готовый SwiftUI код.
Mastodon
Steve Troughton-Smith (@[email protected])
Attached: 2 images
So I crafted a storyboard in Interface Builder (pic 1). I then took that XML, pasted it into ChatGPT, and asked it to rewrite it in SwiftUI. It gave me SwiftUI code that, with the tiniest bit of massaging, I could drop into Playgrounds…
So I crafted a storyboard in Interface Builder (pic 1). I then took that XML, pasted it into ChatGPT, and asked it to rewrite it in SwiftUI. It gave me SwiftUI code that, with the tiniest bit of massaging, I could drop into Playgrounds…
Как избегать ошибок в релизном пайплайне
В отличие от обычных билдов, релизный пайплайн запускается редко. Из-за этого легко пропустить появление в нем проблем, и столкнуться с ними только в сам момент релиза. Например, такие проблемы састо появляются на этапах архивации и загрузки билда в стор.
В статье предлагается схема регулярных ночных прогонов релизных пайплайнов, которые помогут заметить ошибки максимально рано, и не двигать из-за них дату релиза.
Перевод на русский язык
В отличие от обычных билдов, релизный пайплайн запускается редко. Из-за этого легко пропустить появление в нем проблем, и столкнуться с ними только в сам момент релиза. Например, такие проблемы састо появляются на этапах архивации и загрузки билда в стор.
В статье предлагается схема регулярных ночных прогонов релизных пайплайнов, которые помогут заметить ошибки максимально рано, и не двигать из-за них дату релиза.
Перевод на русский язык
www.polpiella.dev
Testing your release pipeline using Fastlane
Some processes, such as a release pipeline, are very important but do not get run frequently. In this article, I go through how scheduled CI runs can help you spot failures early and gain confidence in your important and infrequent processes, such as release…
Как прокачать работу с i18n в вашем приложении
На первый взгляд, в локализации нет ничего сложного – закидываешь строки в Localizable.strings, отдаешь каким-нибудь переводчикам, и готово. Но не все так просто. С ростом кодовой базы, размера команды или частоты релизов вы начнете сталкиваться с ограничениями такого подхода.
Ребята из OTUS делают классный открытый урок про разные техники работы с локализацией и полезные инструменты, которые могут упростить вам жизнь. В программе воркшопа:
🐞Проблемы с разработкой и тестированием локализации
🛠Кодогенерация с помощью SwiftGen и R.swift
🔢Тонкости работы с плюрализмом в строках
🇬🇧Автоматизация ревью строковых констант с помощью Localinter
💸Платформы для профессиональных переводов строк
Воркшоп является частью онлайн-курса «iOS Developer. Professional» от OTUS
📆16 февраля в 20:00
👉Регистрация
На первый взгляд, в локализации нет ничего сложного – закидываешь строки в Localizable.strings, отдаешь каким-нибудь переводчикам, и готово. Но не все так просто. С ростом кодовой базы, размера команды или частоты релизов вы начнете сталкиваться с ограничениями такого подхода.
Ребята из OTUS делают классный открытый урок про разные техники работы с локализацией и полезные инструменты, которые могут упростить вам жизнь. В программе воркшопа:
🐞Проблемы с разработкой и тестированием локализации
🛠Кодогенерация с помощью SwiftGen и R.swift
🔢Тонкости работы с плюрализмом в строках
🇬🇧Автоматизация ревью строковых констант с помощью Localinter
💸Платформы для профессиональных переводов строк
Воркшоп является частью онлайн-курса «iOS Developer. Professional» от OTUS
📆16 февраля в 20:00
👉Регистрация
This media is not supported in your browser
VIEW IN TELEGRAM
Как следить за позицией указателя в macOS и iPadOS
В последнюю версию SwiftUI завезли новый модификатор
В последнюю версию SwiftUI завезли новый модификатор
onContinuousHover
. С его помощью можно следить за относительной позицией указателя мыши, когда он находится внутри границ вьюшки.Цвета и цветовые пространства
Вы красите кнопки, но делаете это без уважения к цветам. Чтобы исправить ситуацию, мы записали выпуск Подлодки про то, что такое цвета, какие бывают цветовые пространства и чем они различаются, как они выглядят в картинках и градиентах и как отображаются на экранах.
Вдогонку – хорошая статья за авторством гостя про историю развития цвета в CSS и новый формат OLKCH.
Вы красите кнопки, но делаете это без уважения к цветам. Чтобы исправить ситуацию, мы записали выпуск Подлодки про то, что такое цвета, какие бывают цветовые пространства и чем они различаются, как они выглядят в картинках и градиентах и как отображаются на экранах.
Вдогонку – хорошая статья за авторством гостя про историю развития цвета в CSS и новый формат OLKCH.
podlodka.io
Podlodka #305 – Цвета и цветовые пространства
Специально для тех, кто считает несправедливыми шутки про “покраску кнопок”, мы с головой ушли в увлекательный и непростой мир представления цвета в компьютерных системах. Так вот, цвета – это очень сложно! Вместе с Андреем Ситником разбираемся почему.
Репозиторий с подборками кастомных SF Symbols
На прошлой неделе я выкладывал пост с инструкцией по импорту кастомных SF Symbols. Вы можете не только рисовать их сами, но и импортировать уже подготовленные для вас.
На прошлой неделе я выкладывал пост с инструкцией по импорту кастомных SF Symbols. Вы можете не только рисовать их сами, но и импортировать уже подготовленные для вас.
Ограничения работы с ML на девайсе
Если вы планируете запускать нейронку прямо на пользовательском девайсе, то стоит быть готовым к разным проблемам и ограничениям. Список основных – в статье.
Если вы планируете запускать нейронку прямо на пользовательском девайсе, то стоит быть готовым к разным проблемам и ограничениям. Список основных – в статье.
Swift with Konstantin
Avoiding the Hidden Hazards: Navigating Non-Obvious Pitfalls in ML on iOS | Swift with Konstantin
A list of the most common pitfalls when using CoreML to run your neural networks on Apple platforms.
Формулы, описывающие относительное восприятие размеров
Я думаю, вы часто встречались с тем, что фигуры разной формы, вписанные в квадрат одного размера, воспринимаются человеческим глазом как неравные. Обычно в таких ситуациях дизайнеры начинают подгонять размеры на глаз. На самом деле, многие из таких преобразований можно делать не наугад, а используя понятные формулы. В статье разбирается несколько таких частых случаев.
Я думаю, вы часто встречались с тем, что фигуры разной формы, вписанные в квадрат одного размера, воспринимаются человеческим глазом как неравные. Обычно в таких ситуациях дизайнеры начинают подгонять размеры на глаз. На самом деле, многие из таких преобразований можно делать не наугад, а используя понятные формулы. В статье разбирается несколько таких частых случаев.
Превью ТСА 1.0
Если вы используете ТСА, то пора бетатестить первую стабильную версию и оставлять команде фидбэк. Обратная совместимость в основном не сломана, но удалено много старого кода, поэтому что-то может отвалиться.
Если вы используете ТСА, то пора бетатестить первую стабильную версию и оставлять команде фидбэк. Обратная совместимость в основном не сломана, но удалено много старого кода, поэтому что-то может отвалиться.
Книга The Swift Programming Language теперь публикуется с помощью DocC
DocC – инструмент для генерации спеки, документации и туториалов. Где-то полгода назад рабочая группа по документации Swift решила докрутить его, чтобы с его помощью можно было собирать и публиковать официальную книгу по синтаксису языка. Начиная со Swift 5.8 это стало возможным.
Почему это важная новость:
- Это отличный проект для догфудинга длинного контента. Например, в DocC ради книги добавили новую навигацию и ручной контроль над «See also».
- Контрибьютить в книгу может кто угодно. Если хотите что-то написать, разбирайте issues. Или, как вариант, подхватите перевод на русский язык.
DocC – инструмент для генерации спеки, документации и туториалов. Где-то полгода назад рабочая группа по документации Swift решила докрутить его, чтобы с его помощью можно было собирать и публиковать официальную книгу по синтаксису языка. Начиная со Swift 5.8 это стало возможным.
Почему это важная новость:
- Это отличный проект для догфудинга длинного контента. Например, в DocC ради книги добавили новую навигацию и ручной контроль над «See also».
- Контрибьютить в книгу может кто угодно. Если хотите что-то написать, разбирайте issues. Или, как вариант, подхватите перевод на русский язык.
This media is not supported in your browser
VIEW IN TELEGRAM
Алгоритм реалистичной анимации радара
Для реализации используется алгоритм «Шум Перлина». Интересный факт – за применение этого алгоритма при съемках «Трона» его автор получил Оскар.
Код на SwiftUI
Для реализации используется алгоритм «Шум Перлина». Интересный факт – за применение этого алгоритма при съемках «Трона» его автор получил Оскар.
Код на SwiftUI