Обновить
1024K+

Android *

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

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

Fury: Как за 4 месяца разработки мессенджера с нуля не сойти с ума

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

Итак, продолжу рассказ о том, как в один прекрасный день, оказавшись на задворках блокировок мессенджеров, я решил создать свой собственный. Изначально проект задумывался как простое средство коммуникации с родными и партнерами по бизнесу. Но вот во что это вылилось спустя всего 4 месяца... Ранее писал о том как всё это начиналось [тут] и [тут]

Аудитория и первые стресс-тесты

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

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

Читать далее

Новости

Vivaldi 7.9 для мобильных устройств — Удобно и красиво

Время на прочтение4 мин
Охват и читатели4.6K

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

Читать далее

Я написал язык программирования на C — и он работает в Termux

Время на прочтение4 мин
Охват и читатели5.2K

Kite lang

Я написал язык программирования на C — и он работает в Termux

Почему вообще

Всё началось с мечты — написать свой собственный язык программирования. Я смотрел кучу роликов на YouTube, пытался что-то понять, но эти жалкие попытки ни к чему не приводили. В теории я знал как устроен интерпретатор — лексер, парсер, AST. Но как воплотить это в реальный код — не понимал совсем.

Потом я наткнулся на один ролик который дал мне надежду. Я вспомнил что DeepSeek неплохо пишет код и решил попробовать — первый Python проект заработал. Я был на седьмом небе от счастья.

Но тот проект был сырой и недоделанный. А когда пытаешься сделать на нём что-то серьёзное — DeepSeek выдавал код полный ошибок. Я фиксил один баг, появлялись три новых. Стало ясно что просто просить AI написать язык — не работает.

Однажды я снова сидел на YouTube и наткнулся на видео с канала WeaklyHow — он создавал свой язык программирования с помощью нейросетей. Видео было на английском, но я смотрел просто так — контекст был понятен и без перевода.

Читать далее

Как я прошел ад публикации в App Store и Google Play и вывел первые деньги

Время на прочтение6 мин
Охват и читатели14K

Я просто хотел выложить мобильное приложение и начать зарабатывать. В итоге – блокировка Google-аккаунта, несколько кругов ада с тестированием и квест с выводом денег. Рассказываю, как это было и почему это оказалось сложнее, чем написать само приложение

Читать далее

Как настроить сериализацию Kotlin Any с поддержкой Parcelable и Serializable в Android

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

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

Именно об этом открытии и пойдет речь в статье — о смеси двух методов сериализации, — а также о том, почему для решения этой задачи важно разбираться в работе разных видов classLoader. Информация из статьи поможет вам постепенно мигрировать на Parcelable в нужных местах, не переписывая сразу все классы на новую технологию.

Узнать подробности

Что происходит с подписочной моделью в приложениях: уроки, тренды и ориентиры на 2026 год

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели6K

Перевод статьи Лорелея Уитмен, RevenueCat

Ключевые выводы из крупнейшего в мире набора данных о подписочных приложениях

Краткое содержание

Рынок подписочных приложений быстро меняется. Старые приложения по-прежнему доминируют по доле выручки, но новые каждый день наводняют cторы. ИИ-приложения «умирают» быстрее, чем успевают выходить, а зона безопасной выручки для среднего приложения стремительно исчезает. «Выживания» больше нет: либо процветаешь, либо выгораешь.

Каждый год наш отчёт «Состояние подписочных приложений» ставит целью понять, что меняется в индустрии: что нового, что ушло в прошлое и что нас ждёт. В этом году наш набор данных снова вырос: более 115 000 приложений, представляющих более 16 миллиардов долларов выручки. И мы проанализировали данные по всем 115 тысячам из них.

Если вы думали, что прошлогодний отчёт был исполином, отвернитесь сейчас. В этом году мы подготовили 338 страниц, готовых дать вам любую метрику, ориентир или тренд, который только может понадобиться.

Если перефразировать слова Дэвида Барнарда: «Есть много приложений, которые зарабатывают много денег».

Но если у вас (как это ни удивительно) нет времени читать каждую страницу полного отчета, то этот краткий обзор для вас. Начнем!

Читать далее

Мониторинг LTE модемов: Из dBm и палок

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

У всех же есть знакомый, постоянно меняющий сим-карты и тарифы на них. То акция, то безлимит включили, то не ловит, то не качает. У меня есть, Роман привет.

Да и сам я лет 8 назад устанавливал 3G комплекты интернета в частном секторе. Симки всех операторов имел и активно пользовался, следил за тарифами. Закрепишь антенну, поймаешь сигнал, скорость покажешь и всё, интернет работает. А как работает?

Да, как?

Ребрендинг глазами разработчика: как мы переходили к единому кластеру «КИОН»

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели5.1K

Привет, Хабр! Меня зовут Андрей Юрин, я мобильный разработчик в онлайн-кинотеатре «КИОН». Недавно у нас произошел ребрендинг, который коснулся всех платформ, но ресурсов на весь идейный план не хватало. Было решено все делать в мини-команде супергероев из дизайнеров и разработчиков. Я был в зоне отвественности за Android TV и хочу поделиться, с какими проблемами пришлось столкнуться и как проходит ребрендинг в большой компании.

Читать далее

Как рисовать игровые облака для чайников

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

Ты — начинающий художник, который дорвался до Unreal Engine 5 и даже создал по гайду свою первую локацию. Но вот незадача: небо! Оно пустое и совсем не такое, как тебе хочется. А хочется, чтобы всё было «по красоте». Перерыв весь YouTube, ты нашёл кучу плохих роликов и парочку видео, где на протяжении 100 500 часов монотонный хмырь рассказывает художественную базу, от которой уши вянут.

Давай начнём с простого. Открываем Photoshop и создаём сцену 2048 x 2048 (можно и больше, тут стесняться не надо). Дальше нам нужно скачать два набора кистей. Вообще, их можно купить или найти официально, но мы — люди находчивые, поэтому ищем на «зелёном Ютубе под пиратским флагом».

Читать далее

Capacitor: от веба к мобильным приложениям. Часть 3. OTA обновления в обход сторов

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели5.2K

Эта 4 по счету статья является рефакторингом моей старой статьи про обновления бандлов приложения в capacitor. В этой обновленной статье мы еще раз рассмотрим механизм обновлений и ознакомимся с новой более структурированной реализацией.

Читать далее

SMS в MikroTik: Читай меня полностью

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели10K

Наверно, все владельцы роутеров MikroTik знают, что они декодируют все SMS по стандарту 7-bit вне зависимости от того, как изначально было закодировано сообщение. Как оказалось, даже при декодировании 7-bit MikroTik использует не все 128 символов из стандартного алфавита (GSM 7-bit Default Alphabet).

А ещё вместо одного длинного SMS роутер покажет вам его части по отдельности, иногда с неполными дубликатами. Как же тогда нормально прочитать любое сообщение, отправленное на роутер? Надо стать протоссом и построить MotherSMS.

Построить

Мобильная разработка за неделю #624 (16 — 22 марта)

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

В новом выпуске отладка iOS-приложений на практике и решение для установки сторонних приложений на Android от Google, Remote Compose и Copy-On-Write, эффекты рисования и градиентного рендеринга, неверная реализация MVVM, рынок труда для джунов в 2026 году и многое другое. Заходите!

Читать далее

Адаптивная мимикрия: как обмануть DPI, имитируя цифровой след пользователя

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

Привет, Хабр! Последние несколько лет мы наблюдаем за захватывающей, но тревожной гонкой вооружений между разработчиками средств обхода блокировок и инженерами цензуры (ТСПУ в РФ, GFW в Китае). Ситуация накаляется: после участившихся сбоев в работе Telegram, риск полной блокировки мессенджера в России перестал казаться «страшилкой» и перешел в разряд рабочих сценариев. Уже сейчас иногда умудряются блокировать даже VLESS. Если завтра подобные инструменты «выключат» полностью, нам понадобится что-то принципиально иное.

Сразу оговорюсь: это не «серебряная пуля» и не коммерческий продукт. Это концепт для обсуждения инженерами, обладающими критическим мышлением. Мы будем говорить не о том, как смотреть YouTube в 4K, а о том, как создать сверхнадежный «канал последней надежды» для условий цифрового ГУЛАГа.

