24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна.
Подробности случившегося. Мы призываем всех неравнодушных
помочь нам с восстановлением утраченного контента!
Тред для тех, кто пытается вкатиться в андройд разработку или что-то похожее. По возможности ведем себя няшно и поливаем друг друга лучами добра.
> Хочу вкатиться в разработку под Android! С чего начать?
С видеокурсов от Udacity. Они бесплатны и затрагивают основы разработки даже если не умеешь писать на Java.
https://www.udacity.com/course/android-development-for-beginners--ud837
Или для мазохистов: http://developer.android.com/training/index.html
Так же можно почитывать: https://www.amazon.com/Head-First-Android-Development-Brain-Friendly/dp/1491974052
Большинство приложений написано на Java, понимать ее на хорошем уровне обязательно. Полезные гуиды от анона:
https://habr.com/company/golovachcourses/blog/215275/ Смотри Головача
https://www.amazon.com/Head-First-Java-Kathy-Sierra/dp/0596009208
https://www.amazon.com/Thinking-Java-4th-Bruce-Eckel/dp/0131872486
Два ресурса для закрепления Андройда на русском: http://startandroid.ru/ и http://developer.alexanderklimov.ru/android/
https://commonsware.com/Android/ - толстая книга для гиков.
Так же можешь смотреть свежие лекции от Mail.Ru
https://habr.com/company/mailru/blog/345252/
https://github.com/ybereza/technotrack-resources - ресурсы к лекциям
В дальнейшем потребуется базовое знание SQL, понимание XML и JSON.
> Я прошел курсы Udasity, а дальше что?
После прохождения курсов у тебя должно сложиться базовое представление о создании приложения; жизненные циклы Activity/Fragments, AsynsTask, Http и прочее.
Дальше закрепляешь знания путем создания пару простых приложений на свой вкус.
>Не хочу пилить говнокод!
Добро пожаловать в в мир Android Architecture и паттернов проектирования.
Для начала тыкаешь Retrofit и RxJava и строишь приложения.
https://www.youtube.com/watch?v=YPf6AYDaYf8 - rxJava с нуля
https://www.youtube.com/watch?v=3jdvLrYZfB4 - на русском
https://www.youtube.com/watch?v=0IKHxjkgop4 - rxJava
https://www.youtube.com/watch?v=t34AQlblSeE - retrofit
Книги для развития:
https://www.amazon.com/Head-First-Design-Patterns-Brain-Friendly/dp/0596007124 - паттерны
https://www.amazon.com/Effective-Java-3rd-Joshua-Bloch/dp/0134685997 - Java
Дальше выбираешь на свой вкус: MVP or MVVM. Так же желательно понимание Dagger2.
https://github.com/ArturVasilov/AndroidSchool - уроки по архитектуре
MVP:
https://javarush.ru/groups/posts/505-mvp-v-android-dlja-samihkh-malenjhkikh - для понимания
https://github.com/Arello-Mobile/Moxy - плюшка для поворотов экрана
MVVM:
Для нормального понимания желательно знать AAC.
https://startandroid.ru/ru/courses/architecture-components.html - свежие уроки от Димона
https://proandroiddev.com/the-missing-google-sample-of-android-architecture-components-guide-c7d6e7306b8f - для продвинутых
> Не хочу писать на Java!
- Kotlin — JVM-совместимый язык от JetBrains. Есть лямбды, стримы и делегаты. С 17.05.2017 поддерживается официально. Только не ной потом, что большинство примеров написаны на непонятной джаве.
https://www.youtube.com/watch?v=-H98SWHayL4 - свежие лекции на русском
https://www.amazon.com/Kotlin-Action-Dmitry-Jemerov/dp/1617293296 - библия
https://kupdf.com/download/kotlin-for-android-developers_59a05e2ddc0d60992a18496b_pdf - Kotlin for Android
https://www.udacity.com/course/kotlin-for-android-developers--ud888 - курсы Udacity
> Есть что-то кроме нативных приложений на Java/Kotlin?
- Flutter - кросс-платформенный фреймворк от Google. Js с аля строгой типизацией. Второе место по популярности jsников после ReactNative. Если совсем поехавший можешь начинать с него.
https://flutter.io/ - документация
https://www.udacity.com/course/build-native-mobile-apps-with-flutter--ud905 - курсы от Udacity
Остальные:
- Xamarin — кросс-платформенный фреймворк на C#. Представляет из себя обёртку над Android API. Куплено Microsoft. Теперь есть бесплатная версия. Спрашивать в C#-треде.
ReactNative — имя им javascript, принципы у них разные, первые три попытка в кроссплатформенность одного кода, ReactNative проповедует другой подход, а именно написание разного кода но на одном языке. Популярность у них разная как и размер комьюнити. Вопросы по ним — в js-тред.
- Qt — кросс-платформенный фреймворк на C++. Используется в основном для игры и для приложений с высокими требованиями к производительности (обработка изображений, звука, ГИС-системы). Спрашивать в C++ треде.
- Xamarin — кросс-платформенный фреймворк на C#. Представляет из себя обёртку над Android API. Куплено Microsoft. Теперь есть бесплатная версия. Спрашивать в C#-треде.
- PhoneGap/Ionic/Titanium/ReactNative — имя им javascript, принципы у них разные, первые три попытка в кроссплатформенность одного кода, ReactNative проповедует другой подход, а именно написание разного кода но на одном языке. Популярность у них разная как и размер комьюнити. Вопросы по ним — в js-тред.
- BugVM — кросс-платформенный фреймворк, написанный на Java. Форк невинно убиенного RoboVM.
> Хочу писать игры!
LibGDX - слишком медленная параша для больших проектов, но познакомится можешь. Unity - для адекватных, Corona SDK, Godot, LÖVE, Defold и другие. Спрашивать в /gd/.
> Что нужно, чтобы взяли джуниором? Что учить в первую очередь?
Нужно хорошее знание Java, понимание базовых принципов Android (жизненный цикл activity/fragment, что такое Context, intents, services, UI thread, support library, shared preferences, SQLite), знание популярных библиотек типа Retrofit + Glide/Picasso + RxJava2 + Dagger2. И хотя бы несколько готовых приложений.
Полезные ссылки:
https://www.youtube.com/channel/UCSwuCetC3YlO1Y7bqVW5GHg - канадский челик, поясняет за архитектуру и отвечает на разные вопросы на стримах.
https://github.com/toddmotto/public-apis - бесплатные API для создания приложений.
https://github.com/AlexeyZatsepin/Android-ORM-benchmark - бенчмарки на вопрос о том, какую БД выбирать.
Прошлый тред