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

По мотивам этого мероприятия dou.ua/calendar/4005
Насколько сейчас востребованы специалисты такого профиля? Как в мире так и в Украине. Есть ли позиции в наших компаниях?

Сам начинающий android разработчик. Стоит ли изучать кросс-платформенную разработку под мобильные устройства на java или писать нейтив приложения и не морочить голову?

👍НравитсяПонравилось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

Если планируешь в лидеры рынка, то лучше нейтив. Если фриланс, то лучше cross-platform. В фрилансе заказчики как правило мелче и у них денюжек для оплаты разработки под разные платформы часто не хватает. Но даже если ты разрабатываешь на кросстулзах, то все равно знание платформы (которое можно постичь через нейтив) будет большим плюсом.

Если фриланс, то лучше cross-platform.

И соревновацца с индусами за 20 баксов в час. Самое оно. ТАк и надо отсекать конкуренцию.

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

иногда написать 2 версии будет быстрее и дешевле чем 1 крос платформ

Редко. В основном, сравнимо по цене. На кроссплатформу индусы лохов, в основном, и разводят, ибо выучить что-то, кроме жс не в состоянии.

Сколько баксов в час это тема уже другого разговора.

Как раз того. В нижнем ценовом сегменте рынка и доминирует кросс-платформа, т.к. играют на жадности заказчика, обманывая его о эффективности стоимостной кросс-платформы.

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

У вас в данной сентенции два ложных утверждения:
1. на фрилансе болшинство заказов на кросс-платформенные решения -> большинству пофиг, на чем написано;
2. бюджет не позволяет заказывать под каждую отдельную платформу -> стоимость сравнима.

Я просто оставлю это здесь: www.infoq.com/...ok-HTML5-Native

dou.ua/...-comment#376637

В сиим комменте я упоминал, что сделать нормальный флоу возможно, но вот цена будет близка (в пределах 10%) разработке отдельных натив приложений. ТАк в чем же профит? Особенно, при учете, что что-то еще более серьезное на хтмл 5 уже затормозит (красивые транзишны с движением некоторого количества элементов и легким отрехмериванием) даже на современных девайсах без еще более глубокой оптимизации, которая выльется уже в то, что выгоднее бы было писать отделньые нативы.

Забей на кросплатформу, пиши нативные приложения

Из опыта — если это Unity3d или cocos2d/сотоварищи, то да.
Если яваскриптовые/с#/no rom basic обертки — то нет. В апсторе нет ни одного успешного приложения на них (и не было). Распилить деньги неопытного энтерпрайз заказчика и через полгода забыть как страшный сон — это их основное применение.

А любой нэйтив (подозреваю что даже Вин) вполне на хлеб с маслом заработать даст.

+1 геймдев в мобайле — только тут кросплатформ разработка в мобайле на основе разных фреймворков и работает. Но он имеет очень мало отношения к хтмл5-джаваскрит

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

пиши нейтив приложения и не морочь себе голову. Тема крос-платформеного девеломпента с хтмл5 уже не первый год «перспективна» но все никак не може выстрелить. И в таком состояние останется надолго.

И в таком состояние останется надолго.
Можно сказать навсегда

В PhoneGap иногда приходится повозиться, что б добиться приемлемой отзывчивости, но в целом использовать можно.

А что это за вебинар, никогда не видел. Можно потом видео с мероприятия где-то посмотреть?

Пробовал как-то дома фонгап. Нет слов. Просто бесполезнейший кал. Или я дурень чего-то не понял или я даже не знаю. Элементарная задача: как сделать быстрый тэп или скрол в js приложении? Ответ: НИКАК.

Для tap есть миллион библиотек. Я использую Hammer.
Для скрола iscroll

Для скрола iscroll
Да. Но это ведь дичайший костыль. И Боже упаси если во враппере будет лежать больше двух дивов — глюки неимоверные. Даже не знаю как нужно оптимизировать весь этот дом, чтобы оно нормально работало.

Использовал 4.2.5. Во враппер рендерил разное кол-во div’ов. Не помню, что б были проблемы с этим.

Писал быдло и ничего :-) dev.gordio.pp.ua/j4f

Писал быдло и ничего
если тут обращение, то хоть запятыми бы выделил ))

Unity3D + NGUI или фонегап?

Мы решили остановиться на Sencha Touch + Cordova. На новых девайсах тормозов нет, хотя нативный интерфейс приятней.

