Розробка під Android чи iOS, перспективи

Цікавить, що перспективніше на найближче майбутнє: розробка під Android чи iOS. Є досвід у створенні програм під обидві платформи (тому із заморочками розробки під них знайомий), але хочеться сконцентруватись на одній.

З однієї сторони пристроїв під Android значно більше, з іншої — яблучна продукція також, безперечно, дуже популярна. Розумію, що ринок досить непередбачуваний, але хотілось би почути думки від досвідчених людей — в навчання розробці під яку платформу слід вкласти час та сили?

👍НравитсяПонравилось0
В избранноеВ избранном0
LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

а під блекберрі хтось пише?

И под Windows пишут довольно неохотно, а по блекберри уже давно на фрилансе заказов не видел.

так нові телефони блекбері на андроїді, її напевно спідкала доля сімбіана.

Перспектив нет, надеюсь это пройдет.

Гуглил вчера апворк на тему андроид проектов. Проектов много, но конкуренция просто бешеная. Десятки заявок в каждом проекте, вплоть до овер 50. И при чем полно апликантов опытных с прокачаными акками. Потому я забросил эту идею, хотя мог уже взять проект по андроиду от постоянной заказчицы там же. Но как там работать дальше я не знаю Сдался. Веб наше все...

Считаете, что словить по андроиду там мало вероятно или вы нацеливались только на определенный тип проектов? Вариант наняться удаленно не вариант? Андроид все? А веб, конкретно чем занимаетесь?

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

а по вебу, что сильно меньше конкуренция?

Любой выбор будет правильным.
Абсолютно на всех мобильных проектах, на которых я работал (и соседних тоже) одновременно велась разработка под iOS и Андрюшу. Поэтому не нужно смотреть на доли рынка и количество девайсов. Ты разработчик, а не продавец телефонов или владелец программного продукта. Тебя должно в первую очередь интересовать количество проектов, а оно под обе платформы +/- одинаковое.
Если смотреть по зп, то iOS-ники получают несколько больше и офер получить легче из-за меньшей конкуренции, но одинакового по сравнению с андройдом спроса.
Аргументы по поводу удобности IDE я слушать не советую: когда ты знаешь каждую инструмент и все на шорткатах, то большинство достоинств и недостатков в принципе нигилируется. В том же Xcode может и нету десятков замороченных рефактор тулзов (но многие таки есть), зато можно за пару часов в interface builder мышкой накидать нехилый адаптивный UI на констрейнтах и сайз классах, создать переходы между экранами, drag-n-drop’ом привязать это все к коду и радоваться жизни. Тогда как в A Studio придётся изрядно поковыряться в xml и написать тонну бойлерплейта, чтобы это просто завелось. Я уже не говорю про уйму крутейших инструментов для профайлинга, доступных в Xcode, альтернативы которым я пока не видел.
С другой стороны для Андрюши не нужно учить кислотный obj-c, а основы джавы щас знает каждый выпускник. Не нужно покупать мак и айфон/айпед, опять таки.
Лично я сейчас интенсивно развиваюсь по Андрюше, потому что оптимальный вариант — это быть экспертом в обеих платформах.

Два года назад пристали из Самсунга Tizen телефон, попросили портировать мою игру под эту OS, согласился, портировал, через 2 месяца сказали что Tizen в России не стартует, попросили вернуть телефон.
У меня все.

С точки зрения конкуренции, то под IOS она значительно меньше, особенно в Украине.
Если бы я сейчас выбирал среди этих платформ, то выбрал бы IOS.

Если хочешь в мобилы — бери iOS. Рынок такой-же, но вход на него дороже и замороченнее (у нас ай девайсы много менее популярны), потому и спецы дороже, при прочих равных. А тебе вроде не важно.
Android имеет смысл, если потом думаешь метнуться в True Serious Business Enterprise Java, с большими зп, а мобилы больше как переходной период.

Честно говоря, как многие тут писали — выбирать нужно то, к чему душа больше лежит. Обе платформы популярны, я думаю спрос что на Андроид, что на Айос будет ещё очень долго.

