«Альфа-Банк» ищет мобильных разработчиков
В «Альфе» разрабатывают продукт, которым пользуются сами, поэтому для ребят важно делать крутые фичи. А это невозможно без крутых разработчиков.
Прямо сейчас «Альфа-Мобайл» разрабатывает поддержку карты «Мир» и платёжной системы Union Pay. Поэтому команде нужны:
— iOS-разработчик с 2+ лет опыта и знанием Swift и iOS SDK;
— Android-разработчик с 2+ лет опыта и знанием Kotlin, Java и Android SDK.
Подходящим кандидатам «Альфа» предлагает welcome-бонус, заботу о здоровье и льготные условия на свои банковские услуги.
Узнать больше об этих и других вакансиях можно в Telegram-канале «Альфа-Банка».
#вакансии
В «Альфе» разрабатывают продукт, которым пользуются сами, поэтому для ребят важно делать крутые фичи. А это невозможно без крутых разработчиков.
Прямо сейчас «Альфа-Мобайл» разрабатывает поддержку карты «Мир» и платёжной системы Union Pay. Поэтому команде нужны:
— iOS-разработчик с 2+ лет опыта и знанием Swift и iOS SDK;
— Android-разработчик с 2+ лет опыта и знанием Kotlin, Java и Android SDK.
Подходящим кандидатам «Альфа» предлагает welcome-бонус, заботу о здоровье и льготные условия на свои банковские услуги.
Узнать больше об этих и других вакансиях можно в Telegram-канале «Альфа-Банка».
#вакансии
👎23💩14👍12🤯2😁1
Подборка полезных материалов для начинающего Android-разработчика
Не знаете, с чего начать для создания Android-приложений? В этом посте мы собрали ссылки на бесплатные полезные ресурсы, которые помогут изучить основы Android-разработки:
— план изучения Android-разработки с нуля;
— курс Kotlin Basics от JetBrains;
— курс Android Basics in Kotlin от Google;
— видеокурс по основам разработки Android-приложений на Kotlin;
— большой курс лекций по Android для начинающих от «Яндекса».
Больше материалов для начинающих мобильных разработчиков доступно по тегу #начинающим.
#android
Не знаете, с чего начать для создания Android-приложений? В этом посте мы собрали ссылки на бесплатные полезные ресурсы, которые помогут изучить основы Android-разработки:
— план изучения Android-разработки с нуля;
— курс Kotlin Basics от JetBrains;
— курс Android Basics in Kotlin от Google;
— видеокурс по основам разработки Android-приложений на Kotlin;
— большой курс лекций по Android для начинающих от «Яндекса».
Больше материалов для начинающих мобильных разработчиков доступно по тегу #начинающим.
#android
👍44🔥5❤3😁3🥰2🤔2👎1
Адаптация iOS-приложения для незрячих пользователей
Маленькие кнопки, трудно различимая цветовая гамма, некорректное озвучивание элементов интерфейса — далеко не все проблемы, с которыми сталкиваются незрячие и слабовидящие пользователи при работе с приложением. Особенно критично, если приложение — сервис по заказу еды или такси.
Разработчик iOS-приложения «Яндекс Go» Николай Морев поделился опытом, как его команде удалось улучшить зачитывание скринридером элементов интерфейса, и рассказал, какие проблемы ещё остались:
https://habr.com/ru/company/yandex/blog/660663/
Кстати, про доступность Android-приложения также рассказал его коллега, Виктор Вихров.
#ios #accessibility
Маленькие кнопки, трудно различимая цветовая гамма, некорректное озвучивание элементов интерфейса — далеко не все проблемы, с которыми сталкиваются незрячие и слабовидящие пользователи при работе с приложением. Особенно критично, если приложение — сервис по заказу еды или такси.
Разработчик iOS-приложения «Яндекс Go» Николай Морев поделился опытом, как его команде удалось улучшить зачитывание скринридером элементов интерфейса, и рассказал, какие проблемы ещё остались:
https://habr.com/ru/company/yandex/blog/660663/
Кстати, про доступность Android-приложения также рассказал его коллега, Виктор Вихров.
#ios #accessibility
👍8
6 вакансий для мобильных разработчиков
— Android-разработчик (Beffo) в МТС
Опыт: От 1 года
Где: Москва, можно удалённо
— Middle Android-разработчик в Центр Высоких Технологий (ГК Softline)
Опыт: От 2 лет
Где: Ижевск, можно удалённо
— Senior Android-разработчик в Центр Высоких Технологий (ГК Softline)
Опыт: От 3 лет
Где: Ижевск, можно удалённо
— iOS-разработчик в МТС
Опыт: От 1 года
Где: Москва
— Middle iOS-разработчик в Центр Высоких Технологий (ГК Softline)
Опыт: От 2 лет
Где: Ижевск, можно удалённо
— Senior iOS-разработчик в Центр Высоких Технологий (ГК Softline)
Опыт: От 3 лет
Где: Ижевск, можно удалённо
#вакансии #работа
— Android-разработчик (Beffo) в МТС
Опыт: От 1 года
Где: Москва, можно удалённо
— Middle Android-разработчик в Центр Высоких Технологий (ГК Softline)
Опыт: От 2 лет
Где: Ижевск, можно удалённо
— Senior Android-разработчик в Центр Высоких Технологий (ГК Softline)
Опыт: От 3 лет
Где: Ижевск, можно удалённо
— iOS-разработчик в МТС
Опыт: От 1 года
Где: Москва
— Middle iOS-разработчик в Центр Высоких Технологий (ГК Softline)
Опыт: От 2 лет
Где: Ижевск, можно удалённо
— Senior iOS-разработчик в Центр Высоких Технологий (ГК Softline)
Опыт: От 3 лет
Где: Ижевск, можно удалённо
#вакансии #работа
👍7
Производительность встроенных функций высшего порядка в сравнении с циклом for-in в Swift
Любой iOS-разработчик использует хотя бы одну из функций высшего порядка: map, filter, reduce или flatMap. Благодаря им код писать ощутимо легче, чем на основе цикла for-in. Но насколько функции хороши в плане быстродействия?
В статье приведены результаты замера производительности функций по сравнению с for-in. В эксперименте использовали 30 повторов на 10 млн элементах.
Как выяснилось, встроенные функции высшего порядка существенно опережают for-in, когда их не нужно выстраивать в цепочку. Иначе производительность только падает.
Подробнее об исследовании можно также почитать в переводе.
#ios #swift
Любой iOS-разработчик использует хотя бы одну из функций высшего порядка: map, filter, reduce или flatMap. Благодаря им код писать ощутимо легче, чем на основе цикла for-in. Но насколько функции хороши в плане быстродействия?
В статье приведены результаты замера производительности функций по сравнению с for-in. В эксперименте использовали 30 повторов на 10 млн элементах.
Как выяснилось, встроенные функции высшего порядка существенно опережают for-in, когда их не нужно выстраивать в цепочку. Иначе производительность только падает.
Подробнее об исследовании можно также почитать в переводе.
#ios #swift
👍7
Какая у вас ситуация с использованием Upwork?
Anonymous Poll
8%
Работал через Upwork, теперь не могу
2%
Работал через Upwork, обошёл ограничения
35%
Никогда не использовал Upwork и не хочу
27%
Никогда не использовал Upwork, из-за новостей хочу начать
28%
Я не из РФ или РБ, меня ограничения не затронули
👍1
Пагинация списков в Android
Нужен список с бесконечным скроллом, где данные будут подгружаться постепенно? Реализовать его возможно с помощью библиотеки Jetpack Paging Library v3.
Серия роликов научит использовать библиотеку в Android-приложении:
— Пагинация в Android с Jetpack Paging v3
В видео показано, как использовать PagingSource, Pager, PagingDataAdapter и LoadStateAdapter. Также вы узнаете об обработке ошибок при загрузке страниц списка, отображении прогресса при загрузке и реализации фильтрации в списке с пагинацией.
— Обновление данных в Jetpack Paging v3
Вы узнаете, как обновлять данные в списке с пагинацией без полной перезагрузки, а также когда можно и нельзя избегать перезагрузки списка.
#android #jetpack #начинающим
Нужен список с бесконечным скроллом, где данные будут подгружаться постепенно? Реализовать его возможно с помощью библиотеки Jetpack Paging Library v3.
Серия роликов научит использовать библиотеку в Android-приложении:
— Пагинация в Android с Jetpack Paging v3
В видео показано, как использовать PagingSource, Pager, PagingDataAdapter и LoadStateAdapter. Также вы узнаете об обработке ошибок при загрузке страниц списка, отображении прогресса при загрузке и реализации фильтрации в списке с пагинацией.
— Обновление данных в Jetpack Paging v3
Вы узнаете, как обновлять данные в списке с пагинацией без полной перезагрузки, а также когда можно и нельзя избегать перезагрузки списка.
#android #jetpack #начинающим
👍16🔥1
Подборка полезных материалов для начинающего iOS-разработчика
Чтобы создавать приложения для iOS, нужно в первую очередь обзавестись «макбуком» или другим устройством на macOS. Весь процесс iOS-разработки ведётся в Xcode — среде разработки от Apple.
Уже всё есть? Начните с языка Swift. В его изучении и дальнейшей разработке iOS-приложений вам помогут бесплатные ресурсы на русском и английском языке из нашей подборки:
— краткий план обучения iOS-разработке с полезными ссылками;
— онлайн-учебник по языку Swift;
— видеокурс по Swift для начинающих;
— курс лекций по iOS-разработке от «Яндекса»;
— 50 вопросов и ответов для подготовки к собеседованию по Swift и iOS.
#ios #начинающим
Чтобы создавать приложения для iOS, нужно в первую очередь обзавестись «макбуком» или другим устройством на macOS. Весь процесс iOS-разработки ведётся в Xcode — среде разработки от Apple.
Уже всё есть? Начните с языка Swift. В его изучении и дальнейшей разработке iOS-приложений вам помогут бесплатные ресурсы на русском и английском языке из нашей подборки:
— краткий план обучения iOS-разработке с полезными ссылками;
— онлайн-учебник по языку Swift;
— видеокурс по Swift для начинающих;
— курс лекций по iOS-разработке от «Яндекса»;
— 50 вопросов и ответов для подготовки к собеседованию по Swift и iOS.
#ios #начинающим
🔥19👍2
Введение в архитектуру MVI
В архитектуре MVI (Model-View-Intent) два основных компонента — Model (модель) и View (представление). Между ними данные перемещаются только в одном направлении:
— состояния (state) исходят из модели и попадают в представление для отображения;
— намерения (intents) исходят из представления и попадают в модель для обработки.
Небольшой гайд подробнее объясняет принципы работы MVI и преимущества подхода.
#android #архитектура
В архитектуре MVI (Model-View-Intent) два основных компонента — Model (модель) и View (представление). Между ними данные перемещаются только в одном направлении:
— состояния (state) исходят из модели и попадают в представление для отображения;
— намерения (intents) исходят из представления и попадают в модель для обработки.
Небольшой гайд подробнее объясняет принципы работы MVI и преимущества подхода.
#android #архитектура
👍21❤3
Решения для реализации MVI-архитектуры на Android — что выбрать?
За годы существования архитектуры MVI появилось множество библиотек, которые позволяют внедрить её в Android-проект. Наиболее популярные из них собраны в одной подборке — со описанием преимуществ и недостатков:
https://habr.com/ru/company/simbirsoft/blog/661185/
#android #архитектура
За годы существования архитектуры MVI появилось множество библиотек, которые позволяют внедрить её в Android-проект. Наиболее популярные из них собраны в одной подборке — со описанием преимуществ и недостатков:
https://habr.com/ru/company/simbirsoft/blog/661185/
#android #архитектура
👍8🔥1
Мультиоблачность для устойчивости бизнеса
Присоединяйтесь 26 апреля в 16:00 по МСК к вебинару @Selectel, где расскажут о мультиоблачной архитектуре для администраторов и владельцев бизнеса.
На мероприятии обсудят:
— главные преимущества мультиоблачных решений;
— сетевое соединение инфраструктуры с глобальными облаками;
— сеть между облаками Selectel и Amazon Web Services;
— как построить мультиоблачный сервис на российских облаках.
Вебинар будет особенно полезным, если вы настраиваете сетевую связность между облаками или трансформируете IT-инфраструктуру бизнеса.
Мероприятие бесплатное, но нужно зарегистрироваться: https://slc.tl/4rts4
#ивент
Присоединяйтесь 26 апреля в 16:00 по МСК к вебинару @Selectel, где расскажут о мультиоблачной архитектуре для администраторов и владельцев бизнеса.
На мероприятии обсудят:
— главные преимущества мультиоблачных решений;
— сетевое соединение инфраструктуры с глобальными облаками;
— сеть между облаками Selectel и Amazon Web Services;
— как построить мультиоблачный сервис на российских облаках.
Вебинар будет особенно полезным, если вы настраиваете сетевую связность между облаками или трансформируете IT-инфраструктуру бизнеса.
Мероприятие бесплатное, но нужно зарегистрироваться: https://slc.tl/4rts4
#ивент
👍3
Доклады с Android App Excellence Summit 2022
На прошлой неделе прошла новая конференция от Google, где команда Android поделилась способами улучшения качества Android-приложений для различных устройств.
Все доклады доступны в плейлисте на YouTube.
#android #доклады
На прошлой неделе прошла новая конференция от Google, где команда Android поделилась способами улучшения качества Android-приложений для различных устройств.
Все доклады доступны в плейлисте на YouTube.
#android #доклады
🔥7
Быстрый переход с View на Jetpack Compose
Хотите перейти от построения UI через XML к Compose? Шпаргалка поможет освоить базовые элементы Compose. В ней показаны модификаторы из Compose, сравнимые с атрибутами View.
Прилагаемая к шпаргалке статья поможет быстрее изучить Compose.
#android #compose
Хотите перейти от построения UI через XML к Compose? Шпаргалка поможет освоить базовые элементы Compose. В ней показаны модификаторы из Compose, сравнимые с атрибутами View.
Прилагаемая к шпаргалке статья поможет быстрее изучить Compose.
#android #compose
👍25🥰1
VK проводят Weekend Offer для мобильных разработчиков
Получите оффер всего за одни выходные, а вместе с ним и дополнительную зарплату на старте!
Смотрите видеоприглашение и регистрируйтесь на сайте для участия.
Как проходит мероприятие:
— до 22 апреля с вами свяжутся и договорятся о звонке на 15–30 минут;
— в субботу, 23 апреля, Александр Поливанов, технический директор VK Teams, и Михаил Чижиков, руководитель направления Communications, на общей онлайн-встрече расскажут подробности. Вы узнаете подробнее о продукте VK Teams и задачах, которые вам предстоит решать в команде, а позже присоединитесь к индивидуальным техническим онлайн-собеседованиям;
— 24 апреля руководители направлений ещё раз расскажут о предстоящих вызовах, ответят на все вопросы и проведут финальные собеседования. После них выберут лучших кандидатов и отправят им офферы.
#вакансии #android #ios
Получите оффер всего за одни выходные, а вместе с ним и дополнительную зарплату на старте!
Смотрите видеоприглашение и регистрируйтесь на сайте для участия.
Как проходит мероприятие:
— до 22 апреля с вами свяжутся и договорятся о звонке на 15–30 минут;
— в субботу, 23 апреля, Александр Поливанов, технический директор VK Teams, и Михаил Чижиков, руководитель направления Communications, на общей онлайн-встрече расскажут подробности. Вы узнаете подробнее о продукте VK Teams и задачах, которые вам предстоит решать в команде, а позже присоединитесь к индивидуальным техническим онлайн-собеседованиям;
— 24 апреля руководители направлений ещё раз расскажут о предстоящих вызовах, ответят на все вопросы и проведут финальные собеседования. После них выберут лучших кандидатов и отправят им офферы.
#вакансии #android #ios
💩23👍8👎2🤮1
KMM и QIWI, часть вторая
В начале апреля мы делились статьёй от QIWI, где ребята рассказали о своём опыте внедрения Kotlin Multiplatform Mobile. Но в ней затронута в основном только техническая сторона перехода на KMM.
Поэтому разработчики выпустили продолжение, где рассказали о том, как они убедили компанию перейти на KMM, готовили прототип и внедряли технологию в команды:
https://habr.com/ru/company/qiwi/blog/662077/
#kmm #android #ios
В начале апреля мы делились статьёй от QIWI, где ребята рассказали о своём опыте внедрения Kotlin Multiplatform Mobile. Но в ней затронута в основном только техническая сторона перехода на KMM.
Поэтому разработчики выпустили продолжение, где рассказали о том, как они убедили компанию перейти на KMM, готовили прототип и внедряли технологию в команды:
https://habr.com/ru/company/qiwi/blog/662077/
#kmm #android #ios
👍6
FUNCORP ищет iOS Team Lead в офис в Ереване или Лимасоле
Ребята разрабатывают развлекательные UGC-сервисы с миллионами пользователей по всему миру. Их команда iOS-разработки нуждается в сильном тимлиде, который возьмёт на себя команду из 9 человек и развитие приложений. Готовы платить от 4000 евро в месяц.
У Funcorp распределенная команда из крутых опытных инженеров уровня Middle, Senior. У команды есть задачи в трех направлениях: продуктовом, техническом и монетизационном.
Результаты за полгода:
— 14 релизов на 4 приложения;
— 350 закрытых задач;
— crash free пользователей у флагмана на iOS: 99.9%, на — Android: 99.75%;
— 90 дней без инцидентов.
Вам предстоит заниматься:
— процессами разработки внутри команды, качеством кода;
— наймом, мотивацией, прогрессом и деливери команды;
— развитием core-функциональности приложений, архитектурой, процессами релизов, техническими метриками.
Что от вас требуется:
— опыт на аналогичной позиции от 3 лет;
— опыт коммерческой разработки приложений под iOS от 5 лет;
— быть экспертом в Swift и Obj-C.
Подробнее о вакансии можно узнать на сайте FUNCORP. Откликнуться на вакансию можно по почте job@fun.co или написать в Telegram рекрутеру Алине @alyakolyadova
#вакансии
Ребята разрабатывают развлекательные UGC-сервисы с миллионами пользователей по всему миру. Их команда iOS-разработки нуждается в сильном тимлиде, который возьмёт на себя команду из 9 человек и развитие приложений. Готовы платить от 4000 евро в месяц.
У Funcorp распределенная команда из крутых опытных инженеров уровня Middle, Senior. У команды есть задачи в трех направлениях: продуктовом, техническом и монетизационном.
Результаты за полгода:
— 14 релизов на 4 приложения;
— 350 закрытых задач;
— crash free пользователей у флагмана на iOS: 99.9%, на — Android: 99.75%;
— 90 дней без инцидентов.
Вам предстоит заниматься:
— процессами разработки внутри команды, качеством кода;
— наймом, мотивацией, прогрессом и деливери команды;
— развитием core-функциональности приложений, архитектурой, процессами релизов, техническими метриками.
Что от вас требуется:
— опыт на аналогичной позиции от 3 лет;
— опыт коммерческой разработки приложений под iOS от 5 лет;
— быть экспертом в Swift и Obj-C.
Подробнее о вакансии можно узнать на сайте FUNCORP. Откликнуться на вакансию можно по почте job@fun.co или написать в Telegram рекрутеру Алине @alyakolyadova
#вакансии
👍6👎3
Каждый экран в вашем iOS-приложении должен быть скроллируемым
Именно такого мнения придерживается автор статьи. Согласно его идее, даже такие простые экраны, как экран авторизации, должны иметь возможность скролла.
Зачем это нужно? Автор выделил три основных кейса:
— клавиатура может перекрыть часть экрана (особенно актуально для экрана авторизации);
— разнообразие размеров устройств в линейке iPhone;
— увеличенный шрифт для accessibility.
Согласны ли вы с данной концепцией?
#ios
Именно такого мнения придерживается автор статьи. Согласно его идее, даже такие простые экраны, как экран авторизации, должны иметь возможность скролла.
Зачем это нужно? Автор выделил три основных кейса:
— клавиатура может перекрыть часть экрана (особенно актуально для экрана авторизации);
— разнообразие размеров устройств в линейке iPhone;
— увеличенный шрифт для accessibility.
Согласны ли вы с данной концепцией?
#ios
👍42
7 вакансий для мобильных разработчиков
— iOS-разработчик в МТС
Опыт: От 1 года
Где: Москва
— Middle iOS-разработчик в Центр Высоких Технологий (ГК Softline)
Опыт: От 2 лет
Где: Ижевск, можно удалённо
— Senior iOS-разработчик в Центр Высоких Технологий (ГК Softline)
Опыт: От 3 лет
Где: Ижевск, можно удалённо
— Преподаватель на курс iOS в OTUS
Опыт: От 5 лет
Где: Удалённо
— Android-разработчик в МТС
Опыт: От 1 года
Где: Москва, можно удалённо
— Middle Android-разработчик в Центр Высоких Технологий (ГК Softline)
Опыт: От 2 лет
Где: Ижевск, можно удалённо
— Senior Android-разработчик в Центр Высоких Технологий (ГК Softline)
Опыт: От 3 лет
Где: Ижевск, можно удалённо
#вакансии #работа
— iOS-разработчик в МТС
Опыт: От 1 года
Где: Москва
— Middle iOS-разработчик в Центр Высоких Технологий (ГК Softline)
Опыт: От 2 лет
Где: Ижевск, можно удалённо
— Senior iOS-разработчик в Центр Высоких Технологий (ГК Softline)
Опыт: От 3 лет
Где: Ижевск, можно удалённо
— Преподаватель на курс iOS в OTUS
Опыт: От 5 лет
Где: Удалённо
— Android-разработчик в МТС
Опыт: От 1 года
Где: Москва, можно удалённо
— Middle Android-разработчик в Центр Высоких Технологий (ГК Softline)
Опыт: От 2 лет
Где: Ижевск, можно удалённо
— Senior Android-разработчик в Центр Высоких Технологий (ГК Softline)
Опыт: От 3 лет
Где: Ижевск, можно удалённо
#вакансии #работа
👍13💩3👎2
Стелем мягкую соломку на жёсткий Flutter
Готовитесь использовать Flutter в своём мобильном проекте? Не спешите начинать непосредственно с фреймворка, если вы ещё не приступали к основам Android и iOS. Понимание принципов работы обеих систем поможет избежать множества ненужных ошибок.
Больше ценных советов, которые помогут начинающему разработчику не наступить на грабли с Flutter, собрано в одной статье:
https://habr.com/ru/company/surfstudio/blog/661441/
#flutter #начинающим
Готовитесь использовать Flutter в своём мобильном проекте? Не спешите начинать непосредственно с фреймворка, если вы ещё не приступали к основам Android и iOS. Понимание принципов работы обеих систем поможет избежать множества ненужных ошибок.
Больше ценных советов, которые помогут начинающему разработчику не наступить на грабли с Flutter, собрано в одной статье:
https://habr.com/ru/company/surfstudio/blog/661441/
#flutter #начинающим
👍16💩3😁1
Подборка полезных материалов для тестирования Android-приложений
Ниже вы найдёте ресурсы на русском языке, которые помогут освоить с нуля тестирование Android-приложений:
— серия роликов по тестированию Android-приложений: как тестировать приложения, работать с эмуляторами и учитывать специфику девайсов;
— быстрый гайд по автоматизированному тестированию для Android-разработчика;
— инструменты разработчика для тестирования Android-приложений;
— пишем первый UI-тест на Espresso;
— запуск первого теста на Kaspresso;
— чек-лист тестирования мобильных приложений;
— как за пару дней проверить безопасность мобильного приложения.
#android #тестирование
Ниже вы найдёте ресурсы на русском языке, которые помогут освоить с нуля тестирование Android-приложений:
— серия роликов по тестированию Android-приложений: как тестировать приложения, работать с эмуляторами и учитывать специфику девайсов;
— быстрый гайд по автоматизированному тестированию для Android-разработчика;
— инструменты разработчика для тестирования Android-приложений;
— пишем первый UI-тест на Espresso;
— запуск первого теста на Kaspresso;
— чек-лист тестирования мобильных приложений;
— как за пару дней проверить безопасность мобильного приложения.
#android #тестирование
👍12🔥7👏1
Изучаем SwiftUI на примере приложений от Apple
Для iOS-разработчиков Apple подготовила большой гайд, где объясняется построение интерфейса приложения на SwiftUI:
https://developer.apple.com/tutorials/sample-apps
Руководство разделено на 4 главы: навигация, представление контента, получение данных с сервера и обработка пользовательских действий. В каждом из разделов приводятся примеры кода реальных приложений с подробными комментариями.
#ios #swiftui #начинающим
Для iOS-разработчиков Apple подготовила большой гайд, где объясняется построение интерфейса приложения на SwiftUI:
https://developer.apple.com/tutorials/sample-apps
Руководство разделено на 4 главы: навигация, представление контента, получение данных с сервера и обработка пользовательских действий. В каждом из разделов приводятся примеры кода реальных приложений с подробными комментариями.
#ios #swiftui #начинающим
👏10🔥3👍1