Мы решили остановиться на Sencha Touch + Cordova. На новых девайсах тормозов нет, хотя нативный интерфейс приятней.
Тормоза — это такое, тут крутилку, там сетТаймаут и так-то лечитсо.
У Cordova (PhoneGap) проблема в том что он (как и все подобные запускалки джаваскрипта) «ничего не умеет»: очень мало АПИ, оно годится только для __очень__ тонких клиентов. Локальную базу надо докручивать с такой-то матерью (если кроссплатформенно); бекграунд задач вроде нима; нотификейшены и тд.
Но будем надеятсо что с выходом версии 3 все станет веселее
Локальную базу надо докручивать с такой-то матерью
Используем SQLite плагин для Cordova. Работает.
нотификейшены
Да, надо самим писать.

И еще дебажить JS код — тот еще геморрой. Weinre не настолько функционален.

Тормоза — это такое, тут крутилку, там сетТаймаут и так-то лечитсо.
Это страшные костыли.
Это страшные костыли.
Почему? Какие альтернативы? Подключать смартфон по проводу и не отображать более 10 записей за раз?
С какого-то размера данных вам прийдется использовать эти приемы (ресурсы железа жестко ограничены).
Какие альтернативы?
Писать натив.
Писать натив.
С какого-то размера данных вам прийдется использовать эти приемы (ресурсы железа жестко ограничены).
И нанимать отдельно людей на +2-3 платформы как-то затратно, если приложение надо просто поддерживать. А вот с ХТМЛ/ДжС программистами все проще.
Человек пишет
На новых девайсах тормозов нет, хотя нативный интерфейс приятней.
На этом все как мне кажется кончено. Никто после нормального скрола и тэпа
Давайте я вам напишу, что проблем с железом 2-2.5 годичной давности со свежими ОС нет. Вопрос «приятности» далеко не всегда стоит, чаще речь про приемлемую скорость работы, особенно если речь про корпоративные (или е-комерс) приложения.
Да далеко не все можно сделать на фонгепе, но так же далеко не все __имеет смысл делать__ в виде нативных приложений.
тормозящюю фонгаповскую (или еще какую-то там) обертку.
Еще раз, секрет прост: прямые руки и никакого мошенничества.
Повторяю вопрос:
Это страшные костыли.
Почему?

I am using iScroll in my project. I have a small issue. Mine is a Note application which functions just like the Native Note app. My issue occurs when I go to the EDIT MODE when i click on the textarea.

If i have more content in my screen than the screensize. And if i go to the Edit mode (ofcourse the keyboard popups up). It doesnt focus on the very last word. of the text content.
It either doesnt scroll to the last

И таких жоп там тысячи. И их надо выпиливать костылями.

I am using iScroll in my project.
И таких жоп там тысячи. И их надо выпиливать костылями.
Ок, то есть аргументов почему спинеры (как элементы УИ) и уменьшение времени одного обработчика как средство увеличения отзывчивости УИ у вас нет.
Mine is a Note application which functions just like the Native Note app
И вы не умеете читать:
Да далеко не все можно сделать на фонгепе, но так же далеко не все __имеет смысл делать__ в виде нативных приложений.
Конкретно по приведенному вами примеру:
С текстариями проблем не замечал (посмотрю еще раз), возможно проблема в iScroll.
.
UPD.
Можно просто неудачно список скролануть, он улетает куда-то и больше не возвращаеться. Также фонгап ведет себя по разному в разных версиях андроида.
Да бывало, в нашем случае было связанно со «странной» верской, привели в порядок верску проблемы пропали.
Снова же, от багов никто не застрахован, возможно в новой версии движка еще что-то поломают, а возможно в новом андроиде пропадет еще один месяц календаря :)
Вопрос «приятности» далеко не всегда стоит, чаще речь про приемлемую скорость работы, особенно если речь про корпоративные (или е-комерс) приложения.
Да черт с ней с той приятностью. Можно просто неудачно список скролануть, он улетает куда-то и больше не возвращаеться. Также фонгап ведет себя по разному в разных версиях андроида.
И нанимать отдельно людей на +2-3 платформы как-то затратно, если приложение надо просто поддерживать. А вот с ХТМЛ/ДжС программистами все проще.

Проще, только хтмл/жс проггеров надо больше + тесты под отедльную платформу + очень сложные и объемные оптимизации, чтобы сделать приложение гладким + отсутствие нормальной стандартной библиотеки. Вот и выходит, что натив под каждую платформу выходит либо столько же, либо на 10% дороже, чем писать под кросс-платформу.