Теперь субъективное мнение:
— У IOS лучше написано SDK, чем в Android
— XCode — ужаснейшая IDE!! Бросайте в меня камнями, чем угодно, но по сравнению с Android Studio, XCode дно полное. Я получаю кайф от кодинга в Android Studio.
— Андроид позволяет намного больше возможностей, чем в IOS, а как результат — больше фантазии и решений для одной и той же задачи.
— Всё таки у Андроида есть фрагментация платформы, увы. Хотя с каждым годом это уменшается, некогда ужасный дизайн изменяется и всё идет к добру) Но Apple тоже не стоит на месте.
— Ещё стоит сказать что под IOS разрабатывать намного дороже. Нужны девайсы Apple, аккаунт разработчика стоит 99 долларов ежегодично (у Гугл 25 — единоразово).

Во всяком случае и то и это имеет большой спрос и разрабатывать мобильные приложения интересно =) Удачи.

От jetbrains AppCode хорошая ИДЕшка по сравнению с xCode

Вау! Спасибо большое! Не знал о ней

Попробуй, вдруг понравится и плюсов в сторону ios разработки у тебя будет на порядок больше :D

Между прочим показал её колеге (Айоснику) — вот уже 4 день только на ней и педалит =))
Спасибо)

Рад быть полезным :)
Кстати, а этот айосник что думает касательно этой темы?)

По поводу темы вопроса — не знаю) Ещё не появилось повода это обсудить.
А по поводу AppCode vs XCode — ответ очевиден, раз юзает AppCode ;-)

Да ладно, дело привычки.
Плохо то, чтоновые версии почему-то деградируют по сравнению со старыми, но в целом все еще более-менее.
Зато симулятор хороший! ))

Что самое смешное — в Visual Studio и AppCode (а других популярных аналогов xCode для разработки под Мас я не знаю) редактор интерфейсов и симулятор взяты из xCodе.

Ну я с андроид студией и соответствующими симуляторами сравнивал скорее.

ну они редактор кода удобный сделали, остальное на xcode завязано конечно

я после продуктов jetbrains пересела на xcode. Не хватает только рефакторинга, а так остальное норм. Эклипс хуже

Выбирать имхо нужно то, что лучше продается. Продается сейчас (да и всегда) iOS. Под Андроид пишется все «в нагрузку». Потому что денег там для разработчика нет.

денег там для разработчика нет
 а, понятно, т.е. куча андроид девов пишут код за еду или вообще бесплатно. (сарказм)

С чего такое выводы? Они пишут крупным заказчикам, для которых андроид-версия — вопрос имиджа и — только

Ну что за чушь? Зайдите на апворк — тонна заказов под андроид и часто только под андроид. На андроиде сидит В РАЗЫ больше людей чем на иосе, и деньги там идут с рекламы + косвенно, если к примеру сайту нужно свое приложение.

Ваше андроид хейтерство непонятно совсем. Андроид уже сейчас лидирует в Мире, а с новыми версиями он продолжит выбивать иос с рынка.

На самом деле доля рынка и количество денег понятия коррелирующие, но одно не является функцией второго

Справедливости ради: 2/3 заказов — iOS и Android версии сразу, 1/3 — что-то одно из них, причем iOS и Android поровну. Про распределение платежеспособных потребителей выше было сказано правильно, но в реальности все немного не так. Подавляющее большинство компаний просто не могут себе позволить упустить такую значительную часть рынка как iOS или Android пользователи и делают обе версии сразу.
Только iOS выбирают те, у кого это или изначальная ЦА или тупо нет денег на разработку обоих версий.
Только Android выбирают в основном под нишевые решения со своим железом, по понятным причинам это гораздо дешевле.

А Вы не могли бы уточнить чем конкретно вам не нравится XCode?

Ну например тулзы для рефакторинга, а если быть точным — их отсутсвтие.

Самое масштабное — рефакторинг и автодополнение кода.
Для C++ на XCode это вообще отсутсвует!

