Рубрика «kotlin» - 23

В прошлой части расследования Роман Тимушев посоветовал связаться с Владом, что я и сделал. Влад уточнил, что меня интересует, делайны и согласился написать несколько абзацев. На следующее утро я увидел уведомление в Facebook. Это Влад нашел нового свидетеля — Александра Подхалюзина. С 2008 по 2017 он работал как тимлид над Scala plugin в IDEA и лично видел все развитие Scala-движения, но, в основном, не российскую часть.

В голове «щелкнуло» — планы меняются, это новая нить в расследовании. Обозначили время и записали часовое интервью с Александром. Информации столько, что вместить его куда либо кроме отдельной части не было вариантов. Поэтому, предупреждаю — впереди много текста.

По следам русского Scala-движа. Часть 2 - 1

В этой части говорим с Александром Подхалюзиным и Михаилом Муцянко. Вне программы — комментарий Ильи Сергея. Scala plugin, первые Scala-мероприятия в России, уход в Kotlin, Native на обоих языках, закат Eclipse и многое другое под катом.
Читать полностью »

Добрый день, дорогие обитатели !

Не так давно мне представилась возможность реализовать небольшой проект без особых требований по технической части. То есть, я был волен выбирать стек технологий на своё усмотрение. Потому не преминул возможностью как следует «пощупать» модные, молодёжные многообещающие, но малознакомые мне на практике Kotlin и Vue.js, добавив туда уже знакомый Spring Boot и примерив всё это на незамысловатое веб-приложение.
Читать полностью »

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

Полнотекстовый поиск в Android - 1
Читать полностью »

В этой подборке (не)настоящее восстание машин в Google Play, чистый Swift и настоящие компоненты, новый Android 10 и старый геймдев, удобные интерфейсы и сомнительный маркетинг для инди-игр.

Дайджест интересных материалов для мобильного разработчика #314 (2 — 8 сентября) - 1Читать полностью »

Меня зовут Эдуард Мацуков, я делаю Таксометр — приложение для водителей Яндекс.Такси. Занимаюсь инфраструктурой и всем, что с ней связано. Какое-то время назад я выступил с докладом — рассказал об опыте дружбы TeamCity с нашим проектом и с разработчиками в целом. Отдельная часть доклада посвящена тому, при чем здесь Kotlin.

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

Читать полностью »

От копипасты к компонентам: переиспользуем код в разных приложениях - 1

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

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

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

Начнём с постановки задачи.

  1. Надо в каждом запросе в header’s отправлять токен и id юзера
  2. Надо из каждого ответа вытаскивать из headers новый токен и id юзера
  3. Полученные данные надо сохранять

Библиотека для серверного взаимодействия – Retrofit. За многопоточность отвечают корутины.
Задача не сложная, надо просто добавить прерыватель Okhttp client в каждый запрос. Полчаса и всё готово, всё работает, все рады. Но мне стало интересно, а нельзя ли сделать прерыватель без Okhttp клиента?
Читать полностью »

До недавнего времени у Dropbox была техническая стратегия использовать общий код C++ для мобильных приложений iOS и Android. Идея понятна: написать код один раз на C++ вместо его дублирования отдельно на Java и Objective C. Мы приняли эту стратегию ещё в 2013 году, когда группа инженеров мобильной разработки была относительно небольшой и приходилось быстро развивать продукт. Такое решение позволило выдавать большой объём кода как на Android, так и на iOS силами маленькой команды.

Теперь мы полностью отказались от этой стратегии в пользу родных языков каждой платформы (в первую очередь Swift и Kotlin, которые не существовали, когда мы начинали). Решение связано с (не очень) скрытыми издержками на совместное использование кода.

Все проблемы вытекают из главного: оверхед оказался больше, чем просто написать код два раза.
Читать полностью »

Несколько лет назад мы в Badoo начали использовать MVI-подход к Android-разработке. Он был призван упростить сложную кодовую базу и избежать проблемы некорректных состояний: в простых сценариях это легко, но чем сложнее система, тем сложнее поддерживать её в корректном виде и тем проще пропустить баг. 

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

Дзен изолированных компонентов в Android-архитектуре - 1

Наш коллега Zsolt Kocsi (Medium, Twitter) из лондонского офиса рассказал, каким образом с помощью MVI мы строим независимые компоненты, которые легко переиспользовать, какие преимущества мы получаем и с какими недостатками нам пришлось столкнуться при использовании этого подхода.Читать полностью »

Отчет Kotlin - Everywhere — Showcase practice: 31 июля - 1

На прошлой неделе собирали в нашем офисе пользователей и активных разработчиков языка Kotlin. Митап посетило более 150 человек, говорили про тестирование java-приложений, команда Поиска Mail.ru подготовила доклад про свой опыт использования каналов в корутинах. Заключительной темой был доклад про продакшн Kotlin DSL. Под катом собрали для вас материалы с мероприятия.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js