Обновить
209.82

Android *

Пишем под самую популярную мобильную ОС

Сначала показывать
Порог рейтинга
Уровень сложности

У тимлида нет цели, но есть путь. Или как стать настоящим самураем и не сделать сеппуку

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров9.5K

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

Читать далее

Мобильная разработка за неделю #568 (9 — 15 декабря)

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.8K
В этом выпуске Swift и SwiftUI в iOS 18 и собственная система мониторинга фильтра воды, очередные похороны Flutter и суровые истины о программировании с помощью ИИ, дейтинг в России 2024, открытые русскоязычные опенсорс-модели и многое другое. Подключайтесь!

Читать дальше →

Flutter форкнули и похоронили. Эксперты о Flock, поводах для беспокойства и будущем фреймворка

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров6.1K

Про «смерть» Flutter говорят каждый год, иногда по нескольку раз. Сейчас разговоры об этом получили новый виток — во многом после сокращений в Google и появления форка Flock, который якобы заменит основную ветку.

Разбираем страхи, связанные с фреймворком, и отвечаем на основные вопросы по Flutter и Flock с экспертами. За помощь в написании статьи спасибо ведущим Flutter-инженерам Евгению Сатурову, Михаилу «Fox» Матюнину, Сергею Кольцову и Евгению Коту.

Читать далее

AndroidAPS в часах. Продолжение

Уровень сложностиСредний
Время на прочтение1 мин
Количество просмотров626

Друзья, ранее я испытывал AndroidAPS на полноценном Android в часах Kospet, что решало проблему забывания телефона и потери связи, а так же ситуаций, когда телефон не может быть рядом. Статья тут.

Часы с полным андроид - большая редкость и создалось четкое ощущение, что это не та технология, которая будет активно развиваться (как минимум потому что здравых, читай удобных, красивых, современных и с моментальным запуском программы, часов с полным андроид почти нет). То ли дело Wear OS (например часы Samsung на Wear OS).

Все еще решая проблему "второго телефона" и замены его на удобные часы, которые не нужно доставать из рюкзака, решил посмотреть какие возможности откроются нам на Wear.

Для начала, Wear версия XDrip+ уже сейчас дает возможность использовать часы как основной приемщик данных о глюкозе, причем переподключать сенсор к часам не нужно. Подключение происходит стандартно к телефону и после этого на Wear можно включить две разные функции:
- Enable Collector (Connect to BT Collector when phone is out-of-range = Подключить Wear к Bluetooth устройству сбора данных, когда телефон находится вне зоны досягаемости)

- Force Collector (Force phone to use Wear Collection Service = Принудительно использовать службу сбора данных Wear на телефоне) - в этом случае именно часы будут собирать данные с сенсора.

Первая функция не сработала (данные так и не появились) на моих Galaxy Watch 5Pro, вторая функция - сработала, но с задержками, вероятно когда часы засыпают данные все еще корректно не передаются, так что задержки почти все время от 3 до 30 минут. Разбираюсь. Как только решим эту проблему - попробуем подключить к часам помпу и перенести все или часть приложения на часы, чтобы добиться большей автономности.

Читать далее

Зачем покупать, когда можно… или как я собирал систему мониторинга фильтра воды и что из этого вышло

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров26K

Привет, Хабр!

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

Читать далее

Мобильная разработка за неделю #567 (2 — 8 декабря)

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.6K
В новом дайджесте уменьшение размера банковского приложения и транзишинометр для Android, вопперы и табы, сертификаты и профили, сколько приложений, из выпущенных в 2024 году, стали успешными, вранье LLM и многое другое. Подключайтесь!

Читать дальше →

Умная система обучения для детей до 3 лет. Animal Island Aila

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров547

В современном мире технологии играют всё более важную роль в обучении и развитии детей. Проект "Animal Island Aila" — это инновационная умная система, созданная специально для малышей от 12 до 36 месяцев. Она помогает детям познакомиться с основами английского языка (цвета, формы, буквы), расширяет словарный запас и делает процесс обучения увлекательным. 

В 2019 году я имел возможность участвовать в разработке этой системы. Моя задача заключалась в создании как серверной, так и клиентской части проекта.  

Суть проекта 

Проект "Animal Island Aila" реализован на основе клиент-серверной архитектуры и включает два отдельных приложения: одно для детей, а другое для родителей. В качестве сервера используется облачная платформа Amazon Web Services. 

