Как стать автором
Обновить
4
0
Vadim Raku @Laser42

Разработчик

Отправить сообщение

Реалистичный Realm. 1 год опыта

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

Realm давно известен в среде мобильных (и не только) разработчиков. К сожалению, в рунете почти нет статей об этой базе данных. Давайте исправим эту ситуацию.

Год назад в build.gradle нашего проекта появилась строчка:

classpath "io.realm:realm-gradle-plugin:0.87.5" 

За этот год код Realm вырос до версии 3.3, обзавелся множеством фич и починил кучу багов, реализовал новый функционал и получил облачный бекенд. Давайте поподробнее поговорим о Realm в реалиях Andoroid разработки и обсудим тонкие моменты, возникающие при его использовании.
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии7

Почему следует полностью переходить на Kotlin

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


Хочу рассказать вам о новом языке программирования, который называется Kotlin, и объяснить, почему вам стоит использовать его в своём следующем проекте. Раньше я предпочитал Java, но в последний год пишу на Kotlin везде, где только можно. И в данный момент я не представляю себе ситуации, в которой лучше было бы выбрать Java.


Kotlin разработан в JetBrains, и участие тех же людей в создании наборов IDE, таких как IntelliJ и ReSharper, хорошо заметно по самому языку. Он прагматичен и краток, благодаря чему написание кода превращается в приятный и эффективный процесс.


Хотя Kotlin компилируется в JavaScript и скоро будет компилироваться в машинный код, я сконцентрируюсь на его первичной среде — JVM.


Итак, несколько причин, почему вам следует полностью переходить на Kotlin (порядок случаен):

Читать дальше →
Всего голосов 140: ↑100 и ↓40+60
Комментарии325

Android и архитектура

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

Операционная система Android предоставляет мощный фундамент для разработки приложений, которые отлично работают на множестве разнообразных устройств и форм-факторов. Теперь, как говорится, мы услышали жалобы разработчиков: трудно создавать "безглючные" приложения в условиях сложных циклов жизни объектов и отсутствия рекомендованной архитектуры приложения.


Нам, создателям Android, надо сделать простым и веселым написание устойчивых приложений, чтобы перевести усилия разработчиков в те области, в которых можно создавать инновации. Сегодня мы аннонсируем путеводитель по архитектуре Android-приложений и превью библиотек Architecture Components. Вместо того чтобы изобретать колесо, мы признаем работу, сделанную авторами популярных сторонних Android-библиотек (прим. пер.: WAT?).


Всего голосов 10: ↑9 и ↓1+8
Комментарии2

Исследуем RxJava 2 для Android

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

enter image description here


Меня зовут Аркадий, я Android-разработчик в Badoo. В последнее время в нашем блоге много постов про Go, PHP, JS, QA, и я решил разбавить их темами по мобильной разработке. Как раз занимался портированием одного Android-проекта с RxJava 1 на RxJava 2 и читал всё, что можно найти на эту тему в интернете. В частности, доклад Джейка Вортона с конференции GOTO Copenhagen 2016. Мне показалось, что это достойный кандидат на перевод – думаю, многие Android-разработчики задумываются о переходе на RxJava 2, и им интересно, что изменилось по сравнению с первой версией.


Джейк сделал достаточно объёмное введение о реактивном программировании, так что знание RxJava 1 не требуется для понимания статьи. Доклад был подготовлен, когда RxJava2 ещё только готовилась к выпуску (на текущий момент уже выпущена версия 2.1.0).

Читать дальше →
Всего голосов 42: ↑41 и ↓1+40
Комментарии5

Бирюзовые организации: высшая цель. Практика аллегорий

Время на прочтение5 мин
Количество просмотров5.9K
Буквально на днях я был в горах. При чём тут это? Всё очень просто: там мне встретился пример того, чем же именно бирюзовые (синергетические) организации отличаются от классических нынче оранжевых (читай — построенных на конкуренции внутри и во вне).

Думаю, что эта статья будет полезна тем, кто занимается не только вопросами БО, но и самоорганизации. Итак.


Читать дальше →
Всего голосов 19: ↑11 и ↓8+3
Комментарии41

Системный подход к тестированию Android-приложений, или О чем молчали разработчики

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