Неудобное расположение панелей, вкладок. (Дело привычки, понимаю).

Минимум «горячих клавиш».

Сообщения об ошибках компиляции малоинформативны. К примеру, Андроид Студия для решения ошибок вообще предлагает несколько вариантов)

В продуктах JetBrains есть так называемый Инспектор, который анализирует код и может выводить предупреждения, если что то не так.
Например если написать
Object o = null; o.toString();
то инспектор ругнется, так как это явное NPE.

Меня бесит структура проекта в XCode) Всё в одной папке и никакой стуктуры. Я знаю о группах, но ведь они относятся к IDE, а не к файлам.

Ещё меня убило создавание иконок для iOs. Вот вроде бы у андроида и девайсов больше, но процесс создания иконок занимает 2 минуты! На IOS — минут 10-20..

Единственное что мне нравится в XCode — это дебаг режим. Всё просто, чудесно и быстро работает. Хотя в той же Андроид Студии при проходе в дебаг режиме — в коде справа аккуратненько выводятся значения переменных, так что не нужно наводить на них курсор, всё и так видно)

В общем, можно кодить и без всех этих штук, но поверьте, это всё ускоряет разработку в полтора, а то и в два раза.

Несколько странный список...

Самое масштабное — рефакторинг и автодополнение кода.
Для C++ на XCode это вообще отсутсвует!
Что неудивительно, а в Андроид Студио и даже VS оно также отсутствует для ObjC или Swift.
Сообщения об ошибках компиляции малоинформативны.
Ну это от компилятора в первую очередь зависит. Зато рантайм-ошибки хорошо показаны.
В продуктах JetBrains есть так называемый Инспектор
Ну да — там встроен SCA, который кстати стоит денег. Можете купить отдельный SCA для ObjC/Swift, их есть немало на рынке.
Всё в одной папке и никакой стуктуры.
При создании можно указывать папки, также никто не мешает переместить и переставить в правой панели пути. Дело привычки собственно.
В общем, можно кодить и без всех этих штук
Нет, дело не в этом. Любую среду можно заставить выполнять непрямые ее функции и таки да, получаться будет очень так себе.
Если кодить на ObjC в Андроид студии или на Go в VC, то будет хреново. Но это не значит, что они хреновые среды.
А вот если сравнить XCode для IOS/Mac приложений на ObjC/Swift (с небольшими вставками на C/C++) с любой другой средой для этих же приложений?

Выше писали про AppCode от JetBrains. К сожалению не весь функционал там работает, но для написания кода — я предпочту AppCode.

И, между прочим, рефактор для C++ на Андроид Студии работает прекрасно. А для ObjC/Swift есть AppCode =)

Я вобщем AppCode и имел ввиду. Вполне допускаю, что оно лучше XCode по многим параметрам (я просто не пробовал, но Xcode становится ощутимо хуже в новых версиях).
Но тогда стоило бы сразу и написать — AppCode лучше чем XCode, а не «все что угодно лучше чем XCode». Платите $80 в год и наслаждаетесь. )

До написания того комментария я не знал о существовании AppCode. Спасибо Ilya Todor за инфу про AppCode.

я вчера AppCode поставила. Когда писала на джаве, idea была любимым инструментом. Но appcode подвел — когда я переименовала метод, а потом и удалила его, нигде в местах его вызова даже не муркнуло что что-то не так. Вернулась в xcode, поставила тему близкую к darcula и щаслива

Скажите, пожалуйста, Вы можете перечислить конкретные преймущества AppCode который действительно имеют смысл? Спрашиваю из интереса. Из того что пишут в интернете больше походит на то, что людям нужны какие-то мелочи или то что они не знают весь функцонал Xcode.

Это превращается в ХолиВар =)
То что я увидел в XCode после Android Studio — мне безумно не понравилось. Я не получаю удовольствия юзая XCode. Продукты от JetBrains хорошИ — и это факт. Как по мне, Андроид Студия шагнула дальше по удобству и качеству использования. Плюс ко всему она быстрыми темпами обновляется, раз в месяц добавляются новые фичи.
В общем, подведя черту — XCode мне категорически НЕ нравится. Андроид Студия — мне безумно нравится. Но это моё субъективное мнение) Я не пытаюсь никого в нем убедить.

