Обновить
0
0

Пользователь

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

Дайджест интересных материалов для мобильного разработчика #229 (6 ноября — 12 ноября)

Время на прочтение4 мин
Охват и читатели10K
В новой подборке мы обозреваем материалы прошедшей короткой недели: продуктизацию мозга, хаос в тестах, разностороннюю разработку Badoo, пустые экраны и полные архитектуры.

Читать дальше →

Русское издание книги Programming Interviews Exposed

Время на прочтение2 мин
Охват и читатели9.2K
Добрый день!

Сегодня мы представляем одну из последних новинок нашего издательства — книгу «Работа мечты для программиста. Тестовые задачи и вопросы при собеседовании в ведущих IT-компаниях». Русское название, возможно, оказалось слишком «маркетинговым», но содержание от этого не страдает — книга переиздается на Западе уже более 10 лет и заслуженно все эти годы возглавляет рейтинги IT-литературы.

image

Предлагаем вашему вниманию информацию о книге, а также тестовое задание, которое вы можете попробовать решить самостоятельно.
Читать дальше →

Процесс найма глазами разработчиков: результаты опроса «Моего круга»

Время на прочтение8 мин
Охват и читатели27K
image

Мы решили разобраться, как сейчас происходит найм разработчиков и каким он должен быть в идеале. Провели опрос на эту тему среди пользователей «Моего круга» и «Хабра», получили более 1100 ответов и теперь публикуем полученные результаты.

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

Надеемся, наше небольшое исследование пригодится рекрутерам, которые сегодня бьются за разработчиков, в их нелёгком, но благородном деле!
Читать дальше →

30 новых ресурсов для android-разработчика (лето 2017)

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

Библиотека Reamp: обезболивающее для ваших Android-приложений

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

Однажды мы в компании EastBanc Technologies устали бороться с теми архитектурными проблемами, которые возникают в Android-разработке и решили все исправить:). Мы хотели найти решение, которое удовлетворит всем нашим требованиям.


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


Какие проблемы решали:


  • Уйти от жизненного цикла экранов, будь то Activity, Fragment или View
  • Уйти от необходимости писать код для сохранения и восстановления состояния для каждого экрана
  • Повысить стабильность: защититься от досадных крешей и утечек памяти
  • Повысить переиспользуемость кода между телефонным UI и планшетным UI

Читать дальше →

Разработка прибыльной Android игры двумя школьниками

Время на прочтение6 мин
Охват и читатели198K
В данной статье хочу рассказать вам об опыте разработки одной простенькой игры под Android, которая многократно окупилась еще на стадии разработки!

image

Читать дальше →

Как объяснить бабушке, что такое Agile за 15 минут с картинками

Время на прочтение7 мин
Охват и читатели1.2M
«Любое дело всегда длится дольше, чем ожидается, даже если учесть закон Хофштадтера.»
— закон Хофштадтера

image

Самый просматриваемый ролик на YouTube по теме agile. 744 625 просмотров на момент публикации данной статьи. Легкий стиль изложения, картинки и всего 15 минут — лучшее что я видел. TED отдыхает.

PUSH-авторизация в сервисах с помощью мобильного приложения

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

Мы рады представить сообществу сервис PushAuth, который позволяет Вашим клиентам авторизироваться с помощью PUSH-сообщений на мобильном устройстве!



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

Dagger2 и архитектурный компонент «ViewModel»

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

ViewModel — это компонент из набора библиотек под названием Android Architecture Components, которые были представлены на Google I/O 2017. ViewModel — предназначена для хранения и управления данными связанных с представлением, а также с возможностью “пережить” пересоздание активити (например переворот экрана).


На Хабре уже была хорошая статья посвящена ViewModel, где можно ознакомится с данной темой более детально.


