Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck
9.81K subscribers
1.47K photos
72 videos
52 files
4.24K links
Все самое полезное для мобильного разработчика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/b60af5a4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a4adec1b17b35b6c0d8389
Download Telegram
🤐🤨🙄 Проблемы с эмпатией у подчиненных — что делать?

Если ваших подчиненных или коллег проблемы с эмпатией и это становится вашей проблемой — то видос для вас 💯

Для эмпатии нет никакой разницы, кто «перед ней» — гуманитарий, технарь или человек с большим опытом. Эмпатия — это навык.

Спикер поможет разобраться, как решить сложившуюся проблему в коллективе, чтобы такие люди создавали меньше проблем или не создавали их вовсе.

#видео
👍62
#дайджест полезностей для мобильного разработчика

➡️ SwiftUI Tutorials — серьезный материал от Apple, который сформирует базовые знания

➡️ Лекции Стенфорда. Бесспорно, не требующий представления ресурс, который содержит изменения за 2023 год

➡️ SwiftUI by Example — куча страниц с кодом под любую задачу

➡️ Awesome SwiftUI — список статей, обучающих программ, руководств и видосов

➡️ SwiftUI Weekly — обновляемый список ссылок на материалы
23🔥17👍15👏11🥰8
Вопрос по Swift
#вопросы_с_собеседований

Как можно кастомизировать view transitions в Swift UI?
...............................................................................................................

Можно использовать модификатор .transition(), чтобы настроить переход между двумя вьюхами. Можно указать тип перехода, например .slide, .move или .scale, и направление перехода, например .leading, .trailing, .top или .bottom.
👍101
А не эти ваши текстовые комменты 😂😂
😁1610
🧑‍💻🤷 Понимание разницы между KSP и KAPS в Kotlin

Kotlin поставляется с богатой экосистемой библиотек и инструментов, и среди них: KSP (Kotlin Symbol Processing) и KAPS (Kotlin Annotation Processing Suite), часто используемые для оптимизации генерации кода и упрощения обработки аннотаций.

KSP — платформа обработки аннотаций. Предлагает несколько отличительных особенностей:
строгая типизация
улучшенная производительность
интеграция с Kotlin

KAPS — фреймворк обработки аннотаций.
простота
совместимость
расширяемость

Изучить подробнее

#туториал
🔥7👍21
🔥💪 Google-новости

2023й стал продуктивным и для Google. Они отпраздновали 25-летие и решили выкатить пачку инноваций. Компания проработала свой ИИ, улучшила поиск и внесла кучу фичей в Android и Bard.
Своим прорывом они считают свой Pixel, который напичкан DeepMind-ом, камера с ИИ, производительное ПО и новые процы.
В видосе вас ждет новый Pixel, Google Tensor, Pixel Watch 2 и другие вкусняшки.

14:20 Введение
22:39 Pixel Watch 2
34:12 Pixel 8 + Pixel 8 Pro
35:48 Дизайн Pixel 8 + Pixel 8 Pro
41:07 Google Tensor
46:40 Камера Pixel 8 + Pixel 8 Pro
1:02:04 Google Assistant
1:08:43 Будущее Pixel

#новость
👍146😁4🥰3👏3
Forwarded from Библиотека программиста | программирование, кодинг, разработка
💼🖥️ Топ лучших бирж фриланса и платформ для программистов

Где начинающему разработчику найти работу и получить первый коммерческий заказ? В этом могут помочь фриланс-биржи и human-cloud платформы. Но какие именно — расскажем в статье.

📌 Полезные материалы по теме:

🧒 Как найти работу junior-разработчику: 5 самых неочевидных способов
👍 Тесты на собеседовании: как к ним подготовиться и получить оффер
📝 Как правильно составить сопроводительное письмо программисту
🔍 ТОП-12 джоб-сайтов: где программисту разместить резюме и найти работу
🤖 40 сервисов на базе AI, которые помогут найти работу в 2023 году
💼 ТОП-9 не самых очевидных компаний для стажировки в ИТ
🗺️ Как программисту искать (и найти) работу за границей в 2023 году
🔝 Подборка полезных материалов для улучшения профиля на LinkedIn и не только
💾 Список каналов «Библиотеки программиста» с вакансиями

🤩Понравился пост? Проголосуйте за нас, чтобы мы могли публиковать сторис (требуется премиум).
👍3😁32🔥2
«Библиотека программиста» продолжает поиски контент-менеджера для ведения телеграм-каналов

