Ресурсы, о которых должен знать каждый Android-разработчик

Ресурсы, о которых должен знать каждый Android-разработчик

Сегодня я хочу поделиться с вами моим вольным переводом статьи, написанной Сергеем Повзнером (Sergey Povzner). Сергей ведёт блог bongizmo.com и занимается разработкой туристических гидов под общим названием Citybot.

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

Статья будет полезна как новичкам, так и опытным разработчикам. Это гид по миру Android-разработки.

Книги

Может показаться, что изучать новую платформу по книгам в наши дни — способ весьма устаревший, и, возможно, вы правы. Но вы всё равно должны это делать — посмотрите статью Джефа Этвуда (Jeff Atwood) Программисты не читают книг — но вы должны.

Я рекомендую вот эти две книги:

    , написанная Марком Мерфи. Глубокий охват (более 2000 страниц) и регулярные обновления делают эту книгу особенной. Безусловно, это лучшая модель для книги, рассказывающей о такой активно развивающейся теме, как Android SDK. У подписчиков есть возможность задавать вопросы Марку в открытые часы. Примеры из книги доступны на гитхабе. Маст Рид! от Юхани Лейтемаки (Juhani Lehtimaki). Отличная книга для любого Android-разработчика, который заботится о хорошем UI-дизайне.
developer.android.com

Перед тем, как начать писать своё первое приложение тщательно изучите Android Design. Особенно эти статьи:

Ну, что? Готовы писать код? Извините, продолжаем читать:

    (обязательно к прочтению) (также посмотрите библиотеку NineOldAndroids)
Stackoverflow

Инженеры Google, а также опытные программисты регулярно отвечают на интересные вопросы. Вот топ лучших Android-специалистов по версии Stackoverflow. Я подписан на RSS-ленты многих людей, вот только некоторые из них: CommonsWare (Марк Мерфи), Dianne Hackborn, Romain Guy, Reto Meier, Trevor Johns, Roman Nurik, Adam Powell.

Блоги

Во многих блогах можно подчерпнуть очень полезную и актуальную информацию:

    . Автор — Джиюри Грелл (Gyuri Grell). Отличный еженедельник с новостями из мира Android. Очень рекомендую.
  • Официальный блог Android-разработчиков. Стоит покопаться в старых постах — многие представляют интерес, например: Как избежать утечек памяти, Анализ памяти Android-приложений (Romain Guy). Отличный блог ключевого инженера Android-платформы. Как только освоитесь с разработкой, обязательно прочтите Android Performance Case Study. На примере одного twitter-клиента автор разбирает различные аспекты анализа производительности приложения. Оффтоп: кроме того, Ромен еще и отличный фотограф.
  • Создатель фреймворка анимации в Android, Чет Хаас (Chet Haase), ведёт блог Codependent Марка Мерфи (Mark Murphy) Android-разработчика Кирилла Мотьер (Cyril Mottier). Фантастический блог с очень глубокими статьями. Среди последних: Советы по использованию ListView #5: увеличиваем область нажатия, Твиты об Android-разработке, Утопия второй версии API гугл-карт, О правильном подходе к запуску приложения, Pull-to-refresh: антипаттерн. (Styling Android) вместе с Марком Эллисоном (Mark Allison). (Coding Thoughts), которые ведёт Даниэль Лью (Daniel Lew) — заметки одного из разработчиков приложения Expedia Hotels & Flights
Google+

Несмотря на то, что Google+ не стал социальной сетью, для нас это ценный источник информации по Android. Вот несколько людей, на кого можно обратить внимание: Tor Norbye (ADT), Dianne Hackborn, Romain Guy, Chris Banes, Roman Nurik, Nick Butcher, Adam Powell, Rich Hyndman, Cyril Mottier, Paul Burke, Jeff Gilfelt.

Обязательно закруглите Джейка Вортона (Jake Wharton). Джейк подарил нам ActionBarSherlock, ViewPageIndicator, NineOldAndroid и много других опенсорсных библиотек для Android.

Также, вы можете присоединиться к этим сообществам в том же Google+:

  • Официальное сообщество разработчиков под Android Android-дизайнеров
Open Source: проекты

Читать чужой код — полезное занятие. Особенно, если речь идет про:

  • Приложение Google I/O. Если хотите что-либо скопипастить, лучшего места не найти. от Криса Бэйнса (Chris Banes) от Рето Майер (Reto Meier). В приложение демонстрируется использование определения местоположения, фрагментов и бекап-менеджера. Используйте аккуратно — код не обновлялся некоторое время.
Open Source: библиотеки
    от Джейка Вортона (Jake Wharton). Библиотека, которая позволяет использовать родной action bar на четверках и кастомный на двойках, используя единые API и тему. от Джейка Вортона (Jake Wharton). Библиотечные виджеты совместимы с ViewPager из Android Support Library и с ActionBarSherlock. Используются с целью улучшения навигации. от Джейка Вортона (Jake Wharton). Позволяет использовать Animation API из Honeycomb на самых ранних версиях Android. от Сергея Тарасевича (nostra). Мощный и гибкий инструмент для асинхронной загрузки изображений, кэширования и вывода их на экран. от Коушика Датты (Koushik Dutta). Автоматом подставляет в ImageView изображение загруженное по указанной ссылке. Умеет сохранять и кэшировать. от Криса Бэйнса (Chris Banes). Специальный кэш для работы с Bitmap-объектами. от Джейка Вортона (Jake Wharton). Java-реализация LRU кэша на диске ориентированная на совместимость с Android.
Лекции с Google I/O

Получить билет на Google I/O стало практически невозможно. Но все выступления доступны онлайн (обычно даже со слайдами). Вот ссылки на сессии разных лет: 2012, 2011, 2010, 2009.

Вот некоторые из моих любимых лекций:

    Alex Faaborg и Christian Robertson (2012) Chet Haase, Romain Guy (2012) Adam Powell, Richard Fulcher (2012). Разговор о том, как сделать правильную навигацию и не запутать юзера. Daniel Lehmann, Tor Norbye, Richard Ngo (2012) Chet Haase, Romain Guy, Daniel Sandler (2012) Xavier Ducrohet, Tor Norbye (2012) Patrick Dubroy (2011) Brad Fitzpatrick (2010) Virgil Dobjanschi (2010)
Пожалуйста, остановитесь! Вы меня пугаете

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

Несколько советов, о том, как эффективно всё это усвоить:

  • Во-первых, прочтите книги. Упоминал ли я, что вы должны читать книги? Это заложит правильную основу в знаниях Android-платформы.
  • Подпишитесь на блоги и RSS-ленты ответов со stackoverflow.
  • Создайте Android-дев-круг на Google+
Звёзды Android

Талантливые разработчики далают большой вклад в процветание экосистемы разработки под Android. Среди них я бы особо отметил двух. Эти парни сыграли огромную роль в том, чтобы сделать жизнь обычного Android-разработчика легче. Я говорю о Марке Мерфи (Mark Murphy) и Джейке Вортоне (Jake Wharton).

Марк и Джейк заработали пожизненное безлимитное пиво за самый большой и полезный вклад в Android open source. Если вы когда-нибудь их повстречаете, обязательно купите им что-нибудь выпить на их выбор. [поправочка по комментариям из поста-оригинала: пиво для Марка лучше отдайте Крису Бэйну, а лучшей наградой для Марка будет ваша подписка на его книгу.]

Конечно же, не забудем Android-разработчиков и дизайнеров из Google, которые проделали большую работу над Android. Некоторые из них были упомянуты выше.

Конец, наконец

Вот и всё, друзья. Теперь у вас есть всё, чтобы делать крутейшие приложеньки! Хорошо, не совсем: вам всё ещё нужен крутой дизайнер, но это тема для отдельного поста. Но что можно сказать теперь точно — вы готовы написать своё первое приложение под Android.

PS: Я не переводчик, и русский — далеко не самая моя сильная сторона. Я просто хочу, чтобы эта отличная статья была на Хабре. Поэтому пишите, пожалуйста, замечания обо всех ошибках (орфографических, грамматических и стилистических) в личку. Я постараюсь всё быстро поправить.

📎📎📎📎📎📎📎📎📎📎