Javascript-форум (https://javascript.ru/forum/)
-   Мобильный JavaScript (https://javascript.ru/forum/mobile/)
-   -   Использование JavaScript на платформах Android и iPhone (https://javascript.ru/forum/mobile/13030-ispolzovanie-javascript-na-platformakh-android-i-iphone.html)

monolithed 13.11.2010 12:59

Использование JavaScript на платформах Android и iPhone
 
Товарищи, возникла необходимость в написании приложений для платформ Android и iPhone, что можете посоветовать из литературы?

Предыстория: стало известно, что писать приложения для Android и iPhone можно теперь на различных диалектах JavaScript (Objective-J, JSCocoa и пр.)

Примечание: нужны возможности работы с акселерометром и Touch Pad, Drag & Drop и пр.

igrok 13.11.2010 14:04

Опыта почти нет пока, но из того что смотрел:
1) jQueryMobile - тормозит и глючит
2) Sencha - вроде больше 300Кб весит....:)
3) jqTouch - хотя они сейчас прогнулись под Sencha, но на мой взгляд наиболее шустрая библиотека

Всё вышесказанное естественно ИМХО

monolithed 13.11.2010 14:22

Sencha, jQueryMobile не чуть то, мне нужно строить полноценные приложения не только для веба

mycoding 14.11.2010 09:11

Наверное тебе тогда нужен Objective-C, врятли есть ещё что
на замену.

monolithed 14.11.2010 10:29

Все возможности Objective-C есть в Objective-J (написанный на JavaScript), а его замена JSCocoa (плюс JiggyApp, PhoneGap, WebTouch и Processing.js), но это только для Apple.
Для Androind видимо только JDK. А я ищу альтернативы для него тоже.

mycoding 14.11.2010 11:08

Т.е. у тебя нет знаний в Objective-C и ты ищёщь ему альтернативу,
но всё что есть не подходит и ты ищешь этому всему альтернативу.

Лично я бы все таки остановился на Sencha Touch.

Вот что тебе конкретно надо сделать, и почему не подходит
Objective-C и Sencha Touch?

Вот это всё
Примечание: нужны возможности работы с акселерометром и Touch Pad, Drag & Drop и пр.

Кроме акселерометром на Sencha Touch есть, больше чем уверен, что и с
акселерометром как то работать можно, поспрашивай на форуме
http://www.sencha.com/forum/forumdis...amp-Discussion

monolithed 14.11.2010 12:03

Я же написал выше, что Objective-C == Objective-J, только Objective-J написан на JavaScript, но у Objective-C/Objective-J мне синтаксис не нравится, для этого сделали JSCocoa - Objective-C/Objective-J с нативным JavaScript синтаксисом.
Меня это все устраивает. Но для Androind приложения пишутся с использованием JDK, т.е. на Java, поэтому и ищу что-то подобное как JSCocoa для Apple. Ну и литературу соответственно.

SV0L0CH 16.11.2010 22:09

Чисто из любопытства, на мобильных устройствах используется V8 или что-то типа rhino?

B@rmaley.e><e 16.11.2010 22:42

V8 наверно, т.к. везде вебкит.

SV0L0CH 16.11.2010 23:13

Раньше вроде жабу было принято везде пихать, потому и подумал, вдруг таки rhino.

VKS 03.12.2010 13:11

http://www.appcelerator.com/

Gozar 28.07.2011 10:01

PhoneGap, не?

сорри за подъем мертвяка

da_ff 28.07.2011 10:37

Gozar,
Я его ктстати смотрел, в качестве альтернативы для андроида вполне подойдет, но писать под ios с его помощью по моему субьективному мнению дикий ад.

Александр х@к 04.09.2011 17:54

Cappuccino

da_ff 12.11.2011 00:34

По поводу phonegap беру свои слова назад, наипиздатейшая штука, хоть и в меру бажная.

qwertyuiop10 06.02.2012 06:46

...на диалектах javascript...

Так на андроиде же на чистом писать можно...

