Эмм? Человек решил помочь и потратить
Готов был бы переехать ради работы, даже вначале целился на это (хоть и есть серьезные факторы, удерживающи пока на месте). Но изначально по комментариям и своим догадкам, а потом уже и по небольшому опыту в офисе понял, что особо большой разницы на чем писать нету, так что переезд смысл потерял.
P.S. Иногда когда решаешь задачу, стопоришься и рассказываешь её другому человеку — даже просто поделившись этим и проговорив вслух, понимаешь что надо делать. Вот тут получилось нечто похожее. Прочитав свой пост через пару дней, решение пришло в голову само собой, просто тема стала довольно популярной и решил поддерживать её на случай, если кто-то окажется в моей ситуации — возможно, она будет ему полезной. Однако, спасибо всем кто принял в ней участие и помог советом — это однозначно сыграло весомую роль при принятии решения.
Спасибо, сам не ожидал что так все сложится :) На самом деле, основным фактором стало еще то что в моем городе на данный момент Андроид вакансий нет от слова вообще, а переезжать по личным причинам не хотелось. В конце концов, работу сменить можно всегда, а опыт лишним не бывает.
Возможно, кто-то из людей с похожей на мою ситуацией будет читать эту тему, поэтому хочу подвести итоги. Если коротко — я устроился front-end разработчиком (react), с ближайшей перспективой перейти на проект с react native.
Получилось так из-за нескольких причин — в первую очередь, предложили хорошее место, которое устраивает меня по всем параметрам. Также, мне нравится писать на JS, а такой возможности в последнее время практически не было, соскучился, что-ли :) Ну и плюс в том, что front-end сейчас действительно довольно востребован и проблем в случае смены работы точно не возникнет. Большую роль сыграли личные и семейные моменты, но думаю их описание будет здесь лишним.
Советовать ничего никому не буду, кроме одного — выбирайте то, чем хотите заниматься. Сейчас я пишу на React и хотя иногда рву волосы на голове (и не только), мне это нравится. И всем, кто сомневается как я, советую бегло ознакомиться со всем, что сейчас есть на рынке, возможно пообщаться и разработчиками в каждой области, и потом выбрать к чему душа лежит. Как-то так.
Как вариант на крайний случай рассматриваю, но там нужно учить целую гору дополнительных технологий, и, как я слышал, в джаве сейчас высокий порог входа, а сами проекты в большинстве своем энтерпрайз. Мне больше нравится работать над небольшими проектами, где есть больше свободы, разноплановой работы и отвественности.
Про фрагментацию версий понятно, проблема неприятная, но решаемая. А что вы имеете в виду под проприетарным АПИ?
Возможно у меня было мало проектов, но требования
поддерживать приложение под вторую версию китайской сборки и 6.1 некусмне еще не встречались. Думаю, если заказчик такое скажет, то можно обоснованно загибать рейт, а за достойную оплату — любой каприз. Как и в вебе, поддержка ИЕ6 в стандартный пакет входит редко :) + в вебе есть полифиллы, которые немного решают такие проблемы, а в андроиде до этого, к сожалению, далеко.
Хотел бы не согласиться, но те тренды что сейчас есть говорят о вашей правоте.
В точку :) Но Google достойно с ними работает — инструментарий для работы с разными экранами, locale’ми и девайсами достаточно солидный. Как и в вебе, собственно.
Да, RxJava (RxAndroid). Я не работал с React (Native), но в одно время подробно изучал концепции и архитектурные решения того, что есть сейчас в мире фронт-енда. Ангулар, если честно, зашел плохо — наверное, там надо сидеть и делать, а не читать. А вот читая гайды по реакту и документацию, мне очень понравилось как он организован и сама парадигма ухода от строгого императивного подхода к реативности. С архитектурой Flux это вообще мощнейший инструмент, и классно что в Java и Андроиде есть библиотеки которые позволяют частично это перенять (не флюкс, а реактивность).
Насчет одинаковости — согласен, реакт выделяется. Но в этом случае, как мне кажется, исключение подтверждает правило.
Немного уступают. Если я не ошибаюсь, то вся логика написанная на JS в React Native выполняется в отдельном потоке и просто общается с UI для обновления state. Если говорить о среднем показателе, то скорость приложения на react native ~ Java. Но хорошо написанное и оптимизированное нативное приложение всегда обыгрывает написанное на фреймворке, так как использует все возможности языка и платформы, как говорится, as designed.
Если писать небольшое приложение без особых фич, то react native отличный выбор — сразу две платформы + готовый к реюзу код на JS, что означает менее затратное написание веб-версии.
Если писать крупный проект с платформо-специфичными требованиями, то Java подойдет лучше, так как все равно прийдется писать в js вставки на java, а гомогенная архитектура всегда выигрывает в долгосрочной перспективе (это одна из причин, если я не ошибаюсь, появления node.js и все остальных js фреймворков «для всего»).
Все выше описанное только мое мнение, возможно я не прав.
Понимаю о чем вы говорите, сам немного удивлен от экосистемы веба на данный момент, но в реальности на крупных проектах разве не выбирается один раз стек и потом на нем все пишется? Да и технологии новые, а принципы старые — ничто не ново под луной. Солидный опыт во front-end, как мне кажется, дает понимание того насколько все эти уникальные фреймворки одинаковые, и после пары недель изучения деталей грамотный человек будет выдавать свою обычную продуктивность.
Спасибо за совет, думал об этом. Просто как мне кажется, гибридные приложения не являются ни хорошим мобильным приложением, ни хорошим сайтом (условно). Цель написать код один раз и использовать его везде — это бизнес-цель по оптимизации расходов и увеличению аудитории, но в разрезе программирования это сплошной костыль. Мое ИМХО — если уж писать на JS, то писать веб, где он хорош. Если делать Андроид приложения, то писать нативно и качественно. Это ИМХО программиста. На месте бизнесмена, мне конечно похер на такие моменты и если стоит выбор сделать хорошо, но разрабатывать и поддерживать
А возвращаясь к поиску работы, то выбрав Cordova, боюсь что если потом захочу найти работу то не буду своим во front-end, ни в мобайле, как говорится, за двумя зайцами (в данном случае
Если честно, сейчас много противоречивой информации по тому, на какую зарплату кто может претендовать. Если говорить об исключительно вашем мнении, какую вилку можно использовать дабы не быть и слишком жадным, и слишком альтруистичным при моих навыках/опыте? Город — допустим, Киев или Львов, пока планирую переезжать и рассматриваю все варианты.
П.С. Насколько я понял вы спец по JS и можете назвать цифру только в этой области, но я думаю что от Android она будет отличаться несущественно.
Добрый вечер! Спасибо за подробный совет, было интересно читать :) Честно говоря, я тоже не понимаю специфики разделения по этим грейдам, если один человек может за полгода выучить то что другой будет учить годами, а третий виртуозно освоит за месяц. У всех есть свои слабые и сильные стороны, и их нельзя все описать одним словом — джуниор или миддл. Просто в большинстве вакансий я сразу же наталкиваюсь на строчку — минимум 2 года коммерческого опыта в Андроиде. Стоит ли откликаться на такие вакансии?
Можно такой момент уточнить — вы работаете в одиночку на апворке?
Просто я слышал, что на крупные проекты предпочитают брать команды/агенства. Или такие компании не только крупные проекты заказывают?
Спасибо за совет. Если честно, мне больше нравится экосистема и workflow Андроида, то что все делает одна компания дает огромный прирост в качестве инструментов разработки. Насчет изучения React/Angular — я в одно время изучал концепции и того, и другого, и в принципе уверен что за месяц-два смогу написать вещь, за которую не будет стыдно.
Вопрос в том, будет ли такой проект достаточным чтобы не просто попасть на стажировку или должность trainee, что я, как мне кажется, перерос. Возможно, я просто слишком высокого о себе мнения :)
Но не хочется после проектирования АПИ, написания архитектуры (может и не самой лучшей, но всё-же), интеграции модулей и работы с эстимейтами, короче достаточно интересной, разноплановой и высокоуровневой работы возвращаться на этап фикса примитивных багов и верстки (в свое время и этим занимался, конечно). Думаю, вы меня понимаете :)
Я всегда думал, что только у нас в Украине такой сильный перекос в сторону веба. Неужели везде эта ниша занимает такую долю рынка?
Ответил чуть выше. Основные проблемы — асоциальность и нестабильность, и как подозрение — что опыт работы в компании более желателен если рассматривать вариант выезда за границу.
dou.ua/forums/topic/19535
У нас немного похожие ситуации, возможно, будет полезно. Скажу одно, выбрал фронт и не пожалел — правда, есть свои нюансы, но если ты человек инициативный и целеустреиленный, то и во фронте будут архитектурные и алгоритмические задачи достойные инкрементации количества велосипедов в мире :)