В данной статье будет рассмотрены варианты инжекта(предоставление) зависимостей в компонент ViewModel с использованием Dagger 2. Проблема заключается в том, что получение ViewModel должно осуществляться специальным образом, что в свою очередь накладывает некоторые ограничения, которые связанные с предоставлением зависимостей в сам класс ViewModel, а также предоставление ViewModel в качестве зависимости. Данная статья также возможно будет интересна тем, кто интересуется практическим применением такой функциональности Dagger, как multibinding.

Читать дальше →

Избавляемся от рутины RecyclerView.Adapter с помощью DataBinding

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


RecyclerView — основной UI элемент практически любого приложения. Написание адаптеров и ViewHolder'ов зачастую слишком рутинная работа и содержит достаточно boilerplate кода. В этой статье я хочу показать как с использованием DataBinding и паттерна MVVM можно написать абстрактный адаптер и напрочь забыть про ViewHolder'ы, inflate, ручной биндинг и прочую рутину.

Читать дальше →

Избавляемся от библиотек сохранения состояния фрагмента с помощью чистого kotlin

Время на прочтение2 мин
Охват и читатели6.6K
image

Android библиотеки вспомогательной кодогенерации, такие как Android Annotations или мой любимый Icepick, которые разработчики привыкли использовать для упрощения написания, не готовы были сразу подружиться с Kotlin-кодом, так как большинство из них требует держать поля с модификатором package private. Конечно, ничего страшного писать

@JvmField @State
internal var carName: String? = null

вместо

@State String carName;

Но лучше вспомнить, что Kotlin к нам пришёл для упрощением кода, а не наоборот.
Читать дальше →

ReactiveX 2.0 с примерами, или грокаем реактивное программирование 2.0. Часть 1: Observable vs Flowable, Backpressure

Время на прочтение16 мин
Охват и читатели67K
image

Привет, меня зовут Алексей. Я пишу Backend'ы на Kotlin, а также занимаюсь разработкой Android приложений. Продолжительное время я страдал: мучался с CallBack Hell'ом, императивным стилем, синхронизацией потоков и прочими классическими проблемами Java на Android. Это была огромная боль. И я начал искать какое-то решение, чтобы как-то избавится от этой боли. И приходит счастливый случай — я встречаю нарастающий хайп по RxJava. Попробовав, не могу остановиться по сей день. На момент написания данной статьи, релизнулась RxJava 2.0 и появилось стойкое желание разобраться в нововведениях. На официальном источнике, в Github Wiki, появилась глава RxJava 2.0: What's different in 2.0. Но, к сожалению, я не обладатель "беглого" английского, и чтение настолько важной доки заняло время. Накопились некоторые заметки, появился концепт, которым я хочу поделиться. Но чтобы не стать "Арт-директором Арт-пространства" и не принести банальный перевод, а какой-то профит, данная статья будет смесь туториала и перевода вики, приправленное реальными примерами юзкейсов на RxKotlin.


Так как подходы к разработке Web и Android приложений отличаются, как соответственно и контекст использования Rx, разговор буду вести в контексте Android разработки. Кого заинтересовал, прошу под кат.

Читать дальше →

Android string.xml — несколько вещей, которые стоит помнить

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

Доброго времени суток! Представляю вашему вниманию вольный перевод статьи от GDE (Google developer expert) Dmytro Danylyk. Собственно, вот оригинал. Статья описывает правильные подходы для работы со strings.xml и особенно полезно это будет разработчикам, которые разрабатывают мультиязыковые приложения. Прошу под кат.


Читать дальше →

Dagger 2.11 & Android

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

В данной статье рассматривается использование специализированного модуля Dagger 2 под android и подразумевается, что у вас есть наличие базовых знаний по Dagger 2.


В Dagger 2.10 был представлен новый модуль специально для Android. Данный модуль поставляется как дополнение, состоящий из дополнительной библиотеки и компилятора.
В версии 2.11 были некоторые небольшие изменения, в частности некоторые классы, были переименованы, поэтому будет использоваться именно эта версия.

Читать дальше →