я после идеи тоже долго плевалась на xcode. Сейчас ничего, настроила хоткеев и норм. Рефакторинга и еще парочки фич конечно не хватает, но жить очень даже можно

На счет с++ многое не скажу, так как в большинстве юзаю Qt Creator для него. Для Obj-C/C автодополнение работает более чем нормально, если хотите расширить возможности еще более — github.com/...e/FuzzyAutocompletePlugin

Сообщения об ошибках для С подобных языков достаточно информативны. Если Вы знаете лучше — предложите, с удовольствием посмотрю.

В Xcode есть похожий функцонал, а называется он статическим анализатором. Также есть так называемый Analyze режим, может Вам даже неправильную логику найти в коде. Также Вы можете сами расширять возможности статического анализатора при необходимости.

На счет структуры проекта уже сказали в этой же ветке — можно юзать папки (в качестве групп, так и как папки).

Какое отношение Xcode имеет отношение к созданию иконок? Если Вы про вставку для разных разрешений экранов, юзайте векторную графику (векторный pdf который поддерживается Xcode, SVG — нужны либы).

Для Android є також IntelliJ IDEA — швидка і зручна, вона мені сподобалась більше за Eclipse (багато різних багів) та Android Studio(на машині з параметрами: SSD, RAM 4GB, Intel Core i3 — працювати не реально, наскільки все повільно)

RAM 4GB

Що заважає докупити ще одну планку на 4гб?

Не факт, что в ноуте планка на 4гб. Возможно, там стоит 2×2 планки

Тоді продати ті 2×2 і купити 2×4. Я теж мав лише 4 і дійсно андроід студія важкувато йшла на убунті. А тепер докупив ще 4 і з 8 сиджу навіть без свапу, чим зберігаю свій ссд надовше і думаю при частому обриві електрики так йому важке полетіти.

В з ноутом йшла на 2, доставив ще на два. Оскільки я не професійно займають розробкою під андроїд, а тільки на рівні хоббі (створення простої програми для роботи по Bluetooth) тож IntelliJ IDEA саме те що мені треба.

Макбуки не дружать з IAR, Keil та іншими середовищами в яких я працюю :)

Здравствуйте! А дорого стоит написать андроид приложение под сайт? sklyarv@ukr.net

от 2к до 15к баксов, зависит от сложности !

Пользуясь случаем, кидаю линк на опрос с одним единственным вопросом касательно Android
docs.google.com/...​cuUUwNsL0mRB1TfV75RDInjYY

Победит Nutella, потому что она очень вкусная))

Однозначно під iOS! Пройдіться по вакансіям і фріланс біржам — під iOS менше конкуренції(зрозуміло чому). По друге замовники iOS більш багаті як і користувачі. По третє, під iOS розробляти легше бо менша фрагментація.

По третє, під iOS розробляти легше бо менша фрагментація.
фрагментація чого?

Думаю, что имелась ввиду фрагментация по экранам

под андроидом еще и телевизоры есть и всякие другие девайсы

Но это уже совсем другая история ©

Фрагментация разрешения экранов, и версий используемых версий ОС, которые нужно поддерживать.

