TCA at scale
- Krzysztof Zablocki рассказывает про свой опыт использования ТСА в огромном проекте
- Основные проблемы: тесты слишком привязаны к деталям имплементации, сложно обозначить границы между action’ами, перфоманс заметно падает с ростом системы
- Krzysztof Zablocki рассказывает про свой опыт использования ТСА в огромном проекте
- Основные проблемы: тесты слишком привязаны к деталям имплементации, сложно обозначить границы между action’ами, перфоманс заметно падает с ростом системы
Krzysztof Zabłocki
Composable Architecture @ Scale
Last week I spoke at NSSpainX to talk about how to use Composable Architecture in larger projects, the kind of issues you might run into and how you can work around them.
Mentioned articles are:
- Exhaustive testing in TCA
- TCA Action Boundaries
- TCA Action…
Mentioned articles are:
- Exhaustive testing in TCA
- TCA Action Boundaries
- TCA Action…
👍10🤯2
Официальный дизайн-кит в Sketch для iOS 16
Apple обновили официальный дизайн-кит: поддержка iPhone 14, виджеты для lock screen, новые клавиатуры, меню и куча других изменений.
Apple обновили официальный дизайн-кит: поддержка iPhone 14, виджеты для lock screen, новые клавиатуры, меню и куча других изменений.
👍27🔥3❤🔥2👎2🤩1
Курс от Google про то, как правильно писать сообщения об ошибках
- Курс сфокусирован на developer-facing ошибках, и пригодится разработчикам, которые разрабатывают библиотеки и тулинг
- Главная мысль курса – сообщения об ошибках должны отвечать на два вопроса: что пошло не так и как пользователю исправить проблему
- Курс сфокусирован на developer-facing ошибках, и пригодится разработчикам, которые разрабатывают библиотеки и тулинг
- Главная мысль курса – сообщения об ошибках должны отвечать на два вопроса: что пошло не так и как пользователю исправить проблему
👍16🤡4
Шаблон serverless приложения для AWS Lambda на Swift
AWS Lambda – максимально простой способ задеплоить бэкенд для своего проекта. Шаблон по ссылке это упрощает – с его помощью можно сгенерировать REST API, описанный в Swagger файле. И все это – целиком на Swift.
AWS Lambda – максимально простой способ задеплоить бэкенд для своего проекта. Шаблон по ссылке это упрощает – с его помощью можно сгенерировать REST API, описанный в Swagger файле. И все это – целиком на Swift.
🔥25🤡5👎2❤1
Forwarded from Coffee&Code | Community | IT | Android | iOS | Design | Frontend | Backend | DevOps | QA
Традиционный пятничный анонс на выходные 1-2 октября.
🌆Города, в которых на этой неделе пройдут встречи:
iOS:
🍏АЛМАТЫ
🍏АСТАНА
🍏ВИЛЬНЮС
🍏ГОМЕЛЬ
🍏ЕРЕВАН
🍏КАЗАНЬ
🍏МИНСК
🍏МОСКВА
🍏РОСТОВ-НА-ДОНУ
🍏САНКТ-ПЕТЕРБУРГ
🍏СТАМБУЛ
🍏ТБИЛИСИ
ANDROID:
🤖ЛИПЕЦК
🤖САНКТ-ПЕТЕРБУРГ
👩💻 Пообщаемся на технические темы, обсудим интересные события из мобильной разработки, разберем вопросы с собеседований и поделимся опытом!
❣️Также вы можете поддержать сообщество
🖇Подписывайтесь на наш LinkedIn
Ждём абсолютно всех.
🌆Города, в которых на этой неделе пройдут встречи:
iOS:
🍏АЛМАТЫ
🍏АСТАНА
🍏ВИЛЬНЮС
🍏ГОМЕЛЬ
🍏ЕРЕВАН
🍏КАЗАНЬ
🍏МИНСК
🍏МОСКВА
🍏РОСТОВ-НА-ДОНУ
🍏САНКТ-ПЕТЕРБУРГ
🍏СТАМБУЛ
🍏ТБИЛИСИ
ANDROID:
🤖ЛИПЕЦК
🤖САНКТ-ПЕТЕРБУРГ
👩💻 Пообщаемся на технические темы, обсудим интересные события из мобильной разработки, разберем вопросы с собеседований и поделимся опытом!
❣️Также вы можете поддержать сообщество
🖇Подписывайтесь на наш LinkedIn
Ждём абсолютно всех.
👍8❤🔥1👏1
Использование Allure для репортинга результатов тестов
- Сравнение нескольких вариантов репортинга: fastlane-plugin-test_center, XCTestHTMLReport и xcresults в связке с Allure
- Инструкция по подключению Allure к вашим тестам
- Разбор примера отчета
- Сравнение нескольких вариантов репортинга: fastlane-plugin-test_center, XCTestHTMLReport и xcresults в связке с Allure
- Инструкция по подключению Allure к вашим тестам
- Разбор примера отчета
👍9🔥2
Связка os_log и Console.app
Ребята из Додо рассказывают, как правильно репортить логи с помощью os_log таким образом, чтобы в Console.app можно было бы настроить удобную систему фильтров, позволяющую разбивать все сообщения по категориям и оценивать время исполнения разных функций.
Ребята из Додо рассказывают, как правильно репортить логи с помощью os_log таким образом, чтобы в Console.app можно было бы настроить удобную систему фильтров, позволяющую разбивать все сообщения по категориям и оценивать время исполнения разных функций.
🔥25👍6❤🔥5👎3🕊2
Истории победителей Apple Design Awards 2022
Начиная с июня, Apple публиковали кейс стади приложений и игр, получивших награду в Apple Design Awards. Максимально рекомендую тем, кто хочет разобраться, как лучше всего подходить к интерфейсам в своих проектах.
Начиная с июня, Apple публиковали кейс стади приложений и игр, получивших награду в Apple Design Awards. Максимально рекомендую тем, кто хочет разобраться, как лучше всего подходить к интерфейсам в своих проектах.
👍9❤🔥2🔥1
30 лайфхаков, которые могут повысить вашу продуктивность
💡Как быстро деманглить Swift код
💡Определение размера View без влияния на лэйаут
💡Простой градиент для заголовков навбара
💡Использование препроцессорных директив в Info.plist
💡Как быстро деманглить Swift код
💡Определение размера View без влияния на лэйаут
💡Простой градиент для заголовков навбара
💡Использование препроцессорных директив в Info.plist
www.fadel.io
30 tips to make you a better iOS developer
If you’d like to know more about the ins and outs of iOS/macOS development, you can find me on Twitter.
.image img { display: block; margin-left: auto; margin-right: auto; border-radius: 12px; } .image-caption { font-style: normal; display: inherit; text…
.image img { display: block; margin-left: auto; margin-right: auto; border-radius: 12px; } .image-caption { font-style: normal; display: inherit; text…
👍23🔥6🤯4🤡1
This media is not supported in your browser
VIEW IN TELEGRAM
Prism – рендеринг 3D объектов в SwiftUI
- Позволяет как отрисовывать объекты, так и анимировать кучу их свойств
- Работает с любым View в SwiftUI, совместим со всеми модификаторами
- Очень быстрый и не влияет на sizing
- Позволяет как отрисовывать объекты, так и анимировать кучу их свойств
- Работает с любым View в SwiftUI, совместим со всеми модификаторами
- Очень быстрый и не влияет на sizing
🔥43❤2👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Связка pull-to-refresh и Dynamic Island
Интересный пример того, как можно обыгрывать Dynamic Island в интерфейсе.
Интересный пример того, как можно обыгрывать Dynamic Island в интерфейсе.
🔥94👍25🤡9🤩1
Различия в расчете corner radius в Android и iOS
- Если в Android выставить квадрату шириной 40dp corner radius 30dp, то он будет выглядеть в точности, как corner radius 20dp
- В iOS такого не происходит, и с повышением значения corner radius форма квадрата продолжает меняться
- Так происходит потому, что в Android есть внутреннее ограничение на то, что corner radius не может быть больше, чем половина самой короткой стороны фигуры. В iOS такого ограничения нет.
- Если в Android выставить квадрату шириной 40dp corner radius 30dp, то он будет выглядеть в точности, как corner radius 20dp
- В iOS такого не происходит, и с повышением значения corner radius форма квадрата продолжает меняться
- Так происходит потому, что в Android есть внутреннее ограничение на то, что corner radius не может быть больше, чем половина самой короткой стороны фигуры. В iOS такого ограничения нет.
👍30🤡20🤯8😢2
Особенности работы с Dynamic Island
- При конфигурации WidgetKit для Dynamic Island нужно задать вьюшки для четырех состояний: compact leading, compact trailing, expanded и minimal
- Expanded-состояние делит все пространство виджета на 4 области, и позволяет задать, в каких из них конкретно мы хотим отображать контент
- Можно задавать background color для compact и minimal состояний
- При конфигурации WidgetKit для Dynamic Island нужно задать вьюшки для четырех состояний: compact leading, compact trailing, expanded и minimal
- Expanded-состояние делит все пространство виджета на 4 области, и позволяет задать, в каких из них конкретно мы хотим отображать контент
- Можно задавать background color для compact и minimal состояний
🔥14
Новые материалы в HIG про графики
📊Charts: Супер подробная статья про то, как надо подходить к дизайну всех составляющих графика: данных, осей, легенды, accessibility
📈Charting data: советы по тому, как представлять данные в виде графиков
📊Charts: Супер подробная статья про то, как надо подходить к дизайну всех составляющих графика: данных, осей, легенды, accessibility
📈Charting data: советы по тому, как представлять данные в виде графиков
👍11
This media is not supported in your browser
VIEW IN TELEGRAM
Как правильно отображать строки с динамическим временем
- Если вы используете компонент Text для отображения текущего времени, то могли сталкиваться с тем, что его ширина немного прыгает при изменении времени
- Это происходит, потому что разные цифры имеют разную ширину
- Чтобы избежать этого, примените к Text модификатор monospacedDigit()
- Если вы используете компонент Text для отображения текущего времени, то могли сталкиваться с тем, что его ширина немного прыгает при изменении времени
- Это происходит, потому что разные цифры имеют разную ширину
- Чтобы избежать этого, примените к Text модификатор monospacedDigit()
🔥90👍29😱8🤡4
Как отключить вопрос про криптографию в App Store Connect
Чтобы App Store Connect не спрашивал при каждой загрузке билда в TestFlight, использует ли приложение криптографию, установите в Info.plist свойство App Uses Non-Exempt Encryption.
Чтобы App Store Connect не спрашивал при каждой загрузке билда в TestFlight, использует ли приложение криптографию, установите в Info.plist свойство App Uses Non-Exempt Encryption.
🔥76👍22👎2🥰1
Обзор новых пропозалов в Swift за август-сентябрь
Новый выпуск рассылки Swift Evolution Monthly:
✅Принятые пропозалы: улучшение print’ов для key path’ов, StaticBigInt и conditional compilation для атрибутов.
👨👩👧👦Планы на новые рабочие группы: Numerical/ML, Swift Tooling, Platform Support.
🔗Новые интересные питчи про возможные изменения в языке.
Новый выпуск рассылки Swift Evolution Monthly:
✅Принятые пропозалы: улучшение print’ов для key path’ов, StaticBigInt и conditional compilation для атрибутов.
👨👩👧👦Планы на новые рабочие группы: Numerical/ML, Swift Tooling, Platform Support.
🔗Новые интересные питчи про возможные изменения в языке.
👍7🔥5🌭2
Почему Bitcode был отключен в Xcode 14
Отличный ответ на Stack Overflow про то, почему Apple сначала требовали включить поддержку Bitcode во всех приложениях, а потом отказались от этого. Автор ответа рассказывает и про техническую реализацию Bitcode, и про проблемы, которые вызывает его использование.
Отличный ответ на Stack Overflow про то, почему Apple сначала требовали включить поддержку Bitcode во всех приложениях, а потом отказались от этого. Автор ответа рассказывает и про техническую реализацию Bitcode, и про проблемы, которые вызывает его использование.
Stack Overflow
Xcode 14 deprecates bitcode - but why?
Xcode 14 Beta release notes are out, all thanks to the annual WWDC.
And alas, the Bitcode is now deprecated, and you'll get a warning message if you attempt to enable it.
And I was wondering, why has
And alas, the Bitcode is now deprecated, and you'll get a warning message if you attempt to enable it.
And I was wondering, why has
👍39