Программирование


Ответить в тред Ответить в тред

Check this out!
<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
39 1 14

Android Development thread /android/ /android/ Аноним 14/08/19 Срд 19:14:28 14533791
изображение.png (120Кб, 350x350)
350x350
изображение.png (18Кб, 300x300)
300x300
изображение.png (217Кб, 1200x800)
1200x800
изображение.png (636Кб, 1920x1080)
1920x1080
Android Development Thread. Ну наконец-то!

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


> Хочу вкатиться в разработку под Android! С чего начать?

С видеокурсов от Udacity. Они бесплатны и затрагивают основы разработки даже если не умеешь писать на Java:
https://www.udacity.com/course/android-development-for-beginners--ud837

Для тех, кто не хочет учиться по юдасити существует скучный кат от гугла:
http://developer.android.com/training/index.html

Если имел опыт в програмаче, можешь посмотреть видосики отсюда. Очень доходчиво и интересно:
https://web.stanford.edu/class/cs193a/videos.shtml

Так же есть книга, которая затрагивает основы разработки и имеет 2-е издание с 2017 года:
https://www.amazon.com/Head-First-Android-Development-Brain-Friendly/dp/1491974052

Большинство приложений написано на Java, необходимо понимать что ты пишешь, в уме достаточно знать базовый Core, т.к. 90% времени придется тыкаться в Android SDK.


Полезные обучалки от анона.

Смотри Головача если совсем даун и не шаришь нихера:
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

Неплохим вариантом для изучивших джава будет книга:
https://www.amazon.com/Effective-Java-3rd-Joshua-Bloch/dp/0134685997

Алсо можешь читануть паттерны, рано или поздно все равно базовое знание понадобиться:
https://www.amazon.com/Head-First-Design-Patterns-Brain-Friendly/dp/0596007124

Существует два текстовых ресурса для закрепления андройда на русском. Первый - несмотря на старость описывает базовые вещи, на которых построены мощные либы:
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

Или от Яндекса. В некоторых моментах спикеры рассказывают важные детали, которые кроются в мелочах:
https://www.youtube.com/watch?v=5EvxWifIgro&list=PLQC2_0cDcSKBNCR8UWeElzCUuFkXASduz

В дальнейшем потребуется базовое знание SQL, понимание XML и JSON.


> Я прошел курсы 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 - одно из решений для выполнения кода в бекраунде. Ниже ссылочки, смотри и поглощай:
https://www.youtube.com/watch?v=YPf6AYDaYf8
https://www.youtube.com/watch?v=3jdvLrYZfB4&t=
https://www.youtube.com/watch?v=0IKHxjkgop4
https://coursehunter.net/course/master-klass-po-rxjava-s-mvvm-dlya-razrabotki-pod-android

Retrofit:
https://www.youtube.com/watch?v=t34AQlblSeE

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

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

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. Для более углубленно изучения рекомендуется почитать this:
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


> Я заебался. Почему мои приложения постоянно падают в проде и как эту хуйню фиксить?

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


> Не хочу писать на Java!

Kotlin — JVM-совместимый язык от JetBrains. Есть лямбды, стримы и делегаты. С 17.05.2017 поддерживается официально.

Свежие лекции на русском, объяснение корутин прост бжствно:
https://www.youtube.com/watch?v=-H98SWHayL4

Библия:
https://www.amazon.com/Kotlin-Action-Dmitry-Jemerov/dp/1617293296

Kotlin for Android:
https://kupdf.com/download/kotlin-for-android-developers_59a05e2ddc0d60992a18496b_pdf

Курсы Udacity:
https://www.udacity.com/course/kotlin-for-android-developers--ud888


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

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

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

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


Остальные куски.

ReactNative - Мочаскрипт во всей красе;
PhoneGap/Ionic/Titanium — имя им мочаскрипт-младшие, принципы у них разные, кроссплатформенность одного кода. Популярность у них разная как и размер комьюнити. Вопросы по ним — в js-тред;
Qt — кросс-платформенный фреймворк на C++. Используется в основном для игры и для приложений с высокими требованиями к производительности (обработка изображений, звука, ГИС-системы). Спрашивать в C++ треде;
Xamarin — кросс-платформенный фреймворк на C#. Представляет из себя обёртку над Android API. Куплено Microsoft. Теперь есть бесплатная версия. Спрашивать в C#-треде;
BugVM — кросс-платформенный фреймворк, написанный на Java. Форк невинно убиенного RoboVM.


> Хочу писать игры!

LibGDX - слишком медленная параша для больших проектов, но познакомится можешь;
Unity - для адекватных;
Corona SDK, LOVE, Defold и другие. Спрашивать в /gd/.


> Что нужно, чтобы взяли джуниором? Что учить в первую очередь?

1. Нужно хорошее знание Java;
2. Понимание базовых принципов Android (жизненный цикл activity/fragment, что такое Context, intents, services, UI thread, support library и ее версии (уже androidx), shared preferences, SQLite, Handlers, Executors, Content-Providers);
3. Знание популярных библиотек типа Retrofit + Glide/Picasso + RxJava2 + Dagger2(по обстоятельствам) + гугловские поделки jetpack, понимания СОЛИД и других паттернов проектирования;
4. Базовое понимание что вообще такое Gradle;
5. И хотя бы несколько готовых приложений.


