Как стать автором
Обновить
58
Карма
0
Рейтинг
Евгений Мацюк @xoxol_89

android developer

Kaspresso tutorials. Часть 1. Запуск первого теста

Блог компании «Лаборатория Касперского» Разработка мобильных приложений *Разработка под Android *Тестирование мобильных приложений *
Tutorial

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

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

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

Познавать Kaspresso
Всего голосов 14: ↑14 и ↓0 +14
Просмотры 7.8K
Комментарии 8

Автотесты на Android. Картина целиком

Блог компании «Лаборатория Касперского» Блог компании Авито Разработка мобильных приложений *Разработка под Android *Тестирование мобильных приложений *

Всем привет!


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


Она также выступит в роли схематичной дорожной карты работы Avokado Project. Мы верим в то, что в скором времени разворачивание автотестирования будет занимать куда меньше времени, чем сейчас. И активно работаем в этом направлении.


Читать дальше →
Всего голосов 15: ↑15 и ↓0 +15
Просмотры 10K
Комментарии 6

Avokado Project

Блог компании «Лаборатория Касперского» Блог компании Авито Разработка мобильных приложений *Разработка под Android *Тестирование мобильных приложений *
Всем привет!

Мы анонсируем старт сотрудничества в формате open-source между «Авито» и «Лабораторией Касперского» — Avokado. Главная цель этого проекта — разработать инструменты, которые упростят жизнь мобильных разработчиков.

Мы искренне верим в синергию, и что 1+1 может давать в сумме больше двух. Верим, что группа людей с общей целью может достигнуть большего, чем одиночки. Что стоит делиться опытом, знаниями и инструментами, ведь в ответ ты получаешь больше, чем отдаешь. Именно в этом суть open-source.


Всего голосов 24: ↑20 и ↓4 +16
Просмотры 6.3K
Комментарии 1

Kaspresso: фреймворк для автотестирования, который вы ждали

Блог компании «Лаборатория Касперского» Java *Разработка мобильных приложений *Разработка под Android *Kotlin *
Все, кто занимался или занимается автотестами под Android, знают, какая это боль.
От объема задач и проблем устаешь так, что и отпуск не помогает. Люди даже увольняются из-за автотестов.

Боль, страдания и мучения неизбежно приводят к появлению чего-то нового и прекрасного. Мы постарались собрать вместе все грабли, на которые нам пришлось наступить, объединили свои усилия с ребятами из «Авито» и HH и создали то, что сделает ваши отношения с автотестами несравнимо лучше и плодотворнее.

Встречайте: Kaspresso — фреймворк для автотестирования, который вы ждали!


Читать дальше →
Всего голосов 19: ↑19 и ↓0 +19
Просмотры 23K
Комментарии 18

CoLaboratory: Android Night #Apple

Блог компании «Лаборатория Касперского» Java *Разработка мобильных приложений *Разработка под Android *


Всем привет!

Мы открываем серию Android-встреч в «Лаборатории Касперского». На первой встрече обсудим карьерные перспективы мобильного разработчика (куда развиваться «после»), кастомизируемость одного приложения внутри различных сборок и попробуем экспериментальный формат — круглый стол о психологии Android-разработчика.
Читать дальше →
Всего голосов 7: ↑6 и ↓1 +5
Просмотры 2.2K
Комментарии 6

Многомодульность в Android с точки зрения архитектуры. От А до Я

Блог компании «Лаборатория Касперского» Java *Разработка мобильных приложений *Разработка под Android *
Всем привет!

Не так давно мы с вами осознали, что мобильное приложение — это не просто тонкий клиент, а это действительно большое количество самой разной логики, которое нуждается в упорядочивании. Именно поэтому мы прониклись идеями Clean architecture, прочувствовали, что такое DI, научились использовать Dagger 2, и теперь с закрытыми глазами способны разбить любую фичу на слои.

Но мир не стоит на месте, и с решением старых проблем приходят новые. И имя этой новой проблемы — мономодульность. Обычно об этой проблеме узнаешь, когда время сборки улетает в космос. Именно так и начинаются многие доклады про переход на многомодульность (раз, два).
Но почему-то все при этом как-то забывают, что мономодульность сильно бьет не только по времени сборки, но и по вашей архитектуре. Вот ответьте на вопросы. На сколько у вас AppComponent большой? Не встречаете ли вы периодически в коде, что фича А зачем-то дергает репозиторий фичи Б, хотя вроде такого быть не должно, ну или оно должно быть как-то более верхнеуровнево? Вообще у фичи есть какой-то контракт? А как вы организовываете общение между фичами? Есть какие-то правила?
Вы чувствуете, что мы решили проблему со слоями, то есть вертикально все вроде хорошо, но вот горизонтально что-то идет не так? И просто разбиением на пакеты и контролем на ревью не решить проблему.

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