Приложение для детей, разработанное на Kotlin, работает на специальном Android-планшете Aila Sit & Play™. Оно демонстрирует различные обучающие видео, рассказы и колыбельные для детей. 

Приложение для родителей, разработанное на Flutter и Dart, доступно для платформ Android и iOS. Оно позволяет родителям управлять детским устройством и наблюдать за детьми в реальном времени. 

Архитектура серверной части 

Серверная часть проекта реализована с использованием AWS Serverless, набора облачных услуг от Amazon, позволяющих разработчикам создавать и управлять приложениями без необходимости обслуживания физических серверов. Основные преимущества этой технологии включают автоматическое масштабирование, оплату только за фактическое использование ресурсов и упрощенное развертывание приложений. 

Читать далее

Jetpack Compose как unbundled-библиотека. Скорость UI vs. Гибкость разработки

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров4.9K

Jetpack Compose может работать медленнее системы View из-за своей архитектуры и дизайна. Но при этом он гораздо более гибкий.

Дело в том, что Jetpack Compose — это unbundled-библиотека. В этой статье я расскажу о том, что это значит и почему оно влияет на производительность, на примере нашего переезда на Compose.

Мы вместе ужаснёмся тормозам UI, вызванным переездом на Compose, и порадуемся возможности писать Compose-код, не оглядываясь на версию Андроида! Но это всё спойлеры. Давайте расскажу подробнее!

Читать далее

Особенности использования сторонних сервисов в мобильных приложениях на примере Firebase

Время на прочтение11 мин
Количество просмотров3.3K

Всем привет!

На связи Веселина Зацепина и Юрий Шабалин, эксперты по безопасности мобильных приложений из компании Стингрей. Сегодня мы затронем очень интересную тему — сервисы Firebase. Поговорим об их применении в мобильных приложениях и о том, как обеспечить их безопасность. Эта статья призвана обратить внимание разработчиков и ИБ-специалистов на внешние сервисы, которые используют приложения, поскольку они часто остаются без должного внимания и аудита. Очень надеемся, что после прочтения вы начнёте по-другому смотреть на безопасность мобильных продуктов, ведь они обмениваются данными не только с собственными серверами, но и с многими другими.

И, конечно, мы попробуем ответить на вопрос: что же может быть страшного в, казалось бы, стандартных и привычных сервисах? Интересно? Тогда начнём!

Читать далее

Вопперы и табы: как мы сделали меню для Burger King

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров3.7K

В прошлом году у нашей Android-команды на проекте BurgerKing был мощный вызов: сделать редизайн главного меню. Мы решили написать его с нуля. Так было бы проще организовать А/В тест и потом избавиться от старого меню (не волнуйтесь, при создании нового меню ни один воппер не пострадал 😉).

Сегодня мы расскажем о том, как мы делали часть этой фичи — табы и саб-табы.

Читать дальше

Самостоятельная доработка Android APS

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров1.2K

Что если у вас диабет и вы используете программу Android APS, но вас что то в ней не устраивает и вы хотите ее усовершенствовать?

Здесь я напишу небольшой гайд на тему того как можно улучшать opensource программу даже если вы не программист.

Дисклеймер. Приведенные в данной статье методы и разработки не являются частью более ранних разработок AIAPS, не касаются, не влияют на основное разрабатываемое приложение и ведутся параллельно основным усилиям по созданию ИПЖ.

Предыстория заключается в том, что есть замечательная программа "искусственная поджелудочная железа" Android APS, которую люди с диабетом 1 типа используют для точного дозирования инсулина. Я задался целью внести в нее некоторые изменения и вот что я сделал для этого.

Читать далее

Гайд по кроссплатформенной разработке с использованием React Native

Время на прочтение7 мин
Количество просмотров2.9K

Начнем, пожалуй, с азов. Что есть кроссплатформенная разработка? Такая, которая не требует от вас знаний нативного кода и позволяет одному разработчику делать сразу два приложения. «Вау! Круто!» — скажет любой предприниматель, смекнув, что может нехило сэкономить. Но так ли это на самом деле? Давайте разберемся.

Лет 7 назад наш техлид разглядел в только что появившемся React Native (RN) огромный потенциал. Поэтому с его легкой руки мы начали делать кроссплатформенные приложения на нем, когда это еще не было мейнстримом.

