Типичные вопросы на интервью для iOS-разработчика
Эта статья содержит список стандартных вопросов, которые обычно задаются на собеседованиях. Также автор пытается изложить точку зрения с позиции интервьюера: как оценивается кандидат, какие ответы ожидает интервьюер, чтобы выявить знания и опыт кандидата:
https://tprg.ru/CETD
#собеседование
Как работает Activity?
Activity — основной компонент каждого Android-приложения. В этой статье разбирается:
— что такое Binder и зачем он нужен,
— как происходит запуск Activity,
— как на вызов Activity влияют флаги и launch mode.
Подробнее:
https://habr.com/ru/company/tinkoff/blog/703548/
#android
Современное решение push-уведомлений от поставщика ИТ-решений — edna
Разработка и поддержка push-уведомлений в мобильных приложениях требует времени и немалых ресурсов. Если не хотите изобретать велосипед, то можно воспользоваться платными сервисами. Например — edna, которая уже более 5 лет работает над сервисом пуш-уведомлений и доставляет миллиард уведомлений в месяц.
— Сейчас у edna самый высокий процент доставки (96%) и скорость доставки пушей на рынке (6 секунд).
— Всё в порядке с хранением данных (в РФ в защищенном виде) и с облачной интеграцией: Apple APNS, Google FCM и Huawei HCM и даже RuStore.
— Доступ ко всем существующим пуш-облакам открыт в рамках одной библиотеки и единого API отправки сообщений.
— Компания гарантирует, что нет необходимости тестировать решение под новую версию ОС.
Пуши рисуются из коробки, доступны картинки, кнопки, классная верстка.
Пилот бесплатный. Для подробной информации переходите по ссылке.
Реклама ООО «ОСК» LjN8KDNGD
Исправление Metadata зависимостей в Gradle
Showcase — это Android-библиотека от Airbnb, которая помогает организовывать, искать и визуализировать UI-элементы на Jetpack Compose. Однако, добавляя её в проект, разработчики могут столкнуться с проблемами при сборке приложения.
Один из способов решения — это использовать Gradle API, которые позволяют изменять метаданные в зависимостях, опубликованных, например, в репозитории maven. Подробнее — в статье:
https://proandroiddev.com/fixing-dependency-metadata-in-gradle-65fd86abe4e1
#android #gradle
Настройка Firebase для Flutter приложений
Обычно разработчики подключают Firebase CLI вручную как для Android, так и для iOS, но недавно добавили поддержку для Flutter Web.
В этой статье небольшое руководство, как подключить Firebase, а также установить и запустить FlutterFire CLI:
https://tprg.ru/FuaE
#flutter
Авито ждёт опытного Android-разработчика в команду Emcee Авито
Команда отвечает за разработку облачного сервиса для сборки и тестирования iOS и Android приложений. Вашими задачами будут: разработка Android части теста раннера, оптимизирование производительности, сбор аналитики и участие в других процессах разработки проектов с чистого листа.
Будет здорово, если вы знакомы с Puppet, Ansible, Kubernetes, Sentry, Grafana. Станьте частью кластера mobile Авито! Подробнее о вакансии здесь
Это #партнёрский пост
Jetpack Compose — профилирование и оптимизация
С появлением Compose Google изменила способ написания UI на Android. Однако всё равно можно встретить мнение, что у Compose низкая производительность.
Действительно, оптимизация Jetpack Compose требует времени, особенно когда нужно найти причины лишних рекомпозиций. В этой статье Сергей Панов, разработчик мобильных приложений в IceRock, поделился, как делать профилирование на примере приложения «Кампус»:
https://habr.com/ru/post/701422/
API навигации в iOS 16 и macOS 13
Начиная с iOS 16 в SwiftUI появились новые API-интерфейсы навигации. Например, навигация на основе стека — NavigationStack или NavigationSplitView для поддержки трёхколоночной навигации.
В этой статье рассматриваются новые API на SwiftUI и несколько примеров их реализации:
https://habr.com/ru/post/701868/
#swiftui
Подробный разбор и гайд по Photo Picker (Android 13)
В Tiramisu есть достаточно много новых фич и изменений. Одним из таких изменений является Photo Picker — инструмент для выбора фотографий.
В этой статье рассматриваются различные способы использования Photo Picker и его настройка в проекте:
https://medium.com/tech-takeaways/android-13-photo-picker-with-the-activity-result-api-b4a74572e354
Content-based color scheme: меняем цветовую схему приложения в зависимости от контента
Вероятно, вам уже знакома фича Dynamic Colors из Material You. Однако в документации есть ещё один вариант для изменения цветовой схемы в зависимости от изображения — Content-based color schemes.
Автор статьи не смог найти ни API, ни примеров использования этого подхода, поэтому команда реализовала собственную динамическую тему, которая работает также на версиях младше Android 12, в отличие от Dynamic Сolors на основании wallpapers.
Подробнее в статье:
https://habr.com/ru/company/redmadrobot/blog/702466/
#android
Календарь в iPhone: полный разбор
Интересно, как используются элементы UIKit в приложениях от Apple? В этой статье разбирается приложение Календарь, а именно его интерактивные элементы, навигация, UI:
— экран дня, месяца и года,
— список календарей,
— новое событие,
— Accessibility.
https://habr.com/ru/post/701332/
#ios
Проверьте себя — пройдите тест по Android!
Вырвитесь из однотипных задач на Android. Освойте продвинутые подходы. Пройдите тест из 20 вопросов и проверьте свои знания. Сможете сдать — пройдёте на продвинутый курс «Android Developer. Professional» от OTUS по специальной цене.
Время прохождения теста ограничено! Пройти тест можно по ссылке: https://otus.pw/V1sx/
Хотите протестировать учебный процесс заранее? Тогда приходите на открытые уроки курса!
— 1 декабря в 20:00 открытый урок «Android Lint».
— 15 декабря в 20:00 открытый урок «Профайлинг UI».
Реклама ООО «Отус Онлайн-Образование» LjN8JxLA8
Gradle 7.6: что нового?
— добавлена поддержка Java 19,
— добавлена поддержка загрузки Java Toolchain из произвольных репозиториев,
— инкрементальная компиляция: в предыдущих версиях сбой компиляции приводил к тому, что при следующей компиляции выполнялась полная перекомпиляция. Начиная с Gradle 7.6, инкрементальная компиляция Java и Groovy может работать даже после сбоя,
— введён флаг «rerun» для повторного запуска отдельных тасков,
— добавлена поддержка кэша конфигурации для плагина публикации Maven и в целом достаточно много небольших изменений было сделано по улучшению в разделе Configuration cache.
Источник: https://docs.gradle.org/7.6/release-notes.html
#gradle
Анализ текста в реальном времени с помощью Word Tagger
Часть 1: требования к данным для создания модели Word Tagger, работа с CreateML и анализ текста.
Часть 2: реализация iOS-приложения с нуля, обзор инструментов GoogleMLKit/TextRecognition (iOS 13.0) и Live Text (iOS 15.0), которые позволяют распознавать текст из видеопотока или изображения с помощью камеры iPhone. А также пример работы модели Word Tagger для конвертации текста рецепта.
#ios
Альфа-Банк приглашает на Alfa Квартирник #2
Квартирник — это дружественные встречи Alfa Digital и сообщества мобильных разработчиков для нетворкинга, обмена опытом и веселья!
Когда: 9 декабря, 19:00
Где: просп. Андропова 18, корпус 3, Москва
Что вас ждёт:
— Aльфа.ch: делитесь на команды и пытайтесь с помощью подсказок отгадать как можно больше слов.
— Игровая комната с кикером и теннисным столом: тут вы уже понимаете, что делать.
— Болталки:
1. Алексей Кирсанов, Android TechLead в Альфа-Банке, расскажет про интересные места для активного отдыха.
2. Абакар Магомедов, тоже Android TechLead, на ваших глазах проведёт расследование необычного краша.
— Спортивное программирование: придется решать алгоритмы и отжиматься одновременно.
— «Своя игра»: вот тут будут сложные тех. вопросы. Вы можете предложить свой вопрос или стать участником игры, для этого надо заполнить форму на лендинге.
Места ограничены, потому что ну как в квартире поместится больше 100 человек? Успейте зарегистрироваться!
Реклама АО «Альфа-Банк»
Что делать Android-разработчику, если приложение тормозит?
Разберут этот вопрос 15 декабря в 20:00 на открытом уроке «Профайлинг ui» в OTUS.
Вебинар пройдет в рамках онлайн-курса «Android Developer. Professional» в OTUS.
На занятии:
— Рассмотрят, что значит "тормозящее приложение", и каковы основные причины такого поведения
— Познакомят с инструментами, которые помогут найти и исправить эту проблему
— Посмотрите несколько сервисов, позволяющих измерить производительность в бою — на телефонах ваших пользователей.
Пройдите вступительное тестирование, чтобы записаться на урок: https://otus.pw/goOd/
Реклама ООО «Отус Онлайн-Образование» LjN8KYBzV
Разрешения в Android 13 и как адаптировать под них приложение
В Android 13 введены три новых разрешения:
— READ_MEDIA_IMAGES,
— READ_MEDIA_IMAGES,
— READ_MEDIA_VIDEO и READ_MEDIA_AUDIO.
Если вы использовали READ_EXTERNAL_STORAGE для доступа к файлам, то вам необходимо использовать одно из этих новых разрешений. В этой статье рассматривается, как быстро настроить READ_MEDIA_IMAGES в приложении:
https://tprg.ru/86s5
#android
Предлагаем почитать письма Илона Маска, Билла Гейтса и Стива Джобса
Интересно, а что в головах у таких знаменитых людей? О чём они думают и как разрабатывают бизнес-стратегии? Мы наткнулись на интересный Twitter-аккаунт, который публикует слитые в сеть e-mail переписки. Например, письмо Стива Джобса самому себе за год до смерти и Илона Маска, который ругает Twitter.
Самые интересные мы перевели и опубликовали в этой статье:
https://tproger.ru/articles/slivy-perepisok-mask-obsuzhdaet-twitter-google-dumaet-o-pokupke-youtube-a-dzhobs-pishet-sam-sebe/
#it
Хотите с нуля научиться создавать Android-приложения? Начните осваивать новые навыки вместе с OTUS!
7 декабря в 20:00 мск пройдёт бесплатный вебинар «Управление базой данных в андроиде на примере Room».
На занятии вы:
— Научитесь подключать рум к проекту
— Сделаете простейшие запросы в базу данных, транзакции на запись и чтение
— Научитесь пользоваться базовой функциональностью рума.
Открытый урок пройдет в преддверии старта специализации «Android Developer» для начинающих андроид-разработчиков. Спикер: Абакар Магомедов, Android-разработчик в Alfa bank.
Не забудьте зарегистрироваться на урок: https://otus.pw/MHJl/
Реклама ООО «Отус Онлайн-Образование» LjN8Jx5KS
Приложение Skipp : как за 2 месяца выпустить MVP приложения
Skipp — это приложение для поиска айтишников за рубежом. Сервис подбирает подходящих кандидатов и предлагает клиенту. По сути, приложение напоминает Tinder со свайпом влево или вправо. Сам проект реализован на кросс-платформенной технологии React Native.
История создания, а также почему команда решила сделать приложение для зарубежного рынка — в статье:
https://tprg.ru/VFqY
Команда, создавшая операционную систему Android
В 2004 году в Android было только два человека, которые хотели создать программное обеспечение для камер, но не смогли заинтересовать инвесторов.
Как же они добились успеха? Обо всём этом в своей книге рассказывает Чет Хаазе, который присоединился к команде Android в Google в мае 2010 года и позже записал с ними интервью. Сейчас Чет Хаазе выпускает небольшие обзоры своих глав, а также делится темами, которые не вошли в книгу:
chethaase/why-android-worked-83318dc40fd6"> Часть 1: Почему Android преуспел?
chethaase/the-teams-take-why-android-worked-dbde57aabc03\"> Часть 2: Мнение команды
chethaase/hobby-hacking-exploring-your-passion-a7ecb8c4652b"> Часть 3: Программирование как хобби
chethaase/the-venn-diagram-of-tech-ad441241cdc4"> Часть 4: Диаграмма Венна
#android
AI Test Kitchen появилось в Mac App Store
Google анонсировала AI Test Kitchen на I/O 2022 ещё в мае. В последние месяцы появились три демоверсии для тестирования, основанных на LaMDA: Imagine It, List It и Talk About It.
Из-за прошлого инцидента с Microsoft Tay (чат-бот на основе ИИ быстро выучил, как ругаться), режим Talk About It ограничен — пользователи могут общаться с чат-ботом о собаках.
Приложение доступно пока только на английском языке для некоторых стран.
Источник: https://9to5google.com/2022/11/29/google-mac-app-store/
#ии
Где сейчас искать работу за границей?
Это подборка статей, сайтов и просто каналов, в которой пользователи делятся опытом поиска работы и непосредственно сайтами с рекрутерами.
Если вы хотите найти работу удалённо или просто переехать, то сохраняйте статью в закладки, чтобы не потерять: https://tprg.ru/ea8F
#it #советы
Успейте зарегистрироваться на VK Cup — ежегодный чемпионат по программированию от VK!
Начался в 2012 как турнир по спортивному программированию, но вырос в многопрофильный чемпионат. В этом году открыли новое направление —Mobile для iOS- и Android-разработчиков!
Квалификационный этап пройдёт с 3 по 18 декабря — приступить к решению задач можно до конца этого раунда. Если вы занимаетесь разработкой приложений на Android или iOS, то не упустите шанс побороться за главный приз.
В этом году победители уносят с собой славу, почёт и солидные призовые — 4 000 000 рублей. Главные призы в каждой категории:
— 1 место: 300 000 рублей,
— 2 место: 250 000 рублей,
— 3 место: 150 000 рублей,
— 4 место: 100 000 рублей.
Кроме Mobile можно выбрать и поучаствовать в других направлениях: ML (машинное обучение), Engine, Go и JavaScript. Поэтому не теряйте времени и успейте зарегистрироваться: https://tprg.ru/V0dj
Реклама ООО «ВК» LjN8K7Tp8
ИИ от NVIDIA помогает подглядывать в шпаргалки на онлайн-собеседованиях
Компания выпустила ИИ, который перерисовывает глаза на видео звонке. В действительности кажется, будто пользователь смотрит всегда прямо, однако в это время глаза могут бегать по экрану или просто читать нужный ответ из других ресурсов во время собеседования в IT-компанию.
Исходный код уже есть на GitHub, но если вы хотите проверить возможности ИИ, то в этой статье мы подробно рассказали, как развернуть NVIDIA MAXINE на своём ПК:
https://tproger.ru/articles/ii-ot-nvidia-pomogaet-podgljadyvat-v-shpargalki-na-onlajn-sobesedovanijah/
#ии
Создание игры «Крестики-нолики» на Android
Видеоурок, в котором разбирается, как создать популярную игру с помощью Ktor и Web Sockets. Автор также показывает, как настроить серверную часть, чтобы играть с друзьями:
https://youtu.be/sKCCwl5lNBk
#android
Рекомендации по дизайну iOS 16: иллюстрированное руководство
Данная статья — неплохая шпаргалка, в которой рассмотрено в основном всё, что нужно знать для разработки приложения под iOS 16: UI-элементы, значки приложения, основные разрешения экранов и многое другое:
https://www.learnui.design/blog/ios-design-guidelines-templates.html
#ios
Хотите освоить Kotlin для разработки серверных приложений?
OTUS приглашает 30 ноября в 19:00 по МСК на бесплатный вебинар «Интероперабельность Kotlin Native и C на примере видеоплеера».
На вебинаре вы:
— Рассмотрите, как происходит написание и компиляция нативного кода в Kotlin.
— Узнаете, как к нему подключаются нативные библиотеки.
— Напишите небольшое приложение для воспроизведения видео с использованием нативной библиотеки GStreamer.
Вебинаря является частью онлайн-курса «Kotlin Backend Developer. Professional» от OTUS.
Регистрируйтесь на вебинар по ссылке: https://otus.pw/m8Vr/
Реклама ООО «Отус Онлайн-Образование» LjN8KMqLQ
Jetpack Compose: как улучшить производительность
Вероятно, вам встречались видеообзоры по Baseline Profiles и их генерации для улучшения старта приложения. Автор этой статьи предлагает использовать Baseline Profiles вместе с библиотекой App Startup и составил таблицы, где наглядно показано, как эта комбинация может помочь повысить производительность приложения.
В статье также приводится сравнительный анализ App Startup и кастомного BP со всеми плюсами и минусами данного подхода:
https://medium.com/androiddevelopers/faster-jetpack-compose-view-interop-with-app-startup-and-baseline-profile-8a615e061d14
#android #compose
Создание плавного перехода между цветами на SwiftUI
В этом руководстве разработчик Скотт Эндрю показывает технику создания красивых эффектов перехода между изображениями: путем определения среднего цвета изображения и отслеживания смещения ScrollView:
https://tprg.ru/Kqb9
#ios