під iOS розробляти легше бо менша фрагментація.
Во-первых, у андроида есть отдельная библиотека обратной совместимости с предыдущими версиями. Во-вторых, если речь о фрагментации размеров экрана, то у андроида есть понятие маштабируемых пикселей, что позволяет практически не брать во внимание реальные размеры экрана. В-третьих, если очень сильно надо поддерживать вообще все возможные размеры и разрешения экранов, то достаточно в пару кликов создать необходимые разметки и немного допилить их если нужно. В-четвертых, и это самое главное отличие андроидовского апи от эпловского, в андроиде значительно быстрее появляется поддержка новых аппаратных плюшек, так как апи не привязан к конкретному железу.
...то у андроида есть понятие маштабируемых пикселей, что позволяет практически не брать во внимание реальные размеры экрана
Конечно, в теории звучит, как песня. А IRL при нетривиальных юайках у тебя в проекте живёт-поживает туева хуча ресурсных папок с препостфиксами ’w’, ’h’, ’sw-’, ’dpi’. Одними масштабируемыми пикселями часто не обойтись, в то время, как на iOS задал прямо в коде костыль в виде 45px, и пошёл играть в настольный футб с коллегами
задал прямо в коде костыль в виде 45px
Ну в большинстве случаев даже одного dimens.xml хватает. На апи 16+ ниразу не замечал больших траблов с
у тебя в проекте живёт-поживает туева хуча ресурсных папок с препостфиксами ’w’, ’h’, ’sw-’, ’dpi’.

Мне в 2012 году говорили, что андроид не выстрелит, что симба — это наше всё.
Где симба, где андроид?
Если бы я был сейчас нулёвым и решил изучать мобайл — я бы писал на swift под ios, тем более, что скоро его портанут и на андроид, имхо.

О, пророк появился. Все слушайте его!

Почему пророк? Попросили поделиться мнением, мыслью — поделился. Что не так, Александр?

Ну просто забавно выдвигать свое мнение как истину и рассказывать о будущем потому что «раньше я сказал так и случилось так».

потому что «раньше я сказал так и случилось так».

Эта мысль, она не более, чем домыслы. Я лишь констатировал факт.
Более того, судя по твоему комментарию выше, ты даже согласен с моим мнением, что ios все же в выигрыше

судя по твоему комментарию выше, ты даже согласен с моим мнением, что ios все же в выигрыше

Да, согласен :) Но если нет денег на айфон и макбук то писать и под андроид нормально я полагаю

ем более, что скоро его портанут и на андроид
уже.

На Android есть свой Swift и это Kotlin.

Ну Kotlin недавно только вышел с беты, и не факт что взлетит. Скорей всего что нет

Думаю, что свой сегмент он займет. Точнее, уже даже получил и будет только увеличивать его за счет уменьшения джавы.

Точнее, уже даже получил и будет только увеличивать его за счет уменьшения джавы
А разве есть предпосылки ?

«An excellent knowledge of Java. » а котлин там указан только как «будет плюсом». Не показатель. Может решили поиграться с ним, попробовать и не более.

для андроїда є Kotlin, навіщо заморачуватись свіфтом ?

Не хотелось бы создавать отдельную тему, так что спрошу тут.

Сам являюсь ASP.NET MVC разработчиком, соответственно пишу на C#, однако есть неимоверное желание попробовать себя в iOS разработке (очень привлекает данная область). До этого не имел никакого опыта в мобильной разработке и столкнулся с выбором — изучить Swift или же пойти по пути C# + Xamarin, т.к. шарп очень нравится. Основная трудность — есть ли хорошие туториалы по iOS фреймворкам на C#.

Вопрос: реально ли с нуля начать разрабатывать приложения на C# под iOS или же лучше пойти путем Swift-а? Заранее спасибо за советы!

изучить Swift или же пойти по пути C# + Xamarin
Изучи обджектив

О, а у меня есть вопрос — обджектив по сложности равен обычному с++? Знакомый интересуется

не знаю критерие равности по сложности языков) и что такое «обычный с++» тоже не совсем понятно.
Знакомый пусть возьмет несколько алгоритмов, реализует на обджективе и на обычном с++ и посмотрит, что сложнее
мне в свое время обж легче заходил, чем кьют

и что такое “обычный с++”
точнее с

“Objective-C is a general-purpose, object-oriented programming language that adds Smalltalk-style messaging to the C programming language”

обджектив по сложности равен обычному с++?
Заметно легче.

Проще, но можно ограниченно смешивать ObjC и C++

IOS девы говорят, что обджектив не сложный, только отсутствие синтаксического сахара бросается в глаза

там есть другие моменты)