У каждого тестировщика рано или поздно наступает неловкий момент. Обнаружился вредный баг и его необходимо локализовать. По закону подлости баг воспроизводится нестабильно, при непонятных шагах и только на некоторых устройствах. Есть логи, но они не информативны. Разработчик занимается новой функциональностью, он не может отвлечься от текущих задач, пока не будут найдены четкие шаги воспроизведения. Менеджер ждет исправления (надо быстрее, заказчик переживает).


Как внести ясность в такой ситуации? Некуда деваться, пора разбираться, что же там происходит «под капотом» приложения.


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

Инструкция по публикации Android-приложения в Google Play

Время на прочтение12 мин
Количество просмотров391K
Вслед за инструкцией по публикации приложения в App Store выкладываем внутренний свод правил Лайв Тайпинг по публикации приложений в Google Play, составленный отделом менеджеров при активном участии тимлида отдела Android-разработки Александра Мирко. Вне зависимости от того, насколько ты крутой и опытный проджект-менеджер, всегда есть шанс забыть что-нибудь. Эта инструкция призвана облегчить вам жизнь.

Итак, что нужно сделать PM`y в ходе публикации:

  1. Создать аккаунт в Google Play Developer Console для заказчика, если у заказчика такового нет, или предложить произвести публикацию с нашего аккаунта.
  2. Оформить privacy policy.
  3. Подготовить маркетинговые материалы (иконка, скриншоты, APK, баннер, текст, проморолик).
  4. Обеспечить сборку наличием сертификата цифровой подписи.
  5. Настроить оплату за пользование приложения.
  6. Отправить сборку в Google Play.

Все подробности — под катом.

UPD от 25.04.2017: добавлены разделы про альфа- и бета-тестирование и поэтапное внедрение, дополнены разделы «Обеспечение сборки наличием цифровой подписи» и «Технические требования к apk-файлу», сделано замечание про ASO и внесены косметические правки.


Читать дальше →
Всего голосов 19: ↑14 и ↓5+9
Комментарии15

Введение в React и Redux для бекенд-разработчиков

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


Если вы как я долгое время считали, что JavaScript – это такой «игрушечный» язык на котором пишут анимашки для менюшек и падающие снежинки на форумах под новый год, а потом очнулись в 2016 году с мыслями WTF: react, flux redux, webpack, babel,… не отчаивайтесь. Вы не одиноки. Материалов по современному фронтенду в сети много, даже слишком много. Под катом еще одно альтернативное мнение о том, каково это учить JavaScript в 2016 году.
Стань модным
Всего голосов 45: ↑33 и ↓12+21
Комментарии182

10 приложений для защиты устройств на Android

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

Недавние исследования показали, что почти 87% устройств на Android уязвимы к атакам.

Это связано с тем, что не проводятся обновления системы безопасности. От интернета не защититься, пока устройство подключено к сети. Обеспечение безопасности в наше время является одной из основных задач, поэтому появилось много сторонних приложений для ее повышения.
Читать дальше →
Всего голосов 19: ↑11 и ↓8+3
Комментарии18

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

Время на прочтение7 мин
Количество просмотров127K
Всем привет! Меня зовут Олег и я программист-любитель под Android. Любитель потому что в данный момент я зарабатываю деньги программированием в совсем другом направлении. А это хобби, которому я посвящаю свое свободное время. К сожалению у меня нет знакомых программистов под Android и все свои базовые знания я черпаю либо из книг, либо из интернета. Во всех тех книжках и статьях в интернете, которые я читал, созданию базы данных для приложения отводится крайне мало места и по сути все описание сводится к созданию класса являющегося наследником SQLiteOpenHelper и последующему внедрению SQL кода в Java код. Если не считать, что мы получаем плохо читаемый код (а если в нашем приложении появляется больше 10 таблиц, то вспоминать все эти взаимосвязи между таблицами тот еще ад), то в принципе жить можно конечно, но как-то совершенно не хочется.
Забыл сказать самое главное, можно сказать что это моя проба пера тут. И так поехали.
Читать дальше →
Всего голосов 27: ↑20 и ↓7+13
Комментарии83

Как зарождалась жизнь

Время на прочтение4 мин
Количество просмотров19K
Тихая, уютная и незаметная смерть поджидает каждого из нас. Достаточно чуть-чуть расслабиться, перестать делать всего одну вещь, и комфорт привычных дел засосет тебя в трясину отупения, из которой будет очень сложно выбраться. Недавно я с ужасом заметил, что, забегавшись в текущих делах, встал на этот гибельный путь — за несколько последних месяцев я не прочитал ни одной новой книги. Ситуацию надо было срочно исправлять, и, чтобы встряхнуть застывающие мозги, я обратился к научно-популярной литературе, а конкретнее, к книге «Происхождение жизни. От туманности до клетки» Михаила Никитина. Выяснилось, что мои представления о том, как зародилась жизнь, оказались сильно устаревшими, тема — весьма интересной, но у книги обнаружились и довольно серьезные недостатки. Предлагаю вашему вниманию ее обзор.


Именно здесь на Земле могла зародиться жизнь, картина Зденека Буриана
Всего голосов 36: ↑36 и ↓0+36
Комментарии76

Navigation Drawer в стиле Material Design за 5 минут

Время на прочтение9 мин
Количество просмотров115K
imageВ данной статье я расскажу, как быстро добавить в ваше приложение для Android боковое меню (aka Navigation Drawer) в стиле Material Design. Для этого мы воспользуемся библиотекой, любезно предоставленной Mike Penz.

У вас получится Navigation Drawer, который:

  • Соответствует последним рекомендациям по дизайну (Google Material Design Guidelines);
  • Поддерживает использование нескольких Drawer (можно выдвигать второй справа);
  • Поддерживает использование бейджей;
  • Имеет простой и понятный интерфейс (API);
  • Может выползать как под, так и поверх Status Bar;
  • Позволяет менять иконки, цвета, бейджи во время выполнения;
  • Использует AppCompat support library;
  • Работает, начиная с API 14.

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

Читать дальше →
Всего голосов 24: ↑20 и ↓4+16
Комментарии21

React или Vue? Выбираем библиотеку для фронтенд-разработки

Время на прочтение7 мин
Количество просмотров84K
На чём делать фронтенд? Самый верный способ найти ответ – попробовать лучшие библиотеки самостоятельно. В идеале, хорошо бы начать с самого простого и понять, как таинственные для непосвящённого конструкции превращаются в готовые к выводу страницы. Дальше же, вооружившись пониманием основ, можно осмысленно читать документацию и усложнять собственные эксперименты до тех пор, пока ответ не покажется очевидным.



Сегодня мы поговорим о React.js и Vue.js. Это – одни из самых популярных JavaScript-библиотек в мире. Взгляните на этот список, посмотрите их репозитории на GitHub. И та, и другая обладают впечатляющими возможностями и служат для создания пользовательских интерфейсов. Работать с ними довольно просто, главное – сразу понять, что к чему, сделать правильный первый шаг. Собственно говоря, этому вот первому шагу в разработке с использованием React и Vue и посвящён данный материал.
Читать дальше →
Всего голосов 47: ↑38 и ↓9+29
Комментарии109

Проблемы, возникающие при разработке android-приложений

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

Введение


Доброго времени суток. В этой статье вы узнаете о том, какие проблемы могут возникнуть при разработке android-приложений. На написание этой статьи меня побудили комментарии из прошлой статьи, кстати вот она: моя первая статья. Спасибо за советы! Ну, пора начинать…
Читать дальше →
Всего голосов 20: ↑11 и ↓9+2
Комментарии32

Возрождение IT-вопросника или как следить за вопросами toster и stackoverflow v2

Время на прочтение2 мин
Количество просмотров5.9K
Прошел год с запуска IT-вопросника, однако проработал он не долго, примерно пару месяцев. Это был один из самых активных каналов PushAll, многие пользователи получали вопросы по 100+ в день и кликали на большие из них.

Отвечая на вопросы все были в плюсе:

  1. Те кто спрашивают – сразу получали ответ
  2. Владельцы сервисов получали большую посещаемость и больше решенных вопросов
  3. Тот кто отвечал первым – получал свои ачивки в сервисах

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

Но что изменилось за этот год при использовании IT-вопросника?

Кому лень читать статью: подписываемся на канал IT-вопросника в PushAll и настраиваем теги в панели управления IT-вопросником (после подписки на канал редиректнет на панель)
Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии12

Ищем и скачиваем непопулярные и старые файлы в интернете

Время на прочтение14 мин
Количество просмотров207K
Преимущественно медиафайлы. На полном серьезе, без шуток.

Введение

Бывает, случается так, что вы хотите скачать альбом 2007 года исполнителя, который кроме вас известен 3.5 людям, какой-нибудь испанский ска-панк или малопопулярный спидкор европейского происхождения. Находите BitTorrent-раздачу, ставите на закачку, быстро скачиваете 14.7%, и… все. Проходит день, неделя, месяц, а процент скачанного не увеличивается. Вы ищете этот альбом в поисковике, натыкаетесь на форумы, показывающие ссылки только после регистрации и 5 написанных сообщений, регистрируетесь, флудите в мертвых темах, вам открываются ссылки на файлообменники вроде rapidshare и megaupload, которые уже сто лет как умерли.

Попытка скачать хотя бы один файл
Увы, частая ситуация в попытке хоть что-то скачать

Такое случается. В последнее время, к сожалению, случается чаще: правообладатели и правоохранительные органы всерьез взялись за файлообмен; в прошлом году закрылись или были закрыты KickassTorrents, BlackCat Games, what.cd, btdigg, torrentz.eu, EX.ua, fs.to, torrents.net.ua, и еще куча других сайтов. И если поиск свежих рипов фильмов, сериалов, музыки, мультиков все еще не представляет большой проблемы, несмотря на многократно участившееся удаления со стороны правообладателей контента из поисковых систем, торрент-трекеров и файлообменников, то поиск и скачивание оригинала (DVD или Blu-Ray) фильмов и сериалов или просто ТВ-рипов 7-летней давности на не-английском и не-русском языке — не такая уж простая задача.
Читать дальше →
Всего голосов 215: ↑213 и ↓2+211
Комментарии74

Дизайн мультиязычных приложений

Время на прочтение5 мин
Количество просмотров9.8K
Представьте себе: вы впервые знакомитесь с новым приложением. В отзывах на Твиттере все сходят от него с ума, говорят, что оно превосходное, изумительное, всю жизнь им изменило.

Вы запускаете приложение и видите следующее:



Хм. Что-то тут не так. Сверху встроено видео, но текст в нем — на языке, которого вы не понимаете. Формулировки какие-то странные, а надпись на кнопке даже не влезает на саму кнопку. Как такое может нравиться людям?

Оказывается, дело в том, что приложение изначально создавалось не на вашем родном языке. Его разработали на эльфийском, а потом уже перевели. Большинство людей использует эльфийскую версию и не знает, как все это выглядит на вашем языке.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии9

Подборка полезных слайдов от Джулии Эванс

Время на прочтение1 мин
Количество просмотров31K
Продолжаем переводить слайды Джулии Эванс. На этот раз публикуем подборку иллюстраций различной тематики.


Читать дальше →
Всего голосов 56: ↑47 и ↓9+38
Комментарии8

Обзор Android Shortcuts

Время на прочтение8 мин
Количество просмотров28K
С версии ОС Android 7.1 (API 25) Google предлагает нам новый механизм работы с приложениями — Android Shortcuts. Мы написали краткий обзор этой фичи, созданной для удобства пользователей.

image

Общий обзор


В переводе с английского «shortcut» — кратчайший путь, такое название хорошо отражает основное предназначение шорткатов. Они позволяют нам попасть в какую-то определенную точку приложения и выполнить конкретное действие всего за пару нажатий. Шорткаты неплохо смотрятся, например, если пользователю надо:

• выбрать заранее определенный маршрут в навигаторе;
• начать беседу с другом в мессенджере;
• продолжить игру с последней точки сохранения.
Читать дальше →
Всего голосов 33: ↑32 и ↓1+31
Комментарии8

Группировка оповещений в Android 7

Время на прочтение3 мин
Количество просмотров11K
После обновления на Android 7 мы заметили, что уведомления стали группироваться по приложению автоматически. Так как на момент выхода новой версии Android в нашем приложении еще не было истории уведомлений это изменение было достаточно критично — в одной группе отображается только 7 уведомлений. Это значит, что если приходит более 20 уведомлений в сутки через приложение — необходимо смахивать новые чтобы увидеть более старые.

Уведомления в группе сортируются по приоритету. Если у вас в группе 7 уведомлений и приходит еще одно низкого приоритета — оно сначала будет наверху, а потом улетит в самый низ и его совсем не будет видно списке, до тех пор пока вы не удалите некоторое число уведомлений.

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

В этой статье мы расскажем, почему официальный мануал не работает, и как мы нашли способ сделать все правильно.
Читать дальше →
Всего голосов 9: ↑8 и ↓1+7
Комментарии1

Информация

В рейтинге
Не участвует
Работает в
Зарегистрирован
Активность