LINUX.ORG.RU

Rails and Web-app for mobile device

 , , , ,


2

2

День добрый, $USERNAME!
Заказали мне тут приложение — систему тестирования пользователей. Из требования нескучное оформление, поддержка актуальных мобильных систем (iphone, ipad, android), web-интерфейс для для администратора.
В голову пришла идея, раз уж все равно возиться с сайтом, то запилить полностью приложение на каком-нибудь HTML5 и запихнуть в нативные webView, таким образом обеспечить кроссплатформенность и единый интерфейс. Тем более, если под android я хотя бы программировал и размещал готовые продукты в googleStore, то как там в этих ваших айфонах и апллсторах я без понятия.
Бизнес-логику, рендеринг страниц и обращение к БД возьмет на себя rails, с этим у меня проблем нет, но вот как и чем верстать тот самый интерфейс я не знаю.
Прошу подсказать, какие удобные библиотеки можно использовать, ведь (как я понимаю) не на голом HTML5 пишут. Пока нагуглилось jQuery UI Touch Punch, но я хочу все же узнать мнение людей, кто делал такие вещи, как говориться из первых уст.
Из требований: сравнительно невысокий порог вхождения (я с JS на уровне активного использования совсем не давно), красивое оформление (на уровне bootstrap), ну и широкие возможности в плане интерфейса: обилие красивых формочек, круглые кнопочки, etc.
Заранее благодарен.
//P.S. помнится, stevejobs рассказывал про такой способ создания мобильных приложений: хотелось бы подробнее разузнать.
//P.P.S Ну и конечно, хотелось бы что бы у библиотеки была интеграция к Rails в виде гема.

★★★★

Посоветовал бы AngularJS, но тебе низкий порог вхождения надо. Хотя по опыту, низкий порог вхождения означает проблемы с расширением функциональности в будущем.

static_lab ★★★★★ ()

Apache Cordova
а само приложение - на чем знаешь.

вон, внезапно узнал, что UI скайпа под андроид на ангуляре ;)

aol ★★★★★ ()
Ответ на: комментарий от aol

UI скайпа под андроид на ангуляре

где это можно почитать?

stevejobs ★★★★☆ ()

Phonegap или Cordova + то что тебе будет удобно и не будет тормозным.

umren ★★★★★ ()
Ответ на: комментарий от aol

вон, внезапно узнал, что UI скайпа под андроид на ангуляре ;)

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

umren ★★★★★ ()

Делал простенькую игру на абсолютно голом JS. Нормально. Angular.js по слухам тормозит на мобильных платформах.

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

Красивое оформление и круглые кнопочки делаются на CSS, никаких библиотек тут не нужно.

Legioner ★★★★★ ()
Ответ на: комментарий от Legioner

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

По ТЗ именно приложение, вариант мобильного сайта это уже фича, выбранного мною метода реализации

comp00 ★★★★ ()
Ответ на: комментарий от umren

пруфцы?

я ждал тебя. ;)
грузи скайп на андроиде, жми settings->about->thirdparty notices

листай портянку. узрей там кордову, ангуляр и еще много треша и угара.
Наверняка, они всё это ради лулзов вписали, а я Т.Л.Д. ;)

aol ★★★★★ ()
Ответ на: комментарий от aol

грузи скайп на андроиде, жми settings->about->thirdparty notices

нету андроида под рукой, все на гейоси, если кому не сложно хочу узрить скрин этого дела

з.ы. искренне думал что оно нативное

umren ★★★★★ ()
Последнее исправление: umren (всего исправлений: 1)
Ответ на: комментарий от Legioner

С приложением больше мороки.

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

comp00 ★★★★ ()
Ответ на: комментарий от comp00

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

так для этого надо обвязки делать, собирать приложение, ну и так далее, он это имеет ввиду.

umren ★★★★★ ()
Ответ на: комментарий от umren

так для этого надо обвязки делать, собирать приложение,

Ну это разве трудности? Один вечер, 4 чашки кофе, и скомпилированное приложение с webView на фуллскрине с кастомным url готово к релизу. Или я не знаю об подводных камнях?

comp00 ★★★★ ()
Ответ на: комментарий от comp00