В своей статье я хочу вам рассказать, как дошел до многомодульности именно с архитектурной точки зрения. Какие проблемы меня беспокоили, и как я их старался поэтапно решать. А в конце вас ждет алгоритм перехода с мономодульности на многомодульность без слез и боли.
Читать дальше →
Всего голосов 25: ↑24 и ↓1 +23
Просмотры 53K
Комментарии 18

Анатомия аналитики от Google

Блог компании «Лаборатория Касперского» Java *Разработка мобильных приложений *Разработка под Android *

Всем привет!
Мы — разработчики (гордо звучит, не правда ли?), и мы активно пилим новые фичи, правим баги и стараемся сделать наш продукт лучше. Но чтобы понять, а как именно пользователь использует наш продукт, какие фишки продукта ему по душе, а какие — не очень, мы используем аналитику. Есть много разных средств, но в этой статье я бы хотел поговорить именно об аналитике от Google, которая активно развивается и меняется. Старого часового по имени Google Analytics сменяет новый боец — Google Analytics for Firebase (в девичестве — Firebase Analytics).
Уже даже в названиях вы можете уловить этот ветер перемен. А ветер перемен всегда порождает некоторый информационный вакуум, в который попадают разного рода слухи, далеко не всегда достоверные при этом.
Поэтому давайте попробуем разобраться подробно, а что сейчас с этой аналитикой, чем пользоваться-то в итоге. И как вообще дальше жить.
Если про Google Analytics информации довольно много, и она систематизирована (чего только стоит этот ресурс, идеальная справка), то у Google Analytics for Firebase типичная болезнь молодого и активно развивающегося продукта — информации мало, она разрознена и иногда даже противоречива. И я в свое время потратил немало сил и времени, чтобы разобраться, что к чему.
Собственно главная цель данной статьи — это систематизация знаний и нынешнего состояния Google Analytics for Firebase. Некоторая «дорожная карта» Google Analytics for Firebase.
Уверен, данная «карта» сэкономит вам прилично времени и нервов =)

Читать дальше →
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 15K
Комментарии 3

Android O: особенности поддержки новой операционной системы

Блог компании «Лаборатория Касперского» Java *Разработка мобильных приложений *Разработка под Android *

Всем привет! Совсем скоро состоится важное событие – выход Android O. Поддержка новых версий операционной системы – обязанность любого серьезного продукта. Каждое обновление Android заставляет многих разработчиков серьезно поработать для сохранения работоспособности имеющихся функций и привнесения нового благодаря возможностям новых версий Android.


В данной статье мы рассмотрим основные изменения Android O и оценим их возможное влияние.


image

Читать дальше →
Всего голосов 21: ↑19 и ↓2 +17
Просмотры 32K
Комментарии 34

Dagger 2. Часть третья. Новые грани возможного

Java *Разработка мобильных приложений *Разработка под Android *

Всем привет! Наконец-то подоспела третья часть цикла статей о Dagger 2!


Перед дальнейшим прочтением настоятельно рекомендую ознакомиться с первой и второй частями.


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


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


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


Итак, хватит разглагольствовать, и вперед к новым знаниям!

Читать дальше →
Всего голосов 18: ↑17 и ↓1 +16
Просмотры 55K
Комментарии 30

Манифест архитектурной боли

Java *Разработка мобильных приложений *Разработка под Android *
Всем привет! Это будет необычная статья. Это будет статья-манифест! Манифест архитектурной боли! Хватит это терпеть, хватит это держать в себе. Возьми и скажи все, что думаешь об архитектуре. Все, что думаешь о «чистой архитектуре»! Все, все, все! От начинающих до неудержимых гиков.

Все под кат!

image
Читать дальше →
Всего голосов 50: ↑26 и ↓24 +2
Просмотры 11K
Комментарии 18

Dagger 2. Часть вторая. Custom scopes, Component dependencies, Subcomponents

Разработка веб-сайтов *Java *Разработка мобильных приложений *Разработка под Android *

