AndroidSprint
Этап 2.1
Этап 2.1: Разработка Android-приложения [XML]
Спринт по разработке production-ready Android-приложения с рецептами. Вы изучите актуальные для рынка технологии с учетом последних архитектурных рекомендаций от Google.
Выбрано получение уведомлений об этом курсе. Вы получите электронное письмо, когда курс станет доступен.
55 Лекций / Этапов

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

Формат работы построен так, чтобы вы одновременно чувствовали себя разработчиком в компании, который решает задачи бизнеса. И вместе с этим присутствует элемент обучения и менторинга, чтобы не потеряться в океане технологий и подходов к решению задачи. Все этапы проходят дотошное код-ревью, чтобы код было не стыдно показывать и "защищать" на реальном собеседовании.


Макет разрабатываемого приложения

Проект доступен по ссылке в Figma


Функционал приложения включает:

  • Экран со списком категорий рецептов
  • Экран со списком рецептов выбранной категории
  • Экран с избранными рецептами
  • Экран с описанием рецепта. Включает:
  • Список ингредиентов (количество, единица измерения, название)
  • "Ползунок" количества порций. Количество ингредиентов динамически меняется.
  • Список шагов приготовления
  • Иконку для добавления в Избранное


Формат работы

  • Каждый этап включает раздел "Описание" - продуктовое описание задачи, которую ставит перед вами менеджер проекта. На практике может попасться менеджер проекта "курильщика", но будем полагать, что мы находимся в "здоровом" коллективе в окружении профессионалов.
  • За поставленной задачей следует понятное описание требуемых для реализации технологий с объяснениями ключевых моментов и ссылками на документацию. Такой подход позволяет постепенно приучиться читать "страшную" официальную документацию и самостоятельно научиться мыслить и принимать решения.
  • Далее следует раздел "Задача" - это алгоритм выполняемых действий, который надо воспроизвести для решения бизнес-задачи. Играли когда-нибудь в гонки типа NFS или Asphalt? На трассе пунктирной линией отрисовывается рекомендованная траектория вхождения в поворот для идеального баланса скорости и управляемости. Вот этот алгоритм - ваша рекомендуемая траектория. На реальной работе будет все то же самое и даже с нашей поддержкой в рамках блока по сопровождению.
  • Информацию по технологиям для решения той или иной задачи можно черпать из любых источников. Помимо нашего текстового и видео объяснения, прикладываются ссылки на официальную документацию. Затруднительные моменты разбираются в личной переписке в вашим персональным ментором - вы точно не останетесь один на один с кодом.
  • Каждый этап (далее - story) отправляется на код-ревью через Pull Request. Реализация следующего этапа возможна только аппрува предыдущего. При этом инструкцию для параллельного выполнения задач вы найдете внутри.
  • Вам доступны технические тестовые собеседования - так называемые mock-interview. Вопросы с реальных собеседований прикреплены к главам и открываются по мере прохождения спринта. Интервью с нами – это имитация реального собеседования, но только по пройденным технологиям и вопросам. У интервью нет определенного сценария - все подстраивается под ваш уровень индивидуально.
  • На созвонах обращаем внимание не только на знание Kotlin и Android (hard-skills). Но и на soft-skills - так называемые "гибкие навыки". Они больше ориентированы на личностные характеристики и отражают ваше умение общаться и взаимодействовать с потенциальной командой. Наличие проблемных сторон подсвечивается ментором и проговаривается в виде обратной связи.


Стек технологий

Приложение разрабатывается с использованием технологии верстки на XML. В качестве стека выбраны самые популярные технологии. С одной стороны рекомендуемые Google. С другой стороны - они встречаются в 90% существующих проектов.

  • Figma
  • XML
  • Single Activity
  • Fragment
  • FragmentManager
  • Parcelable
  • Bundle
  • ViewModel
  • Jetpack Navigation
  • OkHttp
  • Retrofit
  • Room
  • Hilt


Терминология

Большинство компаний пользуются системой управления проектами Jira и ее аналогами. В AndroidSprint мы начнем привыкать к профессиональной терминологии и сленгу разработчиков. Чтобы вы смогли разговаривать с будущими коллегами на одном языке.

  • Sprint - одно из ключевых понятий методологии Agile. Период времени, в течение которого команда разработчиков работает над определенным набором задач, направленных на достижение общей цели проекта. Для нас с вами спринт - это разработка конкретного приложения.
  • Epic - некий объем работ, который разделяется на более мелкие группы. Здесь в контексте эпика будет описан этап (если брать аналогию с курсовой работой), который разбит на более конкретизированные подэтапы - пользовательские истории (или story).
  • Story - в методологии Agile - это мелкая, конкретная и самодостаточная задача. Краткое изложение требований или запросов, составленное с точки зрения конечного пользователя. В контексте нашего обучения можете воспринимать Story, как конкретный урок на узкоспециализированную тему. Стори содержат конкретные задачи (или task).
  • Task - описание конкретной работы, которую разработчик или команда должны выполнить. Таска имеет определенную цель. Это может быть реализация специфического функционала или исправление бага (ошибки).
Содержание спринта
Отзывы и комментарии
Поделитесь впечатлениями о спринте
Что понравилось, а что можно улучшить?