Полезные ссылки.

Очень много уроков и не только по ведройду. Почекай и посмотри, вдруг зайдет:
https://coursehunters.net/mobile-development

Канадский челик, поясняет за архитектуру и отвечает на разные вопросы на стримах:
https://www.youtube.com/channel/UCSwuCetC3YlO1Y7bqVW5GHg

Бесплатные API для создания приложений:
https://github.com/toddmotto/public-apis

Бенчмарки на вопросы о том, какую БД выбирать:
https://github.com/AlexeyZatsepin/Android-ORM-benchmark

Подкасты ведройд разрабов которые шарят про все и вся:
https://androiddev.apptractor.ru/category/podcast/page/0/
Аноним # OP 14/08/19 Срд 19:16:41 14533802
Ля, пол разметки какнулось.
Аноним 14/08/19 Срд 19:30:51 14533873
Маняме в шапке говорит о деградации направления
Аноним # OP 14/08/19 Срд 19:33:07 14533884
Аноним 14/08/19 Срд 19:39:17 14533895
Бамп.
Аноним 14/08/19 Срд 19:44:42 14533926
Бамп.
Аноним 14/08/19 Срд 19:59:39 14533967
Бамп.
Аноним 14/08/19 Срд 20:14:34 14534108
Не прошло и полугода
14/08/19 Срд 20:14:55 14534119
Аноним 14/08/19 Срд 21:34:08 145346010
Аноним 15/08/19 Чтв 07:44:53 145359611
>>1453387
Пиздуй в иос-скотозагон и не выебывайся тут
16/08/19 Птн 20:21:37 145465212
На каких сайтах можно быстро и бесплатно запилить макет дизайна приложения? Не умею в фотошоп
Аноним 17/08/19 Суб 10:50:47 145484913
Аноним 17/08/19 Суб 12:53:50 145490014
а я в блокноте ручкой рисую а потом сразу верстаю лол
Аноним 17/08/19 Суб 17:46:22 145512215
>>1453379 (OP)
Анон здравствуй.

Для начала немного сути, что бы ты понял о чем я. Года четыре назад закончил институт по специальности IT, тогда для меня это было не актуально, скорее как корочка, работал я в другой сфере, но время прошло и многое поменялось, хочу поменять направление и реализовать свое образование. Общее понимание в плане JAVA есть, хотя многое забыл и еще больше не знал

Собственно пару вопросов.

1. Это вообще актуально, Android на JAVA? Я погуглил новости и оказалась что гугл теперь поддерживает язык под названием Kotlin, собственно от ребят из Питера. С другой стороны объем JAVA в мобильной сфере очень велик.

На данном этапе я планирую освоить разработку на JAVA и в будущем если будет необходимо выучить Kotlin.

2. Можно ли за месяц или два освоить разработку на Android что бы устроиться хотя бы на минимально оплачиваемую работу удаленно? При учете что есть возможность и желание заниматься сутками без отдыха? Ну и есть базовый минимум программировании.

Сейчас хочу прогнать пару курсов с большим объемом практики, что бы понимать как правильно делать приложения и заодно заполнить пробелы в знаниях. После сделать несколько небольших приложений полностью самостоятельно, залить на гитхаб и отправиться на поиск удаленной работы, попутно доучивая android sdk, необходимые дополнительные библиотеки и увеличивать объем портфолио.
Аноним 17/08/19 Суб 17:51:47 145512316
>>1455122
И в дополнение что лучше использовать intellij idea с торрента или android studio? Что бы потом не прыгать на другую среду разработки, хотелось бы начать с более оптимальной.
Аноним 17/08/19 Суб 17:57:25 145512717
Аноним 17/08/19 Суб 17:58:56 145512818
>>1455122
>попутно доучивая android sdk,
Ахахх, насмешил)

>При учете что есть возможность и желание заниматься сутками без отдыха?
вообще без шансов. Поверь мне, я так делал, и я проходил через этот ад.

дополнил.

слишком много текста, хотя только из-за этого я и ответил. Непохоже на пасту.
Аноним 17/08/19 Суб 18:00:16 145512919
но если бы я сейчас вкатывался, я бы пошел в какой-нибудь руби + элик или иос.

собственно, после того как забросил ведройд, я на иос и убежал
Аноним 17/08/19 Суб 18:36:31 145514920
>>1455129
У тебя при вкате в иос были приложения в app store
Аноним 17/08/19 Суб 18:47:31 145515721
>>1455128
>вообще без шансов. Поверь мне, я так делал, и я проходил через этот ад.

Без шансов сидеть целый день или без шансов все осилить в достаточной мере?
Аноним 17/08/19 Суб 18:55:23 145516022
>>1455149
Зачем иметь приложение в app сторе?