Всем привет!
Продолжаем наш цикл статей о Dagger 2. Если вы еще не ознакомились с первой частью, немедленно сделайте это :)
Большое спасибо за отзывы и комментарии по первой части.
В данной статье мы поговорим о custom scopes, о связывании компонентов через component dependencies и subcomponents. А также затронем такой немаловажный вопрос, как архитектура мобильного приложения, и как Dagger 2 помогает нам выстраивать более правильную, модульнонезависимую архитектуру.
Всем заинтересовавшихся прошу под кат!

Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 107K
Комментарии 26

Dagger 2. Часть первая. Основы, создание графа зависимостей, Scopes

Разработка веб-сайтов *Java *Разработка мобильных приложений *Разработка под Android *

Всем привет! В последнее время появилось много средств, библиотек, которые существенно облегчают написание кода под Android. Только успевай за всем следить и все пробовать. Одним из таких средств является библиотека Dagger 2.


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


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


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

Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 161K
Комментарии 22

Пагинация списков в Android с RxJava. Часть II

Разработка веб-сайтов *Java *Разработка мобильных приложений *Разработка под Android *
Всем добрый день!
Приблизительно месяц назад я писал статью об организации пагинации списков (RecyclerView) с помощью RxJava. Что есть пагинация по-простому? Это автоматическая подгрузка данных к списку при его прокрутке.
Решение, которое я представил в той статье было вполне рабочее, устойчивое к ошибкам в ответах на запросы по подгрузке данных и устойчивое к переориентации экрана (корректное сохранение состояния).
Но благодаря комментариям хабровчан, их замечаниям и предложениям, я понял, что решение имеет ряд недостатков, которые вполне по силам устранить.
Огромное спасибо Матвею Малькову за подробные комментарии и отличные идеи. Без него рефакторинг прошлого решения не состоялся бы.
Всех заинтересовавшихся прошу под кат.
Читать дальше →
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 24K
Комментарии 2

Пагинация списков в Android с RxJava. Часть I

Разработка веб-сайтов *Java *Разработка мобильных приложений *Разработка под Android *
Часто при разработке клиента мы сталкиваемся с задачей отображения какой-либо информации с сервера, базы данных или еще чего-нибудь в виде списка. И при прокручивании списка данные должны автоматически подгружаться и вставляться в список незаметно для пользователя. У пользователя вообще должно сложиться впечатление, что он скроллит бесконечный список.

В данной статье я бы хотел рассказать вам о том, как сделать автоподгружаемый список простейшим в реализации для разработчика и максимально эффективным и быстрым для пользователя. А также о том, как нам в этом здорово поможет RxJava с ее главной догмой — «Everything is Stream!»
Читать дальше →
Всего голосов 15: ↑14 и ↓1 +13
Просмотры 38K
Комментарии 8

RxJava. Борьба с вызовами суровой действительности

Разработка веб-сайтов *Разработка мобильных приложений *Разработка под Android *
Реактивное программирование — очень модный тренд в мобильной разработке на данный момент. Если говорить про android разработку, то реактивность представлена в основном библиотекой RxJava.
В сети все больше статей, обучающих видео, презентаций, записей с конференций, в которых рассказывается про данную тематику. Но подавляющее большинство представленного материала содержит теоретические аспекты и весьма тривиальные примеры, на которых разработчик не может оценить реальный профит от использования Rx. А ведь так хочется увидеть реальный и сложный пример из жизни, который очень наглядно покажет всю мощь, красоту и простоту реактивного программирования.
Поэтому данная статья будет посвящена подробному разбору реального и довольно таки сложного примера. И я очень надеюсь, что после прочтения, вы по-настоящему откроете для себя мир реактивного программирования.
Читать дальше →
Всего голосов 17: ↑17 и ↓0 +17
Просмотры 35K
Комментарии 8

Best practices от Google по разработке Android приложений

Разработка веб-сайтов *Разработка мобильных приложений *Разработка под Android *
Из песочницы
В данной статье я хотел бы вкратце рассказать про самые последние best practices от Google. Я постарался выделить самые основные моменты, чтобы читатель сразу мог понять, что именно какая-либо фича дает разработчику. Не удивляйтесь, если где-то повторяюсь. Конспектировал + добавлял от себя по ходу просмотров видео в www.youtube.com/channel/UCVHFbqXqoYvEWM1Ddxl0QDg

Также к каждому пункту приводятся все необходимые ссылки для более подробного ознакомления с конкретной best practice.
Читать дальше →
Всего голосов 32: ↑30 и ↓2 +28
Просмотры 44K
Комментарии 18

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Дата рождения
Зарегистрирован
Активность