Использование JavaScript на платформах Android и iPhone
Товарищи, возникла необходимость в написании приложений для платформ Android и iPhone, что можете посоветовать из литературы?
Предыстория: стало известно, что писать приложения для Android и iPhone можно теперь на различных диалектах JavaScript (Objective-J, JSCocoa и пр.) Примечание: нужны возможности работы с акселерометром и Touch Pad, Drag & Drop и пр. |
Опыта почти нет пока, но из того что смотрел:
1) jQueryMobile - тормозит и глючит 2) Sencha - вроде больше 300Кб весит....:) 3) jqTouch - хотя они сейчас прогнулись под Sencha, но на мой взгляд наиболее шустрая библиотека Всё вышесказанное естественно ИМХО |
Sencha, jQueryMobile не чуть то, мне нужно строить полноценные приложения не только для веба
|
Наверное тебе тогда нужен Objective-C, врятли есть ещё что
на замену. |
Все возможности Objective-C есть в Objective-J (написанный на JavaScript), а его замена JSCocoa (плюс JiggyApp, PhoneGap, WebTouch и Processing.js), но это только для Apple.
Для Androind видимо только JDK. А я ищу альтернативы для него тоже. |
Т.е. у тебя нет знаний в Objective-C и ты ищёщь ему альтернативу,
но всё что есть не подходит и ты ищешь этому всему альтернативу. Лично я бы все таки остановился на Sencha Touch. Вот что тебе конкретно надо сделать, и почему не подходит Objective-C и Sencha Touch? Вот это всё Примечание: нужны возможности работы с акселерометром и Touch Pad, Drag & Drop и пр. Кроме акселерометром на Sencha Touch есть, больше чем уверен, что и с акселерометром как то работать можно, поспрашивай на форуме http://www.sencha.com/forum/forumdis...amp-Discussion |
Я же написал выше, что Objective-C == Objective-J, только Objective-J написан на JavaScript, но у Objective-C/Objective-J мне синтаксис не нравится, для этого сделали JSCocoa - Objective-C/Objective-J с нативным JavaScript синтаксисом.
Меня это все устраивает. Но для Androind приложения пишутся с использованием JDK, т.е. на Java, поэтому и ищу что-то подобное как JSCocoa для Apple. Ну и литературу соответственно. |
Чисто из любопытства, на мобильных устройствах используется V8 или что-то типа rhino?
|
V8 наверно, т.к. везде вебкит.
|
Раньше вроде жабу было принято везде пихать, потому и подумал, вдруг таки rhino.
|
|
|
Gozar,
Я его ктстати смотрел, в качестве альтернативы для андроида вполне подойдет, но писать под ios с его помощью по моему субьективному мнению дикий ад. |
Cappuccino
|
По поводу phonegap беру свои слова назад, наипиздатейшая штука, хоть и в меру бажная.
|
...на диалектах javascript...
Так на андроиде же на чистом писать можно... |
Цитата:
Кто-то пробовал пользоваться фонгаповским облачным конвертером под все платформы? Насколько вообще геморройно делать программу, работающую на разных осях с доступом к системным функциям (то бишь не чистый JS + браузерный DOM)? |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
FINoM,
Есть сложности со сборкой тестовых приложения под iOS (так и не получилось организовать сборку через онлайновый билдер, собираю на маке), андроидные версии собираются ок. |
da_ff, если юзать онлайновый билдер, проверить приложение только на андроиде, можно ли считать, что приложение будет работать и на других платформах?
|
FINoM,
Ох нет, больше того, оно и в раных версиях андроида может отличаться. Это не беда phonegap'а. На дефрагментацию платформы жалуются и разработчики нативных приложений. |
Цитата:
|
Странно этого требовать от phonegap, он всего лишь запускает веб-приложения во встроенном браузере и предоставляет дополнительные API по средством расширения объекта navigator. Представь сколько бы весили приложения, если бы они с ними еще свой браузер поставляли, да и перспектива разрабатывать под еще один браузер не радует, как и вариант с отдельной установкой phonegap в качестве дополнительной библиотеки.
|
Цитата:
|
Ну точнее не в самом браузере, полноценный браузер со всеми меню и панелями не запускается, платформы предоставляют специальный компонент, например, у Android это WebView
|
Уря. Надолбавшись вдоволь, мне все-таки удалось запустить хеллоу ворлд в эмуляторе Андроида и скомпилировать под 2.3 с успешным запуском на устройстве. Теперь я андроид разработчик, ёбта.
|
Я вот недавно подумал... А есть ли смысл от этого фонгапа, если, с таким же успехом юзать
Цитата:
|
UI : jQueryMobile || SenchaTouch || jQTouch
PhoneGap(accelerometer, camera, files, compass, etc.) |
Кстати тема интересная и актуальная. Меня 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 хочу попробовать работу с БД и Геолокацию в следующих приложениях. |
antonM - спасибо, за столь развёрнутый комментарий.
|
Часовой пояс GMT +3, время: 19:00. |