Live-прототипирование приложений на Titanium с использованием Livetanium

    Наверняка многие из вас слышали о платформе Titanium Mobile от Appcelerator, которая позволяет разрабатывать нативные приложения под iOS и Android c использованием JavaScript (для тех кто не слышал и не пробовал, добро пожаловать). Я работаю с Titanium около 10 месяцев и меня практически все устраивает, но есть одна проблема, после использования XCode и Interface Builder работа над интерфейсом программы раздражает: Titanium не поддерживает nib-файлы, а это значит что размеры элементов приходится подгонять вручную и нет возможности использовать какие-то элементы повторно (частично эту проблему решает JSS, работает по аналогии с CSS). На самом деле проблема не в том чтобы подгонять размеры вручную (например, при html-верстки я давно отказался от WYSIWYG-редакторов и использовал vim), а в том что после внесения изменений нужно ждать компиляции и установки программы в симулятор/эмулятор, а ведь так не хочется тратить на это время.

    Jacob Waller придумал интересное решение данной проблемы (в блоге Appcelerator анонс был аж 3-го декабря прошлого года, но я не дождался топика об этом на хабре): Livetanium, благодаря которому можно забыть о времени компиляции и установки — изменения можно наблюдать в симуляторе или на девайсе сразу после сохранения файла.

    Скринкаст демонстрирующий возможности Livetanium:


    Пока Livetanium находится в состоянии ранней беты и работает только под iPhone, но это не мешает опробовать его. Для этого нужно:
    1. Установить node.js:
      $ git clone git://github.com/ry/node.git; cd node
      $ export JOBS=2 # optional, sets number of parallel commands.
      $ mkdir ~/local
      $ ./configure --prefix=$HOME/local/node
      $ make
      $ make install
      $ export PATH=$HOME/local/node/bin:$PATH
    2. Скачать Livetanium:
      $ git clone git://github.com/krawaller/Titanium-Tools.git
    3. Настроить Livetanium: изменить в файле Titanium-Tools/Resources/app.js строку 53
      K.watch("192.168.10.236", 8128, win); # ip, port, window
    4. Запустить node.js сервер:
      $ node Titanium-Tools/Resources/server.js
    5. Импортировать Titanium-Tools в Titanium Developer
    6. Запустить проект в симуляторе или на девайсе и попробовать поиграться с файлом Titanium-Tools/Resources/Livetanium/demo.js
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 12

      +3
      Я работаю с Titanium около 10 месяцев и меня практически все устраивает

      Везёт вам, а я вот за несколько месяцев работы возненавидел Титаниум. Ещё ни разу не видел такую глючную систему.

      А за livetitanium спасибо, попробуем.
        0
        Я думаю проще выучить Objective-C и не мучаться. Изучение нового языка, если Вы владеете уже каким-либо, не должно составить особых проблем. Удачи!
          +1
          Я знаю Obj-C и пишу приложения на нем больше года, но во многих случаях писать на javascript быстрее и проше
            0
            Согласен. Все зависит от потребностей в конкретном случае.
            Мне просто интересно в чем проще писать на JS?
              0
              Мне синтаксис JS больше нравится, чем Obj. Динамическая типизация и автоматическое управление памятью ускоряют разработку приложений. Но это конечно же все очень субъективно. Если говорить про Titanium, то в нем очень много вещей из коробки, таких как жесты, интеграция с соц.сетями и все это работает на одной кодовой базе и для Android и на iOS, то есть нет необходимости писать два отдельных приложения.
                0
                Спасибо за развернутый ответ. Буду знать.
            0
            И я упомянал в статье про использование Xcode, думаю это должно было Вас навести на мысль, что автор знает Obj-C, видимо заметку Вы не читали, а только увидели слова Titanium и JavaScript и сразу сделали выводы…
              0
              Именно поэтому я спросил — почему не ObjC? :)
            +1
            спасибо вам за новость :)
            сам я пробовал что то делать под Titanium, но все как-то от лукавого… мне проще быстренько взгянуть на xml (я делаю для Андроид) чем я буду искать функции по js коду. в плане написания кода и распространения его на все мобильные платформы — идея отличная. Как я понял, она еще и не новая — есть Corona, PhoneGap… просто Appcelerator более раскручен
            Потом я не думаю что какие то серьезные вещи сейчас можно делать на Titanium… к примеру игры на opengl, сложный UI… функции вроде в api есть, но опять таки (наверное) речь идет о простых вещах… одним словом, не хватает гибкости… во всех примерах view, lists и стандартный набор компонентов, которые можно сбросить в нативных инструментах движением мыши. Вообще продукту пока не хватает хорошей IDE (посмотрим что они с Аптаной сделают, скорее всего дальше редактора не уйдут), GUI редактора, дебаггинга. Еще удивил тот момент, что трейнинг для продвинутых юзеров там уже за деньги… как продвигать платформу, если ты не знаешь, что с ней можно делать? да, js не сложен, но это ничего не значит в данном контексте
            мне честно хочется, чтобы было что то достойное, чтобы я особо не запаривался, как оно будет работать под всем платформами, но пока я все равно возвращаюсь в любимый eclipse/android sdk
              +1
              Выбор инструмента достаточно субъективная вещь. Сейчас для меня Titanium больше похоже на хоби (я вот даже сайтик стал делать: titaniumdev.ru/), мне нравится идея транляции js в obj-c и java и дальнейшей компиляции родными средставами, которые предоставлят Apple или Google. Для OpenGL, да и для игр Titanium не подойдет (вы правильно упомянули про CoronaSDK, она заточена под игры и в свою очередь не подойдет для приложений), но сложный UI-непроблема для Titanium. Кстати в плане возможностей Titanium будет богаче PhoneGap, так как по большому счету PhoneGap это разширенный UIWebView, но опять же кому-то хватает и его возможностей. В компания где я работаю в основном используют obj-c и java, но постояно смотрят на разные другие плаформы и в первую очередь на Titanium Mobile. Appcelerator растет очень быстро, посмотрим что будет дальше…
                0
                нет, ни в коем случае я не пытался как-то оспорить ваши привычки :)
                как я понимаю, основная разница между titanium и phonegap в том, что первый делает нативные приложения, а второй нет… насчет Corona ничего не скажу…
                сайт ваш посмотрел, даже нашел для себя интересные ссылки… если будет возможность, поделитесь пожалуйста вашими ссылками на туториалы, время идет, может что то новое появилось…
                кстати на амазоне уже предзаказ книги по titanium… у меня она в wish listе но пока обновлений по статусу не приходило…
              0
              Ужасный чавкающий голос на видео…

              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

              Самое читаемое