Шпаргалка или Must have для андроид разработчика

Время на прочтение5 мин
Охват и читатели23K
Статья была создана для разработчиков которые желают найти новые инструменты и библиотеки для дальнейшего упрощения рутинной жизни.

Итак, начнем.

Butterknife


Библиотека была разработана компанией Square и сразу же прижилась у разработчиков. ButterKnife был создан на замену findViewById для того чтобы уменьшить и без того раздутые activity:

View someView = (View) findViewById(R.id.someView)

Вы только посмотрите какая длинная строка! А если это поле класса — то это целых две строки:

View someView; //Первая строка
...
@Override 
 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        someView = (View) findViewById(R.id.someView); //Вторая строка
}

А теперь перейдем к ButterKnife. Вот простой пример кода с ButterKnife:

    @BindView(R.id.someView1) View view1;
    @BindView(R.id.someView2) View view2;
    @BindView(R.id.someView3) View view3;
    ...
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this); //Важная строка
    }

Все очень просто: с помощью аннотации @BindView мы говорим какая вьюха нам нужна, и потом главное не забыть про ButterKnife.bind(this);(Так делать нужно в активити, для других мест вроде holder или fragment это делают немного по-другому. Смотрите здесь.

Как добавить к проекту?
Читать дальше →

Dagger 2.11 & Android. Часть 2

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

В предыдущей статье мы рассмотрели, как мы можем использовать специальный модуль dagger-android для предоставления зависимостей в активити и фрагменты, а также организацию разных скоупов.


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


Модуль dagger-android позволяет заинжектить зависимости в следующие базовые компоненты андроида:


Activity, Fragment, Service, DaggerIntentService, BroadcastReceiver, ContentProvider.


Если мы используем классы из библиотеки поддержки (например AppCompatActivity, android.support.v4.app.Fragment), то нам надо использовать соответствующие классы из дополнительной даггер библиотеки поддержки (dagger-android-support).

Читать дальше →

Итоги отбора в школу Android-разработчиков в Казани

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


Больше чем два месяца назад мы анонсировали отбор в школу Android-разработчиков в Казани. За это время мы получили 575 заявок на участие и 70 выполненных тестовых заданий (невероятная цифра с учетом того, что задание было непростым, а почти 40% из тех, кто подавал заявку, вообще не имели опыта в разработке для Android).


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

Читать дальше →

Переезд IT-шника в Германию: от А до Я

Время на прочтение20 мин
Охват и читатели100K
Привет.

Germany Blue CardВ этом посте я хочу подробно рассказать о моём опыте переезда на работу PHP-разработчиком в Германию — от момента, когда есть просто желание переехать, но не знаешь что и как делать, до момента, когда уже переехал, вселился в квартиру и получил вид на жительство. Кроме того, в конце поста я приведу немного полезной информации и ссылок по переезду в некоторые другие страны.

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

Итак, если вы имеете IT-шное образование и вам интересна идея сваливания из печальной пост-совковой реальности, прошу под кат.
Читать дальше →

Room: Хранение данных на Android для всех и каждого

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

Room — это новый способ сохранить данные приложений в Android-приложении, представленный в этом году на Google I/O. Это часть новойAndroid Architecture, группа библиотек от Google, которые поддерживают уместную архитектуру приложений. Room предлагается в качестве альтернативы Realm, ORMLite, GreenDao и многим другим.


Room — это высокоуровневый интерфейс для низкоуровневых привязок SQLite, встроенных в Android, о которых вы можете узнать больше в документации. Он выполняет большую часть своей работы во время компиляции, создавая API-интерфейс поверх встроенного SQLite API, поэтому вам не нужно работать с Cursor или ContentResolver.

Читать дальше →

Планирование задач в Андроид

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

Привет Хабр! Предлагаю вашему вниманию свободный перевод статьи «Schedule tasks and jobs intelligently in Android» от Ankit Sinhal.


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

Читать дальше →

Информация

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