Как Xamarin разработчик пришедший из iOS, могу сказать: однозначно Xamarin.
Сейчас эта технология набирает популярность — спрос намного больше чем предложение.

7 вакансий Xamarin против 74 вакансии на iOS на доу подтверждают эту однозначность

Сужу из своего опыта, на проект уже мес 3-4 не можем найти нормального Xamarin разработчика. В то время как тех же iOS разработчиков найти в разы проще. Думаю пока будет такой расклад, можно будет ожидать большего вознаграждения за знания по Xamarin чем по iOS.

Ну это понятно, так как технология не очень популярна то и найти хорошего разработчика труднее. Но и работу найти труднее. Вообще тут все очень банально — чем бОльшая ЗП тем бОльшая трудность ее получения.

Лично Вам уже ничего не грозит и можно продолжать расти в этом направлении :)

Я и не парюсь, если Xamarin накроется — перейду на другую технологию.
Но идея единой бизнес логики, одного языка, одного стандарта кода для 3х платформ — не мало стоит сама по себе. Так же другие кросплатформенные технологи как PhoneGap, RhoMobile, Appcelerator мне такой удовлетворенности и ощущения завершенности не дали)

Но идея единой бизнес логики, одного языка, одного стандарта кода для 3х платформ
это идея серебряной пули

Не, просто хорошее решение со своими недостатками, но которое подтвердило свою целесообразность на практике

Если Xamarin, то в любом случае на базовом уровне прийдется учить ObjC

Каким телефоном пользуетесь, под ту платформу и разрабатывайте ;)

ход конем — c# и Xamarin (:

Мое мнение, конечно, базируется на том, что я и так уже работаю много лет на iOS, но все же, я бы сказал, выбирайте iOS. Java отличный язык, но Swift мне кажется лучше, я бы ставил на него. По заработку получится приблизительно одинаково (наверное), но купить себе макбук и айфон для разработки, будет очень дорого, гораздо дешевле писать на обычном домашнем компе и купить за 3к что-то на андроиде.

Ну скоро Kotlin заменит Java :)

можно на Go писать, а если серхезно; все эти kotlin, RxJava баловство и раздувают приложения на ровном месте. поймите наконец: приложения создаются для пользователей, а не для того, чтобы программисту было с чем поиграться

Kotlin — возможно, чисто сахарок. Rx я бы не назвал баловством, удобная штука, очень упрощает мультипоточный handling, конечно если мы говорим о приложениях с солидной комплексной логикой.

и как же мы бедные обходились без нее раньше, в одно место ее применил — и пошла пьянка, надо бы и работы с базой перевсти на rx подход, потом rxlyfecyle подтянулся, потос rx ui bindings и пошло-поехало, потом смотришь +10мб

Для каждой задачи — свой инструмент. Да, обходились и сейчас безусловно можно обойтись, но если есть готовый солюшн — почему не воспользоваться. С таким подходом можно и Json/Xml ручками парсить, раньше ведь обходились без GSON’a/Jackson’a/etc..

Не заменит, тем более что c Android N будет Java 8

Можно будет используя компабилити либрали писать ап на 8 джаве под все версии андроида?

Не совсем компатибилити лайбрари но можно будет, но к сожалению гугл пока что не имеет планов на полноценную поддержку джавы 8. Может ближе к релизу Android N чтото изменится. Но все таки к котлину наверное стоит присмотреться но не раньше выхода версии 1.5+

Дело не в компатибилити, а в компиляторе.

Ну Kotlin имеет очень много плюшек, которых нет в полноценной восьмерке(функции высших порядков, when, вьюхи можно инфлейтить ещё лаконичней чем с butterknif’ом и т.д.). Заменит или нет — время покажет, но свою нишу точно найдёт.

На хабрі була стаття колишнього ios seniora, в якій він описав мінуси мобільної розробки.

Не прогадаете с любым выбором. Обе платформы весьма перспективны и эта тенденция думаю сохранится ещё очень долго. Поэтому я бы посоветовал выбрать то, к чему больше душа лежит.

Подписаться на комментарии