FINoM 14.02.2012 16:35

Цитата:

Сообщение от da_ff
писать под ios с его помощью по моему субьективному мнению дикий ад.

Почему? Да, нужно покупать яблочный комп или трахаться с хакинтошем + заплатить 100 баксов за какую-то там лицензию, но в общем, чем отличается разработка под иос от разработки под андроид?

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

Насколько вообще геморройно делать программу, работающую на разных осях с доступом к системным функциям (то бишь не чистый JS + браузерный DOM)?

FINoM 15.02.2012 06:03

Цитата:

Сообщение от monolithed
Предыстория: стало известно, что писать приложения для Android и iPhone можно теперь на различных диалектах JavaScript (Objective-J, JSCocoa и пр.)

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

da_ff 15.02.2012 11:26

Цитата:

Кто-то пробовал пользоваться фонгаповским облачным конвертером под все платформы?
Да, есть подводные камни, плюс свой ключ отдавать третьей стороне не хочется.

da_ff 15.02.2012 11:30

Цитата:

Сообщение от FINoM
Почему?

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

FINoM 15.02.2012 15:46

Цитата:

Сообщение от da_ff
Да, есть подводные камни, плюс свой ключ отдавать третьей стороне не хочется.

Например, какие камни?

da_ff 16.02.2012 14:46

FINoM,
Есть сложности со сборкой тестовых приложения под iOS (так и не получилось организовать сборку через онлайновый билдер, собираю на маке), андроидные версии собираются ок.

FINoM 16.02.2012 16:31

da_ff, если юзать онлайновый билдер, проверить приложение только на андроиде, можно ли считать, что приложение будет работать и на других платформах?

da_ff 16.02.2012 17:49

FINoM,
Ох нет, больше того, оно и в раных версиях андроида может отличаться. Это не беда phonegap'а. На дефрагментацию платформы жалуются и разработчики нативных приложений.

FINoM 16.02.2012 17:54

Цитата:

Сообщение от da_ff
Это не беда phonegap'а.

Мне кажется наоборот. Идея фонгапа — делать одно и то же приложение под разные платформы.

Octane 16.02.2012 17:59

Странно этого требовать от phonegap, он всего лишь запускает веб-приложения во встроенном браузере и предоставляет дополнительные API по средством расширения объекта navigator. Представь сколько бы весили приложения, если бы они с ними еще свой браузер поставляли, да и перспектива разрабатывать под еще один браузер не радует, как и вариант с отдельной установкой phonegap в качестве дополнительной библиотеки.

FINoM 16.02.2012 18:08

Цитата:

Сообщение от Octane
запускает веб-приложения во встроенном браузере

А вот это для меня новость. Я думал, приложение включает вебкит.

Octane 16.02.2012 18:45

Ну точнее не в самом браузере, полноценный браузер со всеми меню и панелями не запускается, платформы предоставляют специальный компонент, например, у Android это WebView

FINoM 04.03.2012 06:25

Уря. Надолбавшись вдоволь, мне все-таки удалось запустить хеллоу ворлд в эмуляторе Андроида и скомпилировать под 2.3 с успешным запуском на устройстве. Теперь я андроид разработчик, ёбта.

FINoM 04.03.2012 06:31

Я вот недавно подумал... А есть ли смысл от этого фонгапа, если, с таким же успехом юзать
Цитата:

Сообщение от Octane
специальный компонент, например, у Android это WebView

Теперь я начинаю понимать, что Фонгап, грубо говоря, предоставляет только JS API для доступа к системным функциям. То есть, можно создавать адаптеры для JS по ходу разработки, конечно же, разобравшись с родными SDK устройств, экономя при этом размер и делая приложение более быстрым. Я прав?

husa 21.03.2012 20:34

UI : jQueryMobile || SenchaTouch || jQTouch
PhoneGap(accelerometer, camera, files, compass, etc.)

antonM 23.03.2012 01:56

