Telegram Web
Работа с телевизионными каналами на Android TV: учимся использовать TIF в 2025. Стартовый гайд для разработчиков

Всем привет! Меня зовут Андрей Юрин, я android-разработчик в онлайн-кинотеатре KION. При создании приложения под Android TV у вас наверняка могут возникнуть вопросы: как получить доступ к списку телевизионных каналов и как организовать у себя трансляцию? В этом материале я отвечу на них и расскажу про взаимодействие с телевизором с помощью Android TV Input Framework (TIF), а также получение через него списка доступных каналов. По сути это первый шаг к созданию полноценного TV-приложения.

https://habr.com/ru/companies/ru_mts/articles/928726/

#Android

👉 @developer_mobila
👍3
PWA и WebView — как сделать ваше веб-приложение доступным в офлайн-режиме

Привет! Меня зовут Алексей Егоров. Сегодня поговорим про офлайн-режим в PWA и WebView, без лишней теории и с прицелом на мобильные приложения. В разработке я уже больше трёх лет, большую часть этого времени посвятил WebView и мобильным решениям. В этом материале мы разберём, как работают PWA и WebView в офлайн-режиме, посмотрим на инструменты, которые помогают реализовать такую функциональность, и в завершении я поделюсь примером: какую технологию мы выбрали для календаря и как внедрили офлайн-режим на практике.

https://habr.com/ru/companies/vk/articles/931048/

#Android

👉 @developer_mobila
👍3
🤖 Тест по Flutter проверь свои знания, готов ли ты к обучению на курсе.

Ответишь — пройдешь на курс "Flutter Mobile Developer" от OTUS по специальной цене + получишь доступ к записям открытых уроков курса

За 6 месяцев вы освоите Dart, Flutter и ключевые инструменты разработки, создадите несколько приложений, получите поддержку преподавателей и выполните проект для портфолио.

➡️ ПРОЙТИ ТЕСТ И ОЗНАКОМИТСЯ С ПРОГРАММОЙ: https://vk.cc/cO7pt0

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👎2
Media is too big
VIEW IN TELEGRAM
Как сделать эффект «жидкого стекла» от Apple в Figma

Пошаговое руководство по созданию эффекта «жидкого стекла» в Figma — с объяснением, почему мы меняем каждое свойство.

СОДЕРЖАНИЕ:
0:00 — Вступление
0:49 — Добавление текстурного эффекта
2:09 — Добавление размытия фона
4:09 — Встраивание в кнопку с авто-лейаутом
7:04 — Создание псевдорамы с помощью внутренних теней
9:16 — Заливка кнопки и улучшение видимости текста
10:03 — Итог и завершение

источник

#Android

👉 @developer_mobila
👍4
Media is too big
VIEW IN TELEGRAM
Молот и наковальня iOS-разработчика
Василий Усов, Кирилл Шумаков

Спикеры рассказали о macOS-приложении RaifMagic — внутреннем инструменте Райффайзен Банка, который их команда создала в рамках работы над мобильным приложением для клиентов.

RaifMagic — мощный инструмент для iOS-разработчиков, созданный для упрощения, ускорения и автоматизации ежедневных рабочих задач, а также для унификации и стандартизации окружения и контроля качества программного кода. С момента создания как обертки над командной строкой приложение прошло путь эволюции и превратилось в «центр управления полетами». Если Xcode — это молот, то мы создали наковальню.

Создание внутренних инструментов для разработчиков — привычная практика для любой крупной компании. Зачастую это заканчивается созданием папки scripts с кучей bash-скриптов и постоянным запуском терминала с вводом консольных команд. Мы пошли дальше и постарались сделать инструмент с удобным графическим интерфейсом для запуска генерации проекта. Но даже не предполагали, куда это нас приведет.

Сегодня приложение имеет интегрированный с Swift Concurrency механизм запуска консольных команд, самописную систему автообновления и контроля требуемой для генерации проекта версии, систему контроля и развертывания окружения, систему проверки качества кода, систему интеграции с GitLab для назначения ревьюеров на merge requests, специальный интерфейс для работы с фича-тогглами, позволяющий контролировать срок их жизни, и многие другие функции.

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

источник

#ios

👉 @developer_mobila
Пошаговое руководство по написанию эксплойта ядра iOS

Эксплойты ядра iOS всегда вызывали у меня огромный интерес. За последние годы эксплуатация ядра стала значительно сложнее, и традиционные уязвимости (например, связанные с повреждением виртуальной памяти) стали встречаться реже.

Тем не менее, летом 2023 года felix-pb выпустил три эксплойта под названием kfd. Это были первые опубликованные эксплойты ядра, работавшие на iOS 15.6 и выше.

https://habr.com/ru/companies/bastion/articles/920922/

original https://alfiecg.uk/2024/09/24/Kernel-exploit.html

#ios

👉 @developer_mobila
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Лаборатория в смартфоне: изучаем эффект Доплера на палочках в Android

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