чтобы сделать приложение гладким
Да далеко не все можно сделать на фонгепе, но так же далеко не все __имеет смысл делать__ в виде нативных приложений.
.
отсутствие нормальной стандартной библиотеки.
Для УИ штук, это не большая проблема, как-то же для веб интерфейсы делают.
А вот с «неУИ» (бекграунд задачи и тд) все таки не весело.
Вот и выходит, что натив под каждую платформу выходит либо столько же, либо на 10% дороже, чем писать под кросс-платформу.
Это если контора делает много мобильных приложений.
Когда же у вас мобильное приложение это просто дополнение к веб-системе, то или вам прийдется нанимать отдельных лудей которые большую часть времени будут пинать или чего хуже фрилансеров (со всеми рисками). Еще есть вариант переучивать людей, тут фонгеп как раз супер выход (у дотНетчиков еще возможно Ксаманир).
Снова же, как писал выше, всему свое место. И, ИМХО, фонгеп и тд — это супер решение для корпоративных/е-комерс приложений.

Отсутствие родных контроллеров, создающих базовые анимции — это проблема еще та, на самом — то деле. Именно поэтому так важна стандартная библиотека (типа иосового уикита, в анрдоиде, кстати, тоже весьма уныло все).

И, ИМХО, фонгеп и тд — это супер решение для корпоративных/е-комерс приложений.

Любое мобильное приложение — это в первую очередь не функционал, а UX. И корпоративные, екоммерс — не исключения. Любой владелец бизнеса это понимает, посему я бы скорее обозначил нишу фонгепа и подобных приблуд, как нишу приложений для галочки и под распил, вкупе с крайне недальновидными заказчиками.

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

Любое мобильное приложение — это в первую очередь не функционал, а UX.
Вопрос «приятности» далеко не всегда стоит, чаще речь про приемлемую скорость работы, особенно если речь про корпоративные (или е-комерс) приложения.
Для меня лично, то что показали Сенча (ссылка вверху) вполне приемлимо.
То есть выводы:
На данный момент все куда больше зависит от прямоты рук разработчиков, чем от нативный или гибрид (кроссплатформер).
Для меня лично, то что показали Сенча (ссылка вверху) вполне приемлимо.

Приемлемо, т.к. нет никаких транзишнов интересных. Сухенький фейсбук. А вот с выездом меню, при котором оно бы в псевдо-3д раскрывалось оно (лист, сложенный в половину раскрываецца), ситуация стала бы интересней. Думаю, сенча бы всплакнула. С любым нативным железом ситуация та же.

Посему мне пока не виден профит, при учете того, что цена разработки почти идентична, но при этом вся кросс-платформа заведома ограничивает разраба в деятельности.

Человек пишет

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

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

Delphi теперь поддерживает Android/iOS ^_^
Oxygene (тоже диалект паскаля) поддерживает Android,iOS,WP7/8 etc..
FPC — давно поддерживает
C++ вообще предлагает Qt, Marmalade SDK, cocos2d-x etc..

Всякие html/js к сожалению весьма тормозные, но тоже можно.

Делфи стоит около трех килобаксов за копию, при этом даже для самого простого надо писать свой велосипед. Вот, к примеру roman.yankovsky.me/?p=996
Всякие мармалады и прочее — тоже довольно убогие поделия. Я бы 10 раз подумал прежде чем писать что-то кросплатформ, кроме игр.

По ссылке никакой не велосипед, а костыль ;) Но вообще с тем, что писать на нативных средствах гораздо приятнее — согласен. У нас по наблюдениям написание кроссплатформенного приложения под заказ на каком-нибудь PhoneGap (с нормальным тестированием всяких мелочей) занимает примерно столько же времени (если не больше) времени, что и написание двух нативных аналогов под две основные мобильные системы

Delphi теперь поддерживает Android/iOS ^_^
интересно, а на Delphi под броузеры не пишут, чтобы код в джаваскрипт транслировался.

В старые добрые времена там был активХ плагин для ИЕ....

smartmobilestudio.com
Не совсем делфи, но тут Object Pascal транслируется в JS

ещё есть Appcelerator Titanium на JavaScript!
Рекомендую!;)

Год назад был опрос о мобильной разработке
dou.ua/...survey-results
там есть немного и о кросс-платформенных инструментах.

Есть еще Xamarin для разработчиков C#

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