Есть какие то «обертки». То есть в смартфоне ты ставишь приложение, а оно является по сути браузером, который выходит на твой сайт. У банков часто так интернет банк работает. Приложение тупо Грузит мобильную версию сайта.

anonymous ()
Ответ на: комментарий от anonymous

и это именно то что я хочу сделать.
Только это самое приложение нужно написать самому (что не сложно)

comp00 ★★★★ ()
Последнее исправление: comp00 (всего исправлений: 1)
Ответ на: комментарий от umren

Насколько я понял, эта библиотека позволяет выполнять js непосредственно на устройстве. Мне нужно немного другое: мне нужно на стороне сервера рендерить «мобильную версию» с интерфейсом и отображать ее уже в этом самом WebView в нативной программе

comp00 ★★★★ ()
Ответ на: комментарий от comp00

Тогда тебе нужно тупо взять кордову, сделать webview и натравливать на ссылку, в идеале еще все это жестко кешировать, что бы он не подгружал все при каждом сеансе с приложением, из минусов - изначальняа загрузка медленная.

umren ★★★★★ ()

ведь (как я понимаю) не на голом HTML5 пишут

когда начнет тупить аццки - поймешь обратное.
вообще - главное ни в коем случае не делать анимацию путем DOM-манипуляций (только CSS transform), DOM сделать минимальным, с переключением видов через detach, и вообще свести манипуляции с DOM к минимуму и все будет хорошо. Про 300мс не забудь.
vanillajs не настолько плох, чтобы на нем не писать, а учитывая что он порядком шустрее, особенно на каких-нить говнодроидах 2009-го года.

dib2 ★★★★★ ()
Ответ на: комментарий от umren

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

dib2 ★★★★★ ()
Ответ на: комментарий от dib2

приложение должно иметь фиксированный вид (т.е. нельзя UI рендерить на сервере

Это можно хитро обойти, уже имея изначальный UI который обновлять по запросу и не часто, если приложение специализированное, то не завернут. Но вообще да, ты прав.

umren ★★★★★ ()
Ответ на: комментарий от umren

та проще его полностью в оффлайн запаковать - жирные клиенты сейчас в моде

dib2 ★★★★★ ()
Ответ на: комментарий от comp00

Лишние действия по оборачиванию, подписыванию, аплоаду. Эпплу сто баксов занести надо будет и голову поморочить с регистацией. Модератор может прикопаться к чему-нибудь. Тестировать дольше. Баг в обертке — твой баг. А преимуществ ровно 0. Есть доступ к аппаратной части смартфона, но оно тебе, я так понял, не нужно.

Legioner ★★★★★ ()
Ответ на: комментарий от dib2

та проще его полностью в оффлайн запаковать - жирные клиенты сейчас в моде

автор не хочет так, автор ленив, но вообще конечно надо UI запаковывать вместе с приложением и обновлять через нативные средства платформы, это правильно

umren ★★★★★ ()
Ответ на: комментарий от umren

надо UI запаковывать вместе с приложением и обновлять через нативные средства платформы, это правильно

Т.е. получить обычное нативное приложение, с набором UI и общаться с сервером http-запросами?

comp00 ★★★★ ()
Ответ на: комментарий от dib2

Я об этом даже как-то и не думал, спасибо за наводку.

comp00 ★★★★ ()
Ответ на: комментарий от dib2

vanillajs не настолько плох

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

comp00 ★★★★ ()
Ответ на: комментарий от comp00

Да, геморроя побольше чем в твоей варианте, зато расово правильно.

umren ★★★★★ ()
Ответ на: комментарий от umren

Первая мысль была такой, но тогда об абстракции от мобильных устройств можно забыть (а уж тем более — о кроссплатформенности).

comp00 ★★★★ ()
Ответ на: комментарий от umren

нету андроида под рукой, все на гейоси, если кому не сложно хочу узрить скрин этого дела

http://itmages.ru/image/view/1916178/7d6d4000

Однако, надо сказать, что количество стандартных андроидовских лэйаутов на порядок превосходит количество ангуляровских роутов. То есть Cordova хоть и используется в скайпе, однако весь интерфейс на ней не построен.

static_lab ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.