>>1455157
Второе. Есть вещи, которые не осилишь. Например, как лучше делать. В некоторых вещах нужно рассмотреть одно и тоже и научится это делать пятью разными способами - спасибо backward компабилити говножабе и вообще всему ведройдовскому стартапу и гуглу, который гнет свою палку в свои говнолибы.
Аноним 17/08/19 Суб 18:57:13 145516123
Я тебе сразу говорю, это приключение не из веселых. Лучше подумай. Я бы и в жабу\сисярп тырпзайз бы не пошел. Нужна работа где весело и норм. А это только рельсы и иос. Ну или питон. В остальном все другие языкнеймы и прочее - говно.
Аноним 17/08/19 Суб 18:58:05 145516424
Но если выбирать между ведройдом - фронтом - тырпрайзом. Я бы пошел ведройд.
Аноним 17/08/19 Суб 19:06:19 145517125
>>1455160
Для успешного прохождения собеседования, не?
Аноним 17/08/19 Суб 19:14:13 145517826
>>1455160
>Второе. Есть вещи, которые не осилишь. Например, как лучше делать. В некоторых вещах нужно рассмотреть одно и тоже и научится это делать пятью разными способами - спасибо backward компабилити говножабе и вообще всему ведройдовскому стартапу и гуглу, который гнет свою палку в свои говнолибы.

Ну к джуну я не думаю что сильно много требований, ведь задача устроиться на минимум в кратчайшие сроки, а не стать хорошим программистом. А уже по ходу работы заниматься совершенствованием и профессиональным ростом. Года четыре назад можно было вкатиться с парой приложений в портфолио, уровня я загрузил массив в лист вью, неужели все
поменялось?

Хотя в любом случае спасибо, даже если не получится это будет хороший опыт, я думаю что за мобильным рынком будущее, в любом случае надо туда лезть.
Аноним 17/08/19 Суб 19:16:55 145518127
>>1455178
>за мобильным рынком будущее
За мультиплатформой же
Аноним 17/08/19 Суб 19:18:45 145518428
>>1455181
Да, так правильнее.
Аноним 17/08/19 Суб 19:23:39 145519229
>>1455178
>уровня я загрузил массив в лист вью, неужели все
поменялось?
У меня в шапке написано что нужно знать. Это для маленького ждуна.
Аноним 17/08/19 Суб 19:25:50 145519630
>>1455181
Защеканец. Все мы прекрасно понимаем этот уровень. Уровень списочка.

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

Удачи.
Аноним 17/08/19 Суб 19:26:45 145519831
>>1455196
Это пока, речь про будущее
Аноним 17/08/19 Суб 19:28:18 145520032
Видел как на флаттере манядауны ставят if ios делай так. елсе - делай как в ведре. Просто ору.

Хотя по сути как я и говорил, все разрабы с мультиплатформы - это выходцы с ведра, потому что все пытаются что-то сделать. В итоге выходит говно с максимум 50+ работы по миру.
Аноним 17/08/19 Суб 19:29:14 145520233
>>1455192
Если ты про пять пунктов, то это крайне не много, основы основ, не считая библиотеки конечно, я просто с ними толком не работал.
Аноним 17/08/19 Суб 19:30:04 145520534
>>1455202
>библиотек

быстрофикс.
Аноним 17/08/19 Суб 19:30:52 145520635
>>1455198
В будущем мы умрем.

И на этом интервале мне в радость писать на гейоси.

>>1455202
>Малость
4 месяца активного дроча 24 на 7. Так говорят только те, кто уже знаком с ними. Не пудри мозги другим новичкам.
Аноним 17/08/19 Суб 19:36:24 145521136
>>1455206
>4 месяца активного дроча 24 на 7. Так говорят только те, кто уже знаком с ними. Не пудри мозги другим новичкам.

Может я конечно туплю, но базовый уровень явно быстрее осваивается, во общем через месяц отпишусь о результатах.
Аноним 17/08/19 Суб 19:47:26 145521237
>>1455206
>4 месяца активного дроча 24 на 7. Так говорят только те, кто уже знаком с ними. Не пудри мозги другим новичкам.

Да и я не говорил что полный ноль, когда то давно прочитал шилда и кнута, немного покопался в одной всем известной и очень толстой книге по андроид разработке и пару онлайн курсов осилил, но это было давно и все это можно за пару недель сделать, а и еще какую то книгу на английском с примерами осилил(точное название не вспомню), там 2 или 3 приложение делалось. А и еще одну по SQL, но там чисто база,я ее вообще за день прочел.
Аноним 18/08/19 Вск 01:10:18 145543338
Аноны, что можно почитать про саму операционную систему андроид? Как по шиндам и юниксам, только по андроиду. Есть такие книги?
Аноним 18/08/19 Вск 07:24:46 145548339
>>1455129
> руби + элик

>>1455161
> Я бы и в жабу\сисярп тырпзайз бы не пошел. Нужна работа где весело и норм. А это только рельсы и иос.

Я слышал, что в америке был хайп на это в то время, когда все соц. сети писали переписывали в итоге там сейчас все на этом, и именно по этому на этих языках веселее и дохуя работы, особенно фриланса того же, я правильно понял?
Аноним 18/08/19 Вск 12:09:17 145557740
Опа
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов