Дополнительная информация

Дополнительная информация

Aidar

Продолжаем.

Поздравляю, ты уже вышел из песочницы. Дальше станет еще интересней.

Обязательно изучить, рано или поздно все равно базовое знание понадобится

 https://www.amazon.com/Head-First-Design-Patterns-Brain-Friendly/dp/0596007124


Еще раз, в дальнейшем потребуется базовое знание SQL, понимание XML и JSON. И надеюсь ты уже освоил Github (это несложно)?


В: Я прошел курсы Udacity и другие, а дальше что?

О: После прохождения курсов у тебя должно сложиться базовое представление о создании приложения; жизненные циклы Activity/Fragments, AsynsTask, Http, Json, SQLite.

Так же стоит уделить внимание BroadcastReceiver, IntentService, поиграться с Loader's, хендлерами, Contest providers и прочее, построить очередной Weather or ToDo must have list.


В: Не могу разобраться в потоках. Хендлеры - как быть?

О: http://codetheory.in/android-handlers-runnables-loopers-messagequeue-handlerthread/ - Хорошая статья, которая экономит время. После нее можно сразу переходить и тыкаться в хендлерах.

https://blog.mindorks.com/android-core-looper-handler-and-handlerthread-bd54d69fe91a - еще одна от миндоркса.

https://blog.nikitaog.me/2014/10/11/android-looper-handler-handlerthread-i/ - еще одна интересная.


В: Хочу изучать популярные библиотеки, что предложишь?

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

Retrofit - стандарт для взаимодействия с сетью. Она идет в комплекте с okhttp3, начинаешь с неё, а потом переползаешь на сам ретрофит. Так же для справки можешь гуглить volley.

RxJava - одно из решений для выполнения кода в бекраунде.


Ниже ссылки, смотри и вникай:

1) https://www.youtube.com/watch?v=YPf6AYDaYf8 -  RxJava идея с нуля

2) https://www.youtube.com/watch?v=3jdvLrYZfB4 - RxJava доставляет Артём Зиннатуллин

3) https://www.youtube.com/watch?v=0IKHxjkgop4 - Managing State with RxJava by Jake Wharton

4) https://coursehunters.net/course/master-klass-po-rxjava-s-mvvm-dlya-razrabotki-pod-android

5) https://www.youtube.com/watch?v=t34AQlblSeE - Making Retrofit Work For You by Jake Wharton


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

https://github.com/ArturVasilov/AndroidSchool - здесь рассматривается архитектура, и как ее ели с 2011 года.

MVP:

https://javarush.ru/groups/posts/505-mvp-v-android-dlja-samihkh-malenjhkikh - для понимания

https://github.com/Arello-Mobile/Moxy - плюшка для поворотов экрана

https://github.com/sockeqwe/mosby - англоязычная плюшка


MVVM - костыли от гугла:

Для нормального понимания желательно знать AAC.

https://startandroid.ru/ru/courses/architecture-components.html - уроки

https://proandroiddev.com/the-missing-google-sample-of-android-architecture-components-guide-c7d6e7306b8f - для продвинутых.


Пример MVVM

https://github.com/ericmaxwell2003/MvvmTipCalculator


Вышеописанные два подхода - всего лишь обертки, чтобы вынести логику из views. Для более углубленно изучения рекомендуется почитать:

 https://habr.com/company/mobileup/blog/335382/


Пример на котлине:

https://github.com/hitherejoe/GithubTrending


В: Хочу анимировать!

О: https://www.youtube.com/watch?v=dzB-1VlHJW8

Только теория. Первые двадцать минут покрывают больше половины статей, которые можно найти на медиуме и т.д.

Нужна практика? Здесь побольше практики на любой вкус: https://labs.ribot.co.uk/exploring-meaningful-motion-on-android-1cd95a4bc61d

Так же можно подробно почитать про смены сцен: https://blog.prototypr.io/applying-meaningful-motion-on-android-a271a873bd78


В: Почему мои приложения постоянно падают в проде и как этjфиксить?

О: Для этого придумали тесты. Для общего понимания читаешь короткую, но крайне годную статью https://medium.com/android-testing-daily/the-3-tiers-of-the-android-test-pyramid-c1211b359acd



В:Есть что-то кроме нативных приложений на Java/Kotlin?

О: Flutter - кросс-платформенный фреймворк от Google. Js с аля строгой типизацией. Если ты совсем поехавший можешь начинать с него.

https://flutter.io/docs/ - документация

https://www.udacity.com/course/build-native-mobile-apps-with-flutter--ud905 - курсы от Udacity


Остальные части:

1) ReactNative — JSво всей красе.

2) PhoneGap/Ionic/Titanium — имя им JS-младшие, принципы у них разные, кроссплатформенность одного кода. Популярность у них разная как и размер комьюнити.

3) Qt — кросс-платформенный фреймворк на C++. Используется в основном для игры и для приложений с высокими требованиями к производительности (обработка изображений, звука, ГИС-системы).

4) Xamarin — кросс-платформенный фреймворк на C#. Представляет из себя обёртку над Android API. Куплено Microsoft. Теперь есть бесплатная версия. Если интересно - то переходи с начального меню в C# ветку.

5) BugVM — кросс-платформенный фреймворк, написанный на Java. Форк невинно убиенного RoboVM.


Запаниковал, что нужно все это знать? Не стоит. Что точно надо знать написано в плане обучения(со шпаргалкой). Выдохни. Все получится. Главное делай, пробуй, работай, учись.


Вернуться на уровень выше



Report Page