Здравствуйте, я через год выпускаюсь и пора бы уже набивать себе портфолио для устройства на работу в будущем(хотя мне кажется уже поздновато). Но недавно встал выбор между геймдевом и мобильной разработкой. Выбрал эти 2 ввиду того, что геймдев мне кажется более интересным нежели остальная разработка (именно геймплейная составляющая и графика), а мобильная разработка очень мне кажется перспективной(хотя я возможно ошибаюсь и перспективным является веб, но веб я отбросил ввиду того, что мне эта сфера не сильно понравилась). Но в каждой из этих направлений есть и свои минусы: (не хочу никого обидеть) я не хочу стать просто кодером, который будет переносить одно и тоже же из проекта в проект и никак не развиваться(в последнее время движки помогают все меньше писать, и все больше налагать на другие составляющие, а программисты нужны лишь в больших ААА проектах, до которых я пока вряд ли доберусь); а вот в мобильной разработке я в последнее время не могу пересилить свой порог и боюсь остаться под ним (я не убегаю от проблемы, просто думаю что смена направления пойдет на пользу). Учил бы оба направления, но вот за 2-мя зайцами погонишься - ни одного не поймаешь.
Вздор, в геймдеве у программистов работы хоть отбавляй. Появление доступных движков просто позволяет меньше заниматься низкоуровневой фигнёй, которая не относится к непосредственному геймплею. Это всё равно что сказать, что вот в средние века художники были настоящие: им надо было изготавливать краски, готовить холст. А сейчас им всё готовенькое с завода и делать больше нечего. Наоборот, всё самое интересное только начинается.
Про отсутствие перспектив развития тоже не правда, без программиста цифровую игру в принципе не сделать. Геймплейные механики ведь не из воздуха берётся? Кроме того, в последние годы набирает популярность процедурная генерация - чисто программистское занятие с кучей занятных проблем. А если вам интересно программирование ИИ, то вы обеспечите себя работой на десятки лет вперёд.
Я бы сказал так, если вы будете уметь делать игры под мобилки, то начать делать приложения у вас не составит труда, а вот в обратную сторону придётся многому учиться.
> а мобильная разработка очень мне кажется перспективной(хотя я возможно ошибаюсь и перспективным является веб
Откуда эта глупость "мобил против веба"? Это как пчелы против... ульев. А ничего, что пчелы живут в улье, т.е. непосредственно с ним связаны?
Также и приложения в большинстве своем хоть как-то работают с бек-ендом, серверами - своими либо чужими (как VK API).
А уж если это приложение для заказа суши или такси, то это вообще по сути тот же сайт - только клиентская часть у него не в браузере, а в виде приложения.
> в последнее время движки помогают все меньше писать, и все больше налагать на другие составляющие
Так благодаря этому КОДИТЬ приходится как раз меньше, по сути этим занимается движок. А ПРОГРАММИРОВАТЬ - создавать саму логику - больше.
Простите возможно я неправильно выразился, либо я не совсем правильно понимаю обязанности мобильного разработчика.Если я не ошибаюсь есть full-stack разработчики, это как раз сервер + клиент; а есть чисто мобильное направление, это когда за меня уже написали сервер(либо его вообще нету), а я пишу чисто платформозависимый код для получения этих данных и обработку их пользователем(Android, iOS, WP/UWP). Поправьте меня пожалуйста, если я не прав.
Airat1995: Airat1995:
но ведь клиентский код для работы с сервером по-любому вам писать. А значит, вы должны разбираться в этом.
Конечно, хорошо знать бек-енд не нужно (всякие redisы там и т.д.), но основы (HTTP-запросы - да и не только HTTP - используются и другие протоколы, + SSE, + Long Polling, также сама логика работы с БД, CRUD и т.д.) понимать нужно.
А понять можно только на практике, написав простенький сервер и клиента для него.
Во-вторых, веб - это еще и HTML+CSS+JS. Вы думаете, что они на мобиле они не нужны, и что под мобилы пишут только нативный платформозависимый код?
Вы ошибаетесь. Кроссплатформенный фреймворк Cordova/PhoneGap тоже имеет право на жизнь, именно в клиентских приложениях типа "сайт", которые почти не работают с API ОС (это слабое место в любых кроссплатформенных фреймворках), но зато активно работают с бек-ендом, а также могут иметь интерфейс, который не пишут с нуля, а частично или полностью берут с клиентского сайта, который уже имеется и написан на HTML+CSS+JS.