Обновление SFSymbols c 1000 новых символов
Вышло обновление приложения SFSymbols от Apple:
- 1000 новых символов
- Поддержка variable color
- Улучшения рендеринга
Как писать CLI тулинг на Swift
- ArgumentParser – фреймворк от Apple, который дает возможность описывать интерфейс CLI программы с помощью структур.
- Благодаря этому можно очень просто создавать инструменты с большим количеством команд и подкоманд.
- В статье подробно разбирается пример разработки такого инструмента с ввводом и валидацией пользовательских данных и обработкой ошибок.
Periphery – инструмент для обнаружения неиспользуемого кода
- Periphery собирает ваш проект, анализирует его структуру, мутирует граф зависимостей и в итоге выявляет неиспользуемый код.
- Помимо неиспользуемых деклараций классов, протоколов и структур, Periphery умеет делать и более сложные проверки. Например, находить неиспользуемые параметры функций, enum cases, переменные, которые были инициализированы, но не использованы.
- Можно подключить к Xcode для локальной работы или настроить на CI.
Как упростить Package.swift
Если вы подключаете одну и ту же зависимость сразу ко многим таргетам, вы можете вынести ее описание в отдельную переменную и переиспользовать ее. А вот тут можно посмотреть этот подход на максималках.
Шаблоны для дизайна Live Activities от Apple
Apple добавили Sketch и XD шаблоны для макетов Live Activities.
NavigationSplitView в SwiftUI
- NavigationSplitView позволяет реализовывать приложения с лэйаутом в несколько колонок.
- Его можно настроить для работы либо с двумя, либо с тремя колонками.
- Одна из вьюх автоматически заворачивается в сайдбар, две другие – в NavigationStack.
- Видимостью колонок можно управлять программно с помощью типа NavigationSplitViewVisibility.
- Также можно настраивать ширину колонок и их визуальный стиль.
Отображение имен функций в git diff
В статье рассказывается, как можно кастомизировать вывод команды git diff, чтобы вместо названий файлов, в которых произошли изменения, показывались заголовки конкретных функций.
Разборы системных приложений от канала Код Воробья
📆Как устроен Календарь: скролл с пейджингом и ячейки с двухслойными картинками для оптимизации скролла
🧮Как устроен Калькулятор: сцены и сетка кнопок на фреймах
👋Как устроен онбоардинг в App Store: UIScrollView и стеки вьюшек
Подписывайтесь на канал, помимо таких разборов там много других классных штук!
Горизонтальный скролл в секциях UICollectionView с помощью orthogonalScrollingBehavior
- До iOS 13 горизонтальный скролл секций внутри коллекции реализовывался с помощью UIScrollView
- В iOS 13 все упростилось с появлением UICollectionViewCompositionalLayout
с поддержкой orthogonalScrollingBehavior
- В посте разбирается, как переехать на новый способ организации лэйаута
Узкий, но полезный кейс. Кеширование AVUrlAsset, загруженных AVPlayer’ом.
https://habrahabr.ru/company/funcorp/blog/346848/
#sdk #video
Извините, но еще один опрос. На этот раз от наших друзей, которые делают Mobius этой весной. Помогите ребятам определиться, нужны ли доклады про кроссплатформу, или пора их закопать.
https://ru.surveymonkey.com/r/LXLZJWC
#conferences
Хотите следить за развитием свифта? Можно смело отписываться от списка рассылки и начинать читать новый форум.
https://forums.swift.org/
#swift
Badoo рассказывают, как они работают с локализацией в приложении с минимальными усилиями для разработчиков, переводчиков и аналитиков.
https://habrahabr.ru/company/badoo/blog/346458/
#ui
Разбираемся, как правильно работать с моками в свифте.
https://www.swiftbysundell.com/posts/mocking-in-swift
#testing #swift
Подвез вам отличную вакансию в цикле iOS Good Jobs. От себя скажу, что работать в Avito – это очень круто.
http://telegra.ph/iOS-Good-Jobs-4-01-11
#jobs
Градиент в Swift Charts
В статье разбирается, как можно сконфигурировать Bar Chart из Swift Charts таким образом, чтобы цвет градиента соответствовал значениям по оси Y. Получается очень классное решение всего в 15 строк кода.
Разбор частых ошибок в работе со Swift Concurrency
В статье разбираются неочевидные особенности работы async-await, с которыми не помогает компилятор, и их влияние на ваш код. Например, поведение очередей различается на симуляторе и устройстве.
Как работает звук
Главный лонгрид недели – Bartosz Ciechanowski, которого вы знаете по крутейшим интерактивным статьям о принципах работы GPS и механических часов, выпустил новый материал. В нем он разбирает основные принципы того, как в атмосфере передаются звуки, и что влияет на то, что именно мы слышим.
Xcode 14 Single Size App Icon
- В Xcode 14 появилась невероятная возможность – вместо ручной нарезки иконок приложения под разные размеры загрузить одно изображение 1024х1024, которое Xcode будет ресайзить сам.
- Эта фича доступна только для iOS и watchOS.
- Если вам нужно подкрутить дизайн иконок в зависимости от их размера, все еще можно задать их по отдельности.
- В Xcode 14 появились новые размеры иконок со сторонами 114px, 128px, 136px и 192px.
Flux на SwiftUI
Самая частая архитектура, использующаяся в связке со SwiftUI – MVVM. Но ее реализация часто доставляет много проблем и сложностей. 3 ноября пройдет вебинар Николая Балакланова, на котором он расскажет про архитектуру Flux и проведет воркшоп по реализации с ее помощью небольшого приложения. А сам вебинар является частью еще большего курса, на который вы тоже сможете записаться при желании – "iOS Developer. Professional" от OTUS.
Дата: 3 ноября, 20:00
Регистрация
Книга про дженерики в Swift
Слава Пестов из команды Swift выложил первую часть книги про то, как работают дженерики под капотом:
- Какие ключевые идеи лежат в основе реализации дженериков
- Погружение в общие принципы работы компилятора Swift и его компонентов
- Детали реализации дженериков: разбор AST, generic signatures, substitution maps, conformances generic environments
👉Книгу можно прочитать в PDF, 219 страниц
Возможное появление макросов в Swift
У любого языка программирования есть как минимум одна проблема: он либо не поддерживает макросы, либо, наоборот, поддержка макросов у него есть.
В Swift появился пропозал, который предлагает перевести язык из первой категории во вторую. Автор объясняет его смысл следующим образом. Многие новые языковые фичи – просто синтаксический сахар, который просто сокращает более сложные конструкции, а не позволяет делать что-то принципиально новое. Введение в язык таких фичей – сложный трейд-офф. Макросы помогут не переусложнять язык встроенным сахаром, а оставить его подключение на откуп каждому разработчику.
🤔Подробный пропозал
💬Обсуждение на форуме
Виктор Брыксин из Яндекса стартанул серию постов про свой фреймворк для реактивщины.
bober_maniac/%D1%8F%D0%B4%D0%B5%D1%80%D0%BD%D1%8B%D0%B9-%D1%80%D0%B5%D0%B0%D0%BA%D1%82%D0%BE%D1%80-%D0%BE%D0%B1%D0%B7%D0%BE%D1%80-6b40439ec8d" rel="nofollow">https://medium.com/@bober_maniac/%D1%8F%D0%B4%D0%B5%D1%80%D0%BD%D1%8B%D0%B9-%D1%80%D0%B5%D0%B0%D0%BA%D1%82%D0%BE%D1%80-%D0%BE%D0%B1%D0%B7%D0%BE%D1%80-6b40439ec8d
#reactive
В полку опенсорсных приложений прибыло. Ловите клиент для DuckDuckGo.
https://github.com/duckduckgo/iOS
#opensource
Кстати, несколько видео на ночь глядя с недавнего яндексового митапа в Питере. Функциональщина, архитектура от Альфы и процессы.
https://habrahabr.ru/company/yamoney/blog/346660/
#meetups
Пришла пора провести ежегодный опрос про известность отечественных команд мобильной разработки. Шарьте друзьям, коллегам, мамам. И голосуйте сердцем.
https://goo.gl/forms/UUdy7wgB9QFdCfBj2
#polls
Ребята год собирали статистику по тому, сколько времени у них уходит на сборку проекта в Xcode, прогон тестов и прочие активности. Потом проанализировали, сколько времени уходит впустую на ожидание сборки (спойлер: 3 часа), и как на уменьшение этого времени повлияли CI и модуляризация проекта.
taykalopaul/xcode-activity-time-tracking-results-of-2017-43d1cd6ffcdc" rel="nofollow">https://medium.com/@taykalopaul/xcode-activity-time-tracking-results-of-2017-43d1cd6ffcdc
#productivity #tools #ci
На простом примере Бугаенко показывает, что SRP – бесполезен. Все как вы любите.
http://www.yegor256.com/2017/12/19/srp-is-hoax.html
#solid
Макс Соколов рассказывает о куче лайфхаков, которые позволили ему запилить мессенджер в Avito. Там и про архитектуру, и про свифт, и про паттерны.
https://www.youtube.com/watch?v=AEGHefuY4Q0
#architecture #swift