Spine.js и Rails

Как говорят у нас в Одессе, и снова здрасте! Именно так, а не здравствуйте (-:

Сегодня я решил предоставить на суд общественности совсем небольшое приложение. Так называемое SPA — Single Page Application. Самым ярким и известным представителем SPA является, пожалуй, Gmail. Ну на такую функциональность никто пока не замахивается, а вот что-то типа системы управления для сайта — а почему бы и нет?! Как это может выглядеть, Вы можете посмотреть на Heroku. Строго не судите, это всего лишь некоторые зарисовки о том, как это может быть.

Я же хочу лишь рассказать, что к чему. Во-первых, как не сложно догадаться, я использовал связку Spine.js и Rails. Spine.js — это отличный маленький фрейморк для создания SPA. Почему пал выбор именно на него, а не на, например, Backbone.js? Ну, во-первых, он написан на Coffeescript. Во-вторых, легко и просто интегрируется с рельсами, следует их философии. В-третьих, простая и понятная документация, которой совсем не много. В общем, когда разберёшься, что к чему, то писать на нём одно удовольствие.

В использовании Spine.js ничего необычного, разве что введено понятие SubStack для использования нескольких Stacks. Чтобы разобраться, что к чему, следует ознакомиться с вот этой статьей(Eng.). Ещё я там использовал так называемую auto download paggination, иными словами, — это автоматическая подгрузка необходимого контента, когда скроллер div-а приближается к нижней части. Это реализовано только на статьях и картинках: когда их достаточно много, то во время  первоначальной загрузки они не все загружаются, а только часть, потом порциями подгружаются при прокрутке.

Для загрузки картинок и музыки я использовал Uploadify и File Ajax Upload соответственно. Работу с ними я уже описывал раньше.

Работа рельс ничем не отличается от указанных выше статей. Единственное, на что стоит обратить внимание, — обмен между Spine.js и рельсами осуществляется при помощи JSON. Никакой разметки, стилей по сети не гоняется, только данные.

Ну вот и всё, если вкратце. Как обычно, исходники можно найти на Github-e.

Единственное, на что хочу обратить внимание, — это то, что на Heroku, как я думаю, не разрешают хранить картинки и музыку, так что не удивляйтесь битым ссылкам, просто удаляйте и пытайтесь загрузить что-то своё. В общем-то, это и не удивительно на бесплатном аккаунте (-:

Ах, да, забыл сказать, что я не стал убирать из кода команды @log(), что все желающие могли в консоли браузера посмотреть, что и когда выполняется.

Недавние записи

Один комментарий to “Spine.js и Rails”

  1. Иван Says:

    Мужик! Все круто сделал, я бы даже сказал идеально :)

Оставить комментарий