https://habr.com/ru/articles/920738/

#Android

👉 @developer_mobila
👍32
Использование enumerated() с SwiftUI List и ForEach для отображения номеров элементов

При отображении элементов в SwiftUI иногда нужно показать их позицию в последовательности — например, для списка инструкций или ранжированных результатов.
Обычный способ сделать это — вызвать enumerated() для коллекции. Этот метод возвращает EnumeratedSequence, который представляет собой последовательность пар (offset, element), где offset — это счётчик, начинающийся с нуля, а element — соответствующее значение из исходной коллекции.

До недавнего времени enumerated() не был напрямую совместим с ForEach или List в SwiftUI, так как его результат не соответствовал протоколу RandomAccessCollection. В качестве обходного решения приходилось оборачивать последовательность в массив.


RecipeStepsView: View {
let steps = [
"Chop lettuce, tomatoes, and cucumber.",
"Drizzle with olive oil and lemon juice.",
"Toss gently and serve."
]

var body: some View {
VStack(alignment: .leading) {
ForEach(
Array(steps.enumerated()), id: \.element
) { offset, step in
Text("\(offset + 1). \(step)")
}
}
}
}


https://nilcoalescing.com/blog/UsingEnumeratedWithListAndForEach/

#ios

👉 @developer_mobila
👍21
NoDPI4Android. Решаем проблему «деградации» YouTube теперь и на Android

Многие мои знакомые и люди в комментариях просили сделать версию под Android и Android TV. Я не очень дружу с Джавой и с Джавой под андроид в особенности, и поэтому такая перспектива меня не очень прельщала, но у меня был опыт написания android-приложений на python и kivy, который я и решил применить. После нескольких дней (и ночей) напряженного труда и танцев с бубном, мне наконец удалось создать NoDPI for Android, который практически не имеет аналогов. Именно о нем я и хочу сегодня рассказать. Надеюсь, статья будет вам полезна и интересна. Поехали!

https://habr.com/ru/articles/923566/

#Android

👉 @developer_mobila
👍21
Media is too big
VIEW IN TELEGRAM
Dependency Injection in iOS Explained (with SwiftUI)

Chapters:
0:00 What Is Dependency Injection?
0:51 Types of Dependency Injection
1:41 Initializer Injection Example
3:08 Why Use Dependency Injection?
4:18 DI in SwiftUI: Using @EnvironmentObject
6:05 Manual Injection in SwiftUI (via init)
6:44 EnvironmentObject vs Manual Injection
7:38 Manual DI vs DI Containers
8:37 When to Use DI — and When It’s Overkill

источник

#ios

👉 @developer_mobila
👍2
📱System Design в мобильной разработке — это про архитектуру, которая выходит за рамки экранов и навигации.

Чтобы приложения масштабировались, выдерживали нагрузку и не ломались при росте — нужен системный подход.

Как выстроить его на практике? Подробно обсудим это на Podlodka Android Crew, 15-19 сентября.

В программе:

🧩 Бинарная совместимость: где с ней сталкиваются мобильные разработчики и какие ошибки чаще всего приводят к проблемам. (Абакар Магомедов, Альфа-Банк)

🏗️ Мобильный архитектор: какие решения он принимает и почему без этой роли сложно развивать сложные приложения. (Эдуард Некрутов, Blink)

⚙️ Dependency Injection в KMP: обзор фреймворков и разбор, как выбрать подходящее решение под проект. (Александр Власюк, РайффайзенБанк)

⚡️BDUI в Android: опыт от DivKit, Beduin и Duit. Как перестать хардкодить экраны и ускорить эксперименты, чтобы быстрее проверять гипотезы.

🔗 Подключайся — будет полезно

По промокоду для подписчиков скидка 500 р: android_crew_14_URPLjQ
Эффекты в Jetpack Compose, лежащие на поверхности

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

Например – как нарисовать полупрозрачный заголовок с эффектом размытия над готовым экраном? Звучит достаточно просто, но на деле Compose не предоставляет для этого готовых инструментов. Приходится что-то изобретать. В данной статье приведен как раз один из способов «наложения» эффекта рендеринга на готовый контент (да-да, заголовок статьи именно про это – эффекты на готовой поверхности).

Дисклеймер: статья рассчитана на читателя продвинутого уровня, уже знакомого с Jetpack Compose и Android-разработкой в целом.

https://habr.com/ru/companies/finam_broker/articles/924802/

#Android

👉 @developer_mobila
👍5
Media is too big
VIEW IN TELEGRAM
Тестируй API прямо в Android Studio! Бесплатно! 😽

источник

#Android

👉 @developer_mobila
👍4🤷‍♂2
Как Swift Runtime влияет на производительность iOS-приложений

В современном мире производительность приложения — ĸритичесĸи важный фаĸтор, определяющий его успех. Пользователи ожидают мгновенного отĸлиĸа и плавной работы, даже небольшие задержĸи могут негативно сĸазаться на восприятии приложения.

