Здравствуйте! Я уже много создавал тем по поводу того, чем бы мне начать заняться в IT в 24 года, наверно всех надоело мое нытье, так как не потянул учебу в МГУ дважды. Мне ребята с vc.ru посоветовали заняться Android-разработкой. Начал учить Java по источникам metanit.com & studytonight.com. Скачал слитые курсы Udacity по Java'е. Но поискав статьи про mobile-developement, я понял, что помимо этого нужно знать много чего, да я и сам чувствую, что что-то не хватает мне. Подскажите, пожалуйста, мне, сомневающемуся вечно человеку, нужно ли начать с азов информатики, то есть представление чисел в разных форматах, машинное эпсилон и т.п., потом протоколы TCP/IP и прочее? Просто столько тем, что охватить все невозможно. Не могу понять, с чего начать, то есть не особо вижу цепочку тем, которые следует изучить. Сам я в телефонах ни бельмеса не понимаю, так как всегда ходил с обычным телефоном без Интернета, но мне нравится графическое отображение кода на экране. Просто у меня такое ощущение, что люди в Android'е должны знать все, а именно устройство компьютера, доскональная работа всех его органов и их взаимодействие и т.п. Все это демотивирует не потому, что не хочется разобратсья, а потому, что непонятно, нужно ли это.
без обид, вспомни мотивацию от темы лебедева
не можешь решится не решайся, это твоя жизнь, какая разница что кто посоветует если ты ничего не делаешь ?
как в борадатом анекдоте, ты бы хотя бы билетик купил....
Начните со своей идеи приложения. Что вы хотите чтобы ваше приложение делало и отображало на экране? В мобильном приложении есть несколько ключевых функций - ввод и отображение информации на экране, работа с аппаратными данными устройства (работа с камерой, gps, другими встроенными датчиками устройства), обработка информации на устройстве, хранение данных на устройстве, получение и передача данных по интернету. Не все функции нужны в каждом приложении, но это основное на что можно разделить приложение. Так вот придумайте приложение, которое реализует что-то из таких модулей и несёт практическую пользу.
Андроид приложение начинается с желания отобразить что-то на экране смартфона. И все курсы по андроид разработке с этого и начинаются - с обучения отобразить что-то на экране (да не только... на любом языке всё начинается с программы Hello World!).
В процессе разработки и обучения вы уже поймёте надо ли вашему приложению хранить данные в телефоне или всё можно хранить в какой-то общей базе данных на сервере. Являются ли данные для вашего приложения нужными только одному пользователю на его телефоне или это общая публичная информация, которая должна быть доступна множеству пользователей и т. д. Должно ли приложение само проводить все расчёты и вычисления или этим должен заниматься сервер (а значит программировать должен отдельный серверный разработчик), а приложение только показывать данные. Ну и т.д. Ну и учите курсы по Kotlin. Сейчас въезжать в андроид на java уже нет смысла так как 90% вакансий уже на котлине, а пока вы научитесь будет 100.
Хорошо. Просто сфера IT настолько богата, что порой думаешь, что мозг взорвется от всего этого.
То есть, допустим, если где-то я столкнусь с TCP/IP протоколами, то мне придется их учить. То есть решать проблемы по мере их поступления?
Alexanderietz, Именно так. Но для создания приложения вряд ли придётся действительно углубляться в тонкости всех технологий, так как для очень деликатных деталей уже существуют библиотеки - готовые модули, которые решают конкретную задачу, вам остаётся лишь это подключить и использовать. Понимать всю глубину технологий вам придётся если устроитесь например в банк и надо будет обеспечивать на безупречном уровне шифрование всех передаваемых данных.
Здравствуйте, я себя взял в руки и начал изучать Java, дошел до многопоточности, изучаю сети по курсам Андрея Созыкина. Мне очень нравится. Понарвилась тема IT. Скажите, по какой схеме надо изучать Java, чтобы стартануть в Android?
Alexanderietz, по прикладной схеме) реализовывайте свою идею, разбирайтесь с возникающими проблемами. Изучать строго теоретически, академически, по порядку вам может не хватить энтузиазма. Ваше желание должно доводить вас до кодинга до утра периодически, а это бывает когда идея своя) Стартуйте в андроиде с Котлина уже. Джава в андроиде умрёт в течение года на мой взгляд. Вы же хотите на работу в итоге устроиться всё-таки, а вакансии уже на котлине почти 100%.
Сначала вы делаете рабочий говнокод, потом хотите брать куски кода в другой проект, но уже причесать до приличия немного, ну а дальше уже и архитектура подтянется и тестирование (особенно когда это в вакансиях требуется)) Главное быть на волне и кодить, кодить, кодить)
Fotonick, Кодить нужно еще и с целью запомнить. Так лучше запоминается намного. А вот pet-project сколько строк должен иметь? И что это вообще может быть: игра наподобие "Кто хочет стать миллионером?", анализ функций каких-нибудь в математике (построить график), викторина?
Alexanderietz, у меня хоть и было образование по специальности, но всерьёз в разработку я пришёл в 27. Никогда не поздно если вы планируете стать специалистом. Если вы можете качественно, оперативно и грамотно решать IT задачи бизнеса вас возьмут не глядя на возраст, тем более что сейчас даже в офисе необязательно быть, а можно на удалёнке и важно только как вы работаете. Типовые задачи в приложениях с которыми надо разобраться это - взаимодействие с сервером по API (GET, POST, JSON), многопоточность, вёрстка приложения, анимации в приложении, подключение различных библиотек, работа с камерой, датчиками устройства, GPS, карты, использование тем и стилей, хранение данных в БД. Найдите какое-нибудь публичное апи и сделайте приложение с ним, сделайте красиво, с анимациями, сделайте чтобы нормально работало если интернета нет. Типично это список фильмов или данные погоды.
Alexanderietz, свой проект даёт силы и интерес. Получится, если можете сконцентрироваться на задаче на несколько часов. Создайте идеальную рабочую обстановку.
У меня сейчас только идет знаний и теории. У меня даже идей нет. Я с телефонами не на ты. Изучаю многопоточность, сети. Хочу начать книгу Лафоре по алгоритмам.