1

Этап 1

Создание основных общедоступных ресурсов приложения (досок, репозиториев)

2

Этап 2

Написать US для приложения RSS Collector

3

Этап 3

Вывести общие правила для приложения

4

Этап 4

Изучение MVP для Android

5

Этап 5

Создание приложения, с использованием MVP

6

Этап 6

Изучение Dagger 2 и внедрение IoC в проект

7

Этап 7

Написание статьи (или серии статей) по MVP в Android

8

Этап 8

Написание статьи (или серии статей) по IoC в Android

9

Этап 9

Изучение Unit Tests в Android

10

Этап 10

Внедрение Unit Tests в приложение

11

Этап 11

Написание серии статей по Unit Tests в Android

12

Этап 12

Изучение React Java+React Android

13

Этап 13

Рефакторинг приложения для использования React Android

14

Этап 14

Статья (серия статей) по React Android

15

Этап 15

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

16

Этап 16

Изучить возможности CI для Android

17

Этап 17

Сдача сертификационного экзамена Android Developer на udacity

18

Этап 18

Публикация приложения и дополнение портфолио

1

Этап 1

Создание основных общедоступных ресурсов приложения (досок, репозиториев)

2

Этап 2

Написать US для приложения RSS Collector

3

Этап 3

Вывести общие правила для приложения

4

Этап 4

Изучение MVP для Android

5

Этап 5

Создание приложения, с использованием MVP

6

Этап 6

Изучение Dagger 2 и внедрение IoC в проект

7

Этап 7

Написание статьи (или серии статей) по MVP в Android

8

Этап 8

Написание статьи (или серии статей) по IoC в Android

9

Этап 9

Изучение Unit Tests в Android

10

Этап 10

Внедрение Unit Tests в приложение

11

Этап 11

Написание серии статей по Unit Tests в Android

12

Этап 12

Изучение React Java+React Android

13

Этап 13

Рефакторинг приложения для использования React Android

14

Этап 14

Статья (серия статей) по React Android

15

Этап 15

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

16

Этап 16

Изучить возможности CI для Android

17

Этап 17

Сдача сертификационного экзамена Android Developer на udacity

18

Этап 18

Публикация приложения и дополнение портфолио

25 июля 2016 30 ноября 2017
Цель завершена 15 сентября 2016
Карьера и работа

Усовершенствование и закрепление новых навыков по Android разработке

Всем Q! Я являюсь Android и .NET разработчиком. Но, как известно, всегда лучше заниматься каким-то одним направлением, чтобы идти в ногу с развитием определённой технологии. Так уж вышло, что в нашей стране понятие "Android разработка" пришло совсем недавно. И, как и раньше с другими направлениями, у нас идёт сильное отставание от других стран в этом вопросе. Качественно высокой разработки нет, да и не у кого набираться опыта. Единственная возможность для меня и мне подобных людей - это freelance. Где просто приходится подтягивать свой уровень знаний на нужную планку.

Но и это далеко не всё. Заказчиков, как правило, мало интересует качество кода (отсюда и большая часть заказов дешёвым по качеству китайским, пакистанским и индийским разработчикам). Поэтому, для себя, для своего собственного развития, я решил подтянуть определённые знания.

Каждый полученный навык будет закреплён на практике. В данном случае будет создано открытое, небольшое приложение для сбора RSS.

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

Подписывайтесь и шаг за шагом мы изучим и обсудим нужный материал вместе.

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

 Критерий завершения

Каждый пункт цели выполнен.

 Личные ресурсы

Время, знания, навыки

 Экологичность цели

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

  1. Создание основных общедоступных ресурсов приложения (досок, репозиториев)

    Помимо создания и публикации данных вещей в общий доступ, будет опубликован файл с небольшим описанием проекта.

  2. Написать US для приложения RSS Collector

  3. Вывести общие правила для приложения

    Чтобы не плутать среди своих же ресурсов, будут описаны небольшие базовые правила для приложения.

  4. Изучение MVP для Android

    Статьи, возможно книги.

  5. Создание приложения, с использованием MVP

    Пошаговое описание, каждый шаг подкреплён коммитом в репозитории

  6. Изучение Dagger 2 и внедрение IoC в проект

    Библиотека небольшая, поэтому отдельно дробить её по пунктам на изучение и использование не имеет смысла

  7. Написание статьи (или серии статей) по MVP в Android

    А также их публикация в открытом доступе

  8. Написание статьи (или серии статей) по IoC в Android

    А также их публикация в открытом доступе

  9. Изучение Unit Tests в Android

    Изучение по статьям и, возможно, книгам

  10. Внедрение Unit Tests в приложение

    Как правило, для этого MVP мы и используем. Подкрепляем коммитами

  11. Написание серии статей по Unit Tests в Android

    А также их публикация в открытом доступе

  12. Изучение React Java+React Android

    По статьям и официальным репозиториям.

  13. Рефакторинг приложения для использования React Android

    Плюс внедрение дополнительных библиотек, вроде RetroLambda. Закрепляем пошагово коммитами

  14. Статья (серия статей) по React Android

    И публикация их в общем доступе

  15. Использовать возможности дополнительных программ для написания документации

    Сюда входит и изучение этих программ и внедрение. Закрепляем статьёй и серией коммитов. Идея навеяна книгой "Программист-прагматик". Грамотное использование инструментов разработчиком.

  16. Изучить возможности CI для Android

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

  17. Сдача сертификационного экзамена Android Developer на udacity

  18. Публикация приложения и дополнение портфолио

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

  • 2929
  • 25 июля 2016, 15:32

Вывод

53день
Олег15 сент. 2016, 06:18

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

Дневник цели

51день

Запись к этапу «Изучение MVP для Android »

Олег13 сент. 2016, 10:55

Столько статей перерыл, столько информации накопал, но суть везде одна и та же - её очень чётко описывает прикреплённая картинка.

47день
Олег9 сент. 2016, 05:34

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

39день
Олег1 сент. 2016, 04:36

На самом деле Udacity очень подходит для закрепления материала и, как справочник с более разжёванным материалом. Если документация кажется сухой - то по каждой теме можно найти обсуждение на udacity.

38день
Олег31 авг. 2016, 05:16

Решил пройтись по бесплатным курсам Udacity. Хочу сказать, что многие вещи очень полезны, хотя и человеку с опытом разработки это лишь повторение. Закончил уже 2 курса. Занимает много времени.

38день

Запись к этапу «Сдача сертификационного экзамена Android Developer на udacity»

Олег31 авг. 2016, 05:15

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

29день

Запись к этапу «Сдача сертификационного экзамена Android Developer на udacity»

Олег22 авг. 2016, 08:46

Прохожу курсы для подготовки к экзамену. Решил начать с самого начала. По сути - материал весь знаю, но научиться манере давать материал таким образом всё же стоит =)

27день
Олег20 авг. 2016, 04:25

Немного отстал от дел, потому что ездил в путешествие. Ну теперь буду догонять. Тем более, что прочтение статьи, как на русском, так и на английском языках просто зашкаливает. Уже около 200 на medium только.

10день

Запись к этапу «Сдача сертификационного экзамена Android Developer на udacity»

Олег3 авг. 2016, 14:57

Статья номер 2 по MVP будет ооочень длинной))

А пока, вот краткий перечень тем на 48 часов экзамен:

Testing and Debugging

Writing tests to verify that the application's logic and user interface are performing as expected, and executing those tests using the developer tools. Candidates should be able to analyze application crashes, and find common bugs such as layout errors and memory leaks. This includes working with the debuggers to step through application code and verify expected behavior

Write and execute a local JVM unit test
Write and execute a device UI test
Given a problem description, replicate the failure
Use the system log to output debug information
Debug and fix an application crash (uncaught exception)
Debug and fix an activity lifecycle issue
Debug and fix an issue binding data to views






Application User Interface (UI) and User Experience (UX)

Implementation of the visual and navigational components of an application's design. This includes constructing layouts–using both XML and Java code–that consist of the standard framework UI elements as well as custom views. Candidates should have a working knowledge of using view styles and theme attributes to apply a consistent look and feel across an entire application. Understanding of how to include features that expand the application's audience through accessibility and localization may also be required.

Mock up the main screens and navigation flow of the application
Describe interactions between UI, background task, and data persistence
Construct a layout using XML or Java code
Create a custom view class and add it to a layout
Implement a custom application theme
Apply a custom style to a group of common widgets
Define a RecyclerView item list
Bind local data to a RecyclerView list
Implement menu-based or drawer navigation
Localize the application's UI text into one other language
Apply content descriptions to views for accessibility
Add accessibility hooks to a custom view





Understanding of Android's top-level application components (Activity, Service, Broadcast Receiver, Content Provider) and the lifecycle associated with each one. Candidates should be able to describe the types of application logic that would be best suited for each component, and whether that component is executing in the foreground or in the background. This includes strategies for determining how and when to execute background work.

Describe an application's key functional and nonfunctional requirements
Create an Activity that displays a layout resource
Fetch local data from disk using a Loader on a background thread
Propagate data changes through a Loader to the UI
Schedule a time-sensitive task using alarms
Schedule a background task using JobScheduler
Execute a background task inside of a Service
Implement non-standard task stack navigation (deep links)
Integrate code from an external support library






Determining appropriate use cases for local persisted data, and designing solutions to implement data storage using files, preferences, and databases. This includes implementing strategies for bundling static data with applications, caching data from remote sources, and managing user-generated private data. Candidates should also be able to describe platform features that allow applications to store data securely and share that data with other applications in a secure manner.

Define a database schema; include tables, fields, and indices
Create an application-private database file
Construct database queries returning single results
Construct database queries returning multiple results
Insert new items into a database
Update or delete existing items in a database
Expose a database to other applications via Content Provider
Read and parse raw resources or asset files
Create persistent preference data from user input
Toggle application logic based on preference values




Extending applications to integrate with interfaces outside the core application experience through notifications and app widgets. This includes displaying information to the user through these elements and keeping that information up to date. Candidates should also understand how to provide proper navigation from these external interfaces into the application's main task, including appropriate handling of deep links.

Create an app widget that displays on the device home screen
Implement a task to update the app widget periodically
Create and display a notification to the user

8день

Запись к этапу «Изучение Dagger 2 и внедрение IoC в проект»

Олег1 авг. 2016, 14:29

На днях читал по IoC контейнерам. На самом деле есть 2 вещи, которые надо понять и о которых я не знал.

1) Можно применять простой и легковесный IoC контейнер для вьюх - ButterKnife

2) Можно применять более сложный, но полноценный IoC контейнер для всего - Dagger 2.

Roboguice не рассматривается. Причина этому проста - производительность.

Вот в этом блоге приведено сравнение библиотек - Сравнение производительности DI библиотек

Вы тоже можете
опубликовать свою
цель здесь

Мы поможем вам ее достичь!

310 000

единомышленников

инструменты

для увлекательного достижения

Присоединиться
Регистрация

Регистрация

Уже зарегистрированы?
Быстрая регистрация через соцсети
Вход на сайт

Входите.
Открыто.

Еще не зарегистрированы?
 
Войти через соцсети
Забыли пароль?
Григорьева Марина