50 вопросов и ответов для подготовки к собеседованию по Swift и iOS
В статье собраны вопросы по различным темам — от теоретических вопросов до поиска ошибок в коде. Самое то потренироваться перед собеседованием на iOS-разработчика:
https://habr.com/ru/post/659169/
#ios #начинающим
В статье собраны вопросы по различным темам — от теоретических вопросов до поиска ошибок в коде. Самое то потренироваться перед собеседованием на iOS-разработчика:
https://habr.com/ru/post/659169/
#ios #начинающим
🔥11👍5❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Многопользовательская игра для рисования на Compose
В игре Stream Draw один игрок должен нарисовать изображение, а другой — отгадать, какое слово загадано. Под капотом: Jetpack Compose, корутины и Flow.
Изучить проект: https://github.com/getStream/stream-draw-android
#android #compose #ui
В игре Stream Draw один игрок должен нарисовать изображение, а другой — отгадать, какое слово загадано. Под капотом: Jetpack Compose, корутины и Flow.
Изучить проект: https://github.com/getStream/stream-draw-android
#android #compose #ui
🔥23👍5❤1
6 вакансий для мобильных разработчиков
— Android-разработчик (Middle)
— Android-разработчик (Senior)
— Android-разработчик (Beffo)
— iOS-разработчик
— iOS-разработчик (Middle)
— iOS-разработчик (Senior)
#вакансии #работа
— Android-разработчик (Middle)
— Android-разработчик (Senior)
— Android-разработчик (Beffo)
— iOS-разработчик
— iOS-разработчик (Middle)
— iOS-разработчик (Senior)
#вакансии #работа
👍2
Удобная работа со справочниками в iOS
Справочники удобно хранить в базе данных. На iOS основных инструментов для работы с базой данных три — CoreData, Realm, SQLite.
Разработчики из hh разобрали плюсы и минусы всех вариантов и рассказали, какой из них использовали в своём проекте:
https://habr.com/ru/company/hh/blog/658257/
#ios
Справочники удобно хранить в базе данных. На iOS основных инструментов для работы с базой данных три — CoreData, Realm, SQLite.
Разработчики из hh разобрали плюсы и минусы всех вариантов и рассказали, какой из них использовали в своём проекте:
https://habr.com/ru/company/hh/blog/658257/
#ios
👍7
Пишем первый UI-тест на Android
Фреймворк Espresso используется для тестирования UI Android-приложения на реальном устройстве или эмуляторе. Начать с ним работу поможет пошаговый гайд по созданию первого UI-теста:
https://habr.com/ru/company/otus/blog/472372/
#android #тестирование #начинающим
Фреймворк Espresso используется для тестирования UI Android-приложения на реальном устройстве или эмуляторе. Начать с ним работу поможет пошаговый гайд по созданию первого UI-теста:
https://habr.com/ru/company/otus/blog/472372/
#android #тестирование #начинающим
👍10🔥5
Реализуем swipe-to-dismiss в Android-приложении
Библиотека Fragula 2 расширяет возможности Navigation component: она добавляет в приложение возможность горизонтального перелистывания экранов, похожее на Telegram. В библиотеке также реализована кастомная анимация.
Кстати, Fragula 2 создал российский разработчик из Ozon.
Как использовать: https://github.com/massivemadness/Fragula
#android #библиотеки
Библиотека Fragula 2 расширяет возможности Navigation component: она добавляет в приложение возможность горизонтального перелистывания экранов, похожее на Telegram. В библиотеке также реализована кастомная анимация.
Кстати, Fragula 2 создал российский разработчик из Ozon.
Как использовать: https://github.com/massivemadness/Fragula
#android #библиотеки
👍28
This media is not supported in your browser
VIEW IN TELEGRAM
Создание анимированного селектора на Jetpack Compose
Делимся пошаговым гайдом по созданию кастомного селектора в Android-приложении, в котором изменяются:
— фон с анимацией в соответствии с выбранным параметром;
— углы фона вместе с выбранной позицией;
— цвет текста на выбранной позиции.
Подробнее: https://fvilarino.medium.com/creating-an-animated-selector-in-jetpack-compose-669066dfc01b
#android #compose #ui
Делимся пошаговым гайдом по созданию кастомного селектора в Android-приложении, в котором изменяются:
— фон с анимацией в соответствии с выбранным параметром;
— углы фона вместе с выбранной позицией;
— цвет текста на выбранной позиции.
Подробнее: https://fvilarino.medium.com/creating-an-animated-selector-in-jetpack-compose-669066dfc01b
#android #compose #ui
🔥11👍2
Анонсированы изменения политик Google Play
Главное:
— С 11 мая обновляется Families policy. Если контент для детей в приложении неприемлем глобально, то приложение будет доступно только в регионах, где подобный контент разрешён.
— С 11 июля приложения, устанавливающие дополнительные APK-файлы, должны получить одобрение на публикацию.
— С 1 ноября уже выложенные в Google Play приложения должны иметь target API level не старше 2 лет от выхода последней версии Android. Иначе приложения скроются из выдачи Google Play для устройств с последними версиями Android, и их нельзя будет установить. Также новые приложения и обновления должны иметь target API level не старше 1 года с выхода последней версии Android, иначе их не пропустят в Play Console.
#android #googleplay
Главное:
— С 11 мая обновляется Families policy. Если контент для детей в приложении неприемлем глобально, то приложение будет доступно только в регионах, где подобный контент разрешён.
— С 11 июля приложения, устанавливающие дополнительные APK-файлы, должны получить одобрение на публикацию.
— С 1 ноября уже выложенные в Google Play приложения должны иметь target API level не старше 2 лет от выхода последней версии Android. Иначе приложения скроются из выдачи Google Play для устройств с последними версиями Android, и их нельзя будет установить. Также новые приложения и обновления должны иметь target API level не старше 1 года с выхода последней версии Android, иначе их не пропустят в Play Console.
#android #googleplay
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
Пружинная анимация в SwiftUI
Держите подборку интересных примеров, как можно реализовать пружинную анимацию различных типов —
https://medium.com/@amosgyamfi/learning-swiftui-spring-animations-the-basics-and-beyond-4fb032212487
#ios #swiftui #ui
Держите подборку интересных примеров, как можно реализовать пружинную анимацию различных типов —
.spring(), .interactiveSpring(), .interpolatingSpring(...) и их вариациями:https://medium.com/@amosgyamfi/learning-swiftui-spring-animations-the-basics-and-beyond-4fb032212487
#ios #swiftui #ui
🔥26👍9
«Альфа-Банк» ищет мобильных разработчиков
В «Альфе» разрабатывают продукт, которым пользуются сами, поэтому для ребят важно делать крутые фичи. А это невозможно без крутых разработчиков.
Прямо сейчас «Альфа-Мобайл» разрабатывает поддержку карты «Мир» и платёжной системы 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