С тех пор фреймворк зарекомендовал себя как один из наиболее перспективных инструментов для разработки. Он был создан Facebook (Meta), чтобы писать нативные мобильные приложения для iOS и Android при помощи JavaScript.

Чтобы не быть голословными о его популярности, покозыряем именами: Facebook, Instagram, Bloomberg, Airbnb, Tesla, SoundCloud Pulse, UberEATS и Shopify написаны на React Native. Какие же у него сильные стороны?

Читать далее

Настройка Sora Editor

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.3K

В статье хочу показать как настроить SoraEditor от Resomoe. А конкретно то цветовую схему, язык и простые сниппеты.

Читать статью

Ближайшие события

От Kotlin до машинного кода

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров7.2K

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

Читать далее

Пишем транзишинометр для Андроид. Как понять, что мои экраны открываются быстро?

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров3K

Все Android-разработчики хотят одного: чтобы интерфейс их приложения был плавным и отзывчивым, а переходы экранов — быстрыми. Уверенность в плавности и чёткости интерфейса дают замеры метрик. Но как измерить ту самую плавность, как оценить гладкость анимаций? У кого-нибудь есть плавнометр или транзишинометр?

Google даёт нам Macrobenchmark и JunkStats — инструменты для оценки общей отзывчивости и стабильности интерфейса. Но их недостаточно, чтобы понять, быстро ли у нас открываются экраны.

В этой статье мы поговорим о том, как получить полную картину по метрикам UI-перформанса. Как замерить плавность и отзывчивость интерфейса, и как оценить время открытия экрана — одно из самых частых действий для пользователя. Напишем собственный транзишинометр и замерим рендер экрана до первого onDraw и до последнего, причём и во Fragments, и в Compose.

Читать далее

Мобильная разработка за неделю #566 (25 ноября — 1 декабря)

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.5K
В новой подборке поисковые подсказки на SwiftUI и сравнение Koin и Dagger, асинхронность в iOS и переживания Jetpack ViewModel, Tracer спустя год, пасьянс для забытой периферии, доходы и установки в России в 3 квартале и многое другое. Подключайтесь!

Читать дальше →

Как я купил нерабочую подделку iPhone 14 Pro Max за «косарь» и портировал на неё чистый Android

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров19K

Осторожно: в отличие от других обзорных статей о китайских подделках брендовых смартфонов, в этой мы ещё и узнаем, что у устройства ‭«под капотом‭», проведем диагностику, отремонтируем и доведём его до ума путём портирования чистого дистрибутива Android. В материале всё описано максимально простым и понятным языком, даже если вы не фанат такого своеобразного класса устройств, как подделки на брендовые девайсы. Будет интересно!

Читать далее

Делаем из смартфона рацию Push-To-Talk, вызываем диспетчера или подаём SOS одним нажатием. Обзор XCover7 и MIL-STD-810H

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров5.5K

Самое первое защищённое устройство (rugged device) Samsung появилось в далёком 2011 году.  С виду укреплённый корпус и заменяемая батарея, что продлевает жизнь смартфона, но всё не так просто. Линейка rugged моделей создана для снижения расходов бизнеса при эксплуатации смартфонов в долгосрочной перспективе, потому что на производстве условия суровые, а отношение сотрудников к устройству не бережное.

В этой статье я опишу малоизвестные подробности использования смартфонов в бизнесе и расскажу о модели защищенного смартфона Galaxy XCover7, а также о трёх способах программировать кнопку XCover на его левой стороне.

Читать далее

Как ускорить проверку приложения с помощью Impact-анализа: Статические анализаторы

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров1.5K

Когда команда растёт, а кодовая база стремительно увеличивается, время выполнения проверок может стать настоящей проблемой. Unit-тесты, UI-тесты, статический анализ — все эти процессы начинают занимать слишком много времени, замедляя разработку. Звучит знакомо?

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

Хочется запускать проверки только там, где это действительно нужно, и ускорить работу своей команды? Тогда читайте дальше.

Читать далее

Всё о новых штрафах за утечки данных. Сколько светит и как защитить своё приложение

Время на прочтение8 мин
Количество просмотров2.2K

На этой неделе Госдума ужесточила ответственность за нарушения в работе с данными — для компаний штрафы вырастут до 3% от выручки или до 500 миллионов рублей.

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

Читать дальше