Для больших iOS-приложений, написанных на Swift, понимание работы Swift Runtime и его влияния на производительность — важный навыĸ разработчиĸов. Swift Runtime при исполнении ĸода отвечает за фундаментальные вещи языĸа Swift: управление памятью и систему типов в рантайме.

В статье сосредоточимся на механизмах приведения типов и создания generic-типов внутри Swift Runtime и рассмотрим один ĸонĸретный метод, ĸоторый является узĸим местом в производительности приложения. Разберем примеры ĸода, демонстрирующие, ĸогда и почему этот метод вызывается, ĸаĸово его влияние на отзывчивость приложения и ĸаĸие стратегии использовать для смягчения негативного воздействия.

https://habr.com/ru/companies/tbank/articles/947486/

#ios

👉 @developer_mobila
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
17 октября в Москве пройдет CrossConf — главная конференция по кроссплатформенным технологиям в России и СНГ

В программе:

◾️Двойной поток по Flutter. Еще больше докладов от самых известных спикеров о Flutter и Dart из Яндекса, Лаборатории Касперского, Магнит Маркета, Открытой мобильной платформы и Friflex

◾️ Поток Al и нейросети, посвященный практическому применению ИИ в цифровых продуктах и мобильной разработке — от архитектуры до продакшн-инференса. Уйдете с набором проверенных паттернов, инструментов и метрик, пригодных для немедленного внедрения

◾️ Поток Crossplatform, чтобы рассказать о новых технологиях и фреймворках, которые появились на рынке для разработки под разные платформы. Крутые доклады от спикеров из Huawei, Selectel, Райффайзен Банк

◾️ Поток Business&Technology, где будем говорить о том, как цифровые продукты и помогают растить бизнес. Открытые дискуссии с топ-спикерами из крупнейших ритейл-сетей, маркетплейсов с инсайдами о работе многопользовательских сервисов

◾️ А еще — нетворкинг, активности, призы от партнеров и вечеринка

⭐️Успейте поймать билеты со скидкой 20% по промокоду CrossConf20

Подробности и билеты - по ссылке
1👍1🔥1
Как обнаружить обрезку Text в SwiftUI?

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

https://fatbobman.com/en/posts/how-to-detect-text-truncation-in-swiftui/

#ios

👉 @developer_mobila
👍1
Swift concurrency. Executors, Actors и их связь с потоками

В данной части из серии статей мы погрузимся чуть глубже в недра Swift Concurrency. Как определяется поток, на котором будет выполняться Task? Почему в рамках одной Task поток может меняться? Что такое Executor и на какие типы он делится? За что отвечает TaskExecutor, а за что SerialExecutor? Как определить текущий Executor по коду? Как использовать свой самописный Executor? В этой статье ответим на эти (и многие другие) вопросы.

https://habr.com/ru/articles/887240/

#ios

👉 @developer_mobila
👍1
Акторы в Swift — для чего они нужны?

Актор — это ссылочный тип, подобный классу, созданный для безопасного управления изменяемым состоянием в многопоточной среде. Появившиеся в Swift 5.5, акторы помогают разработчикам писать потокобезопасный и более предсказуемый код при работе с асинхронными задачами и общими изменяемыми данными.

Чем акторы отличаются от классов?
Акторы гарантируют, что к их изменяемому состоянию одновременно имеет доступ только один поток. Это предотвращает повреждение данных и обеспечивает целостность.

https://blog.egesucu.com.tr/swift-actors-what-are-they-for-fd40b4264d9a

#ios

👉 @developer_mobila
👍1
🔥 Современная оркестрация Kotlin-приложениями

Приглашаем на открытый урок.

🗓 22 октября в 19:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Kotlin Backend Developer. Professional».

Уже прошла эпоха монолита, когда целые компании занимались разработкой одного необъятного приложения. Сейчас любая информационная система насыщена различными сервисами, а микросервисами уже никого не удивишь.
Обязательным атрибутом собеседований стал вопрос про Saga, хореографию и оркестрацию.
И именно эту тему мы разберем на вебинаре в применении к Kotlin-разработке.

Что будет на вебинаре:
- Обсудим как традиционные оркестраторы типа Airflow или Camunda, так новых игроков.
- На практической части вебинара мы разработаем простое приложение, управляемое оркестратором.

🔗 Ссылка на регистрацию: https://vk.cc/cQoBPr

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Рулим светодиодом по UDP и ESP8266

Сегодня я поделюсь опытом работы с протоколом UDP вместе с микроконтроллером ESP8266, где я управлял светодиодом, а также получал температуру с датчика DHT11. Всё управление будет происходить из Android-приложения, написание логики которого также будет рассмотрено.

https://habr.com/ru/articles/925800/

#Android

👉 @developer_mobila
👍2
2025/10/20 00:20:36
Back to Top
HTML Embed Code: