Pull to refresh
17
0
Максим Марашан @mmarashan

Инженер

Send message

Куда катится MobAIle-разработка

Level of difficultyMedium
Reading time15 min
Views14K
Индустрия ИТ всегда была очень динамичной и быстро эволюционирующей. Например, мы в мобильной разработке всегда жили в информационном пространстве с конкурирующими и сменяющими друг друга фреймворками, парадигмами, библиотеками, операционными системами.

В целом, информационное пространство мобильной разработки довольно обособлено. Не выходя из него намеренно, мы редко узнаём про новости из мира backend, web-frontend или ML. При этом со временем тренды приходят из одной области в другую. Как пример — мода на реактивное программирование, завезенная из мира Java и бэкенда, которая постепенно сменяется асинхронным программированием благодаря языку Kotlin, который теперь активно захватывает свою долю в мире бэкенда. Или UDF-архитектуры, которые перетекли к нам из фронтенда, сменив MVP-архитектуру, когда-то перенесённой из бэкенда.

В этом посте я постарался оглянуться вокруг, выделить значимые (на мой взгляд) технологические (и не очень) тренды и понять, как они могут повлиять на работу мобильного разработчика и индустрию в целом; а также, что нам с этим делать и как подготовиться к будущим изменениям.
Читать дальше →
Total votes 13: ↑13 and ↓0+21
Comments6

Про поставки и релизы в мобильной разработке

Reading time11 min
Views5.6K

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

Читать далее
Total votes 3: ↑2 and ↓1+1
Comments7

Jetpack Compose Navigation в многомодульном проекте

Level of difficultyMedium
Reading time10 min
Views15K

Всем привет! Я на Мосбирже занимаюсь мобильной разработкой под Android. Осенью этого года мы начали разрабатывать приложение для платформы личных финансов Финуслуги и воспользовались возможностью делать UI сразу на Jetpack Compose. Как и всегда, сразу встал вопрос выбора архитектуры многомодульности и механизма навигации. Решение должно быть, с одной стороны, достаточно лаконичным и понятным для новых разработчиков. С другой стороны, оно должно быть масштабируемым, чтобы рост числа и размера модулей не создавал неприятностей, таких как раздражающее времени сборки или частые merge-конфликты.

Читать дальше →
Total votes 7: ↑6 and ↓1+6
Comments17

Корутинная эволюция в Kotlin. Чем отличаются Channels, Broadcast channels, Shared flows, State flows

Reading time5 min
Views41K
Эта публикация — перевод поста Романа Елизарова «Shared flows, broadcast channels». Опубликовано с одобрения автора оригинала. Примечания переводчика выделены курсивом.

Давным-давно в Kotlin были представлены корутины, одной из особенностей которых является легковесность (создание корутин дешевле, чем с запуск новых Threads). Мы можем запускать несколько корутин, и нам нужен способ взаимодействия между ними избегая “mutable shared state”
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments40

Как инженер делал модный стартап про CV и AdTech

Reading time5 min
Views2.8K
Я — инженер. Во-первых, по образу мышления, во-вторых, после выпуска из МГТУ им. Н.Э.Баумана, эта фраза стала мантрой. Я живу с постоянной потребностью изобретать и творить. Плюс в том, что работа в удовольствие и это плодотворно. Минус — из-за этого когнитивного смещения инженер в вакууме рискует вложить много ресурсов в продукт, который оказывается нужен только в его фантазиях.

Здесь я поделюсь своим путем, выводами, а главное, ошибками, которые я приобрел запуская стартап. Часть из них могут повторять много раз описанные рекомендации и быть банальными для опытной аудитории. Но я думаю их полезно держать в голове при старте своего проекта, особенно человеку с восприятием мира, смещенным в сторону технологий.
Total votes 9: ↑8 and ↓1+10
Comments2

#ЯМыРабота. Решение, которое может оказаться правильным

Reading time2 min
Views7.1K
Этот пост не является техническим, если Вы хотите посвятить время исключительно техническим статьям, не читайте его.

Также здесь не будет поднадоевшего уху слова на букву «к».

Я хочу призвать к одному простому, не требующему перемен планов, решению тех, у кого есть для этого возможность.
Читать дальше →
Total votes 64: ↑38 and ↓26+33
Comments75

Wi-Fi и много других аббревиатур. Как в Android приложении получить данные об узлах Wi-Fi и не опухнуть

Reading time10 min
Views15K
Однажды мне понадобилось сканировать из Android приложения сети Wi-Fi и получать подробную выкладку данных о точках доступа.
Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments0

Proof-of-Proof-of-Work на пальцах. На пути к разумному блокчейну

Reading time4 min
Views8.4K
Блокчейн-протоколы должны обеспечивать консенсус среди нод децентрализованной системы. Пожалуй, самым известным алгоритмом консенсуса можно считать «тормозунутый, но надежный, потому что тормознутый» алгоритм Proof-of-Work: каждая нода, имея набор новых транзакций перебирает некоторое число nonce, являющееся полем блока. Блок считается валидным, если валидны все транзакции внутри него и хэш-функция от заголовка блока имеет некоторую общепринятую особенность (например, количество нулей в начале, как в Bitcoin):

Hash(  Block{transaction,nonce,…} ) = 000001001...

Как известно, блокчейн — это цепочка блоков. Цепочкой он является потому, что внутри каждого блока записан id (как правило хэш от заголовка) предыдущего блока. Для последующих рассуждений блокчейн в упрощенном виде можно представить так:

image
Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments7

Правила эффективного создания прототипа продукта

Reading time2 min
Views5.5K
Эта статья в первую очередь пригодится тем, кто пишет ТЗ для программистов, и программистам, которые решили разрабатывать прототип самостоятельно.

Многие относятся к созданию визуального прототипа, написанию ТЗ, как к некоему творческому, порой спонтанному процессу. И во многом они правы. В этой статье приводятся полезные для практики правила (о большинстве из которых мы знаем, но часто забываем воспользоваться), принятие которых поможет повысить качество результата и снизить временные затраты.
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments4

Information

Rating
Does not participate
Registered
Activity

Specialization

Mobile Application Developer