Читать далее

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

Как безопасно хранить и открывать пользовательские файлы локально в Android

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели6.7K

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

Узнать подробности

Я перестал пользоваться Anki и сделал VibeLing – своё приложение для изучения языков

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

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

В итоге я сделал своё приложение, где попытался закрыть все эти боли. За 5 месяцев его скачали 1000+ человек.

Читать далее

Интеграция автоматической установки eSIM на Android

Уровень сложностиСложный
Время на прочтение7 мин
Охват и читатели9.6K

Я люблю свою работу, потому что на удивление для меня с годами она становится все более нетривиальной и увлекательной. Моя история внедрения автоматической установки eSim была интересна тем, что разрабатывалась вслепую без возможности протестировать функционал на момент разработки. О eSIM и о своей истории и пойдет речь в данной статье.

Узнать подробности

Как заставить Android Studio ругаться на код по вашим правилам: создаем пользовательские Lint и Detekt

Уровень сложностиСложный
Время на прочтение22 мин
Охват и читатели7K

Привет, Хабр! На связи Алина, старший Android-разработчик в команде Инвестиций «Совкомбанк Технологии». Сегодня поговорим о том, как заставить Android Studio самостоятельно следить за порядком в коде – без ручных проверок и без вечных напоминаний в командном чате.

В этой статье мы создадим практические правила для инструментов статического анализа кода и разберем, как внедрить их в проект. На примере lint рассмотрим контроль архитектуры пакетов и обязательную документацию с QuickFix, а на примере detekt – проверку неизменяемого состояния представления без Android-зависимостей и миграцию с RxJava на Coroutines.

Читать далее

«Ну вроде едет». Мой самописный мессенджер готов к публичной порке. Начнём?

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели17K

В какой-то момент я понял неприятную вещь: если твой канал связи живет по чужому настроению, политической погоде, сбою в чужом облаке или очередной внезапной любви регулятора к кнопке «запретить» — это не твой канал связи. Это аренда с правом внезапного выселения.

Мне эта модель быстро наскучила.

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

Читать далее

Несколько мобильных приложений в одном Appium‑проекте: как это можно организовать

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели5.8K

Как тестировать несколько мобильных приложений в одном «Appium‑проекте». Показываю архитектуру фреймворка, запуск тестов через аннотации, потокобезопасный контекст и подключение новых приложений без дублирования кода.

Читать далее

Как жить с хобби и семьёй. Часть третья

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели8.3K

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

Упор здесь будет также сделан на соотношение цена-качество, поэтому выбор софта сделан в пользу бесплатных продуктов, а харда не с самыми лучшими параметрами, но достойного выбора для домашнего использования. Дома у меня стоит операционка Linux Mint, а на рабочих машинках Windows 11, так что адекватность работы могу оценить по работе в этих системах. По поводу MacOS и Android пишите в комментариях.

Компьютер у меня старенький, 15 лет назад покупался как мощный: процессор – Intel Core i5, ОЗУ: 10 GB, ПЗУ: SSD 128 GB для системы, HDD 1.5 TB для хранения, видеокарта: 768 GB. Ноутбук сразу покупался как «печатная машинка» для творчества в командировках, но, на удивление, и на нём всё запускается: процессор: Intel Core i3, ОЗУ: 8 GB, ПЗУ: 320 GB. Один из приятных плюсов бесплатного софта – это скромность в потребляемых ресурсах. Линейка от Adobe большой любитель оперативной памяти, при сегодняшних ценах – агрейд становится «болючим» для кошелька. Минус бесплатного софта – это низкая интеграция. В больших компаниях происходит глубокая интеграция между сотрудниками. Проекты собирают буквально «на лету». Поэтому проект из одной программы, можно открыть в другой, сохранить, передать дальше. С «зоопарком» софта такого не получится. В лучшем случае, вы будете рендерить, а потом с этим рендером ковыряться. Ну, и при желании превратить хобби в профессию, у вас не окажется необходимого опыта, но его можно будет наверстать, поскольку бесплатный софт в последнее время делается с оглядкой на «мастодонтов» бизнеса.

Про хард и софт...
1
23 ...