Кстати тема интересная и актуальная. Меня Java ну совсем "не прет", поэтому начал искать возможные пути написания на JS+HTML+CSS под мобильные платформы. Из всего что перечитал и попробовал (OSS) более ли менее работоспособные варианты Titanium (Appcelerator) и PhoneGap. Titanium мне больше понравился для написания десктопных приложений. Честно, пока не пробовал писать что-то серьезное... так мелкие поделки, но прикольно.
С помощью PhoneGap пробовал писать под Андроид (дома есть два девайса под Андроидом LG GT540 (2.1) и Omnia II с портированным Андроидом (2.2) на борту. Очень понравилось. Настройку IDE делал по мануалу с сайта все завелось с полуоборота. Радует что проект живой и активно развивается.
Написал пока два тестовых приложения. Оба работают, на LG с родным Андроидом работают очень быстро, чуток проигрывают конечно нативным приложениям но неискушенный пользователь не заметит.
Пока писал и разбирался с особенностями, конечно перепробовал кучу библиотек для UI. Замеры скорости не делал (если научите как - сделаю), поэтому пишу субъективные ощущения на глаз.
Фреймворки:
- zepto - неплохая замена jquery, но начав с ней работать обнаружил отсутствие целой кучи jquery-вских фич. Например нельзя получить value select-а и прочие мелкие недочеты, нет многих привычных для jquery селекторов. Одним словом, постоянно присутствует чувство какой-то недоделанности и нехватки... (или я не разобрался до конца с ней) Как потом выяснил даже jquery 1.0 по скорости быстрее этого zepto, а по функциональности... делает намного больше. Но, зато в zepto есть поддержка таких событий как tap, singleTap, doubleTap, swipe, pinch...
- jo - комплексная штука тут вам и фреймворк и UI. Скачал, почитал, попробовал, удалил. Синтаксис не понравился, несколько необычный как после jquery. Хотя вроде хвалят...
- jquery - волне работает и выполняет все поставленные задачи. Для моих задач хватило версии 1.4.

IU
- jquery mobile, dhtmlx touch, sencha touch - много виждетов, тяжелые и тормознутые (хотя на подходе эра n-ядерных девайсов, но при написании стараюсь ориентироваться на пользователя с девайсом за 150-200 у.е., что-то типа Optimus-а). Пробовал все три. Приложение состоящее из трех страничек и небольшого текста (сайт-визитка по сути) после N-десятков секунд запуска и N-секунд перелистывания между страничками хочется побыстрее удалить с телефона, а сам телефон разбить. (jquery mobile на реальном девайсе смотрится убого, хотя в эмуляторе все красиво :)).
- jqtouch - чуток полегче предыдущих "трех богатырей" но явно еще сыроват.
- iui - понравился. Легкий и быстрый. Правда непонятно что с проектом. Толи он заброшен то ли вялотекущий. Исходники лучше всего не скачивать, а выдрать с любой странички с примером. С официальным архивом для закачки многие примеры с сайта просто не работают. Несколько нестандартный подход к компоновке интерфейса. Каждая листаемая страница это отдельный элемент одного и того же документа. Как себя поведет такая архитектура на больших приложениях трудно сказать, скорее всего не лучшим образом.

Это примитивный краткий обзор личных проб и ошибок. Полный список рекомендуемых библиотек можно глянуть тут.
Я пока остановился на двух вариантах jquery + самописные элементы интерфейса или jquery + iui.

P.S. Есть еще такие вещи как RoMobile - для поклонников Ruby (ставил ради интереса, но не использовал), Cappuccino - я так понял синтаксис похож на Objective-C, подойдет любителям этого языка (тоже не пробовал после изучения примеров понял, что не мое).
Из планируемых дейвайсных функций реализуемых через PhoneGap хочу попробовать работу с БД и Геолокацию в следующих приложениях.

Matvey007 08.05.2012 14:17

antonM - спасибо, за столь развёрнутый комментарий.


Часовой пояс GMT +3, время: 19:00.