Ищем человека, который грамотно пишет и разбирается в одной из этих тем:
👉С++
👉Frontend
👉мобильная разработка
👉Data Science

Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴

Подробнее о вакансии и форма для отклика — по ссылке.

Ждем вас в команде!
7🔥3
📊 Как я входил в IT? Результаты опроса «Библиотеки программиста»

Вы когда-нибудь задумывались о том, как входят в IT люди, у которых нет технического образования? Насколько тяжело начать карьеру с чистого листа в зрелом возрасте? Вот и мы решили выяснить это.

Читать статью
6
🙈🙉🙊 Упрощение архитектуры MVI: делегирование обязанностей новым компонентам

Основы MVI

Model View Intent (MVI) — это архитектурный шаблон представления, основанный на циклическом шаблоне Redux. Он предлагает реактивный и предсказуемый подход к управлению состоянием и обработке намерений пользователя взаимодействовать с приложением.

Model представляет собой single state бизнес-модель. Он управляет данными и реагирует на намерения пользователя для создания нового состояния. Модель гарантирует, что состояние остается неизменным, и обрабатывает взаимодействия с пользователем.

View отвечает за рендеринг UI и отображение текущего состояния представления. В MVI view является пассивным и наблюдает только за изменениями состояния в модели. Он не содержит бизнес-логики и ориентирован исключительно на отображение информации пользователю.

Intent представляет собой действия пользователя, которые запускают изменения состояния. Это могут быть такие действия, как нажатие кнопок, ввод текста или любое другое взаимодействие с пользователем. Намерения передаются из представления в модель, указывая желаемое действие пользователя.

Шаблон MVI обеспечивает неизменяемость, гарантируя, что состояние приложения остается согласованным и предсказуемым. Используя MVI, разработчики могут создавать приложения, которые проще тестировать, поддерживать и масштабировать.

Подробнее читайте здесь

#гайд
6👍3🔥2🤔1
🥷💪 Продвинутая анимация SwiftUI – Часть 1: Paths

В этой статье рассматриваются продвинутые методы создания Swift UI анимации пользовательского интерфейса. Автор рассказывает о протоколах Animatable, animatableData, GeometryEffect и AnimatableModifier.

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

Explicit vs. Implicit

В Swift UI есть два типа анимации — Explicit и Implicit. Implicit анимации — которые указываются с помощью модификатора .animation(). Всякий раз, когда во вью изменяется анимируемый параметр, Swift UI будет анимировать от старого к новому значению. Некоторыми анимируемыми параметрами являются size, offset, color, scale и т.д.

Explicit — это те, которые указаны с помощью Animation { ... }. Будут анимированы только те параметры, которые зависят от значения, измененного внутри Animation.

Как работает анимация

За всеми анимациями SwiftUI стоит Animatable. При анимировании Swift UI каждый раз изменяет параметр анимации, переходя от исходного значения к конечному.

Предположим, создается линейная анимация для opacity. Нужно перейти с 0,3 на 0,8. Фреймворк будет многократно восстанавливать вьюшку, изменяя opacity небольшими шагами. Поскольку opacity выражается в Double, и он соответствует VectorArithmetic, SwiftUI может интерполировать требуемые значения opacity.

Подробности и реализация вас ждут тут

#обучалка
👍53🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
#memes

Понапридумывают своих драгонКрю, телеграмов, инстраграмов...
Учитесь! 💪
😁13🤔32
🤖🏞️ Автоматизируем тестирование скриншотов для Compose через reflection

Тестирование скриншотов — это ценный метод проверки UI и предотвращения регрессий при обновлении существующих экранов или компонентов. Однако, как и у любого вида тестирования, у него есть недостаток, заключающийся в том, что он требует значительных временных затрат на написание и поддержку тестов.

Showkase

Одним из способов автоматизации тестирования скриншотов является использование Showkase, библиотеки Airbnb, созданной для создания браузера компонентов, который дополнительно позволяет автоматически тестировать все методы, помеченные @Preview, с помощью Paparazzi. Этот способ требует указания Showkase в качестве зависимости для каждого модуля, в котором есть любые превью, которые нужно покрыть тестами. Поскольку Showkase основан на генерации кода, это увеличит время сборки для всех этих модулей. Таким образом, использование его только для скриншот-тестов может оказаться не лучшим решением, поскольку это не его основная функция.

Reflection

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

Предлагаемое решение может работать с другими библиотеками тестирования скриншотов. Если вам интересны альтернативы — вот вам еще вариант.

Далее вас ждут реализация примера и немного кода.

#туториал
🥰11😁98👍8👏8
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👍6