Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Клон Ruby on Rails на NodeJS / 3 сообщений из 3, страница 1 из 1
11.01.2014, 09:19
    #38522787
private
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клон Ruby on Rails на NodeJS
Часто можно слышать что на ноде писать сложно, там сложный асинхронный код и коллбеки. И что из-за этих сложностей ее нет особо смысла использовать для обычных сайтов/приложений если только не нужен риалтайм или очень высокая производительность.

Ниже показаны пара примеров как можно работать с нодой без жутких каллбеков - использовать обычный простой синхронный код (и при этом не блокировать ее и сохранить такую-же производительность как у асинхронного кода).

Вот клон Ruby on Rails на NodeJS http://monojs.org oн восновном завершен и используется в некоторых проектах, но еще не полированный и без документации, есть только пара примеров.

Примеры :

- Классический блог на RoR http://example.monojs.org (admin/admin)
- Простая CMS
Блог http://jslang.gitsites.com
Редактирование http://jslang.gitsites.com/edit
(Нужно зарегистрироваться здесь http://gitsites.com чтобы можно было редактировать)

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

Чем похож на Ruby on Rails

- По ощущениям от разработки все очень блмзко к RoR. Использует такой-же же API, именования и соглашения.
- Простой синхронный код, никакого сложного асинхронного кода обычного для ноды (за счет использования файберов).
- Более надежная и простая обраотка ошибок (за счет использования файберов).
- Полная поддержка стандартных подходов RoR для Web2.0 AJAX - remote link, JS response,
JS-hepres , Turbolinks, ...
- Такие-же контроллеры с калбеками.
- RESTful маршруты, включая вложенные.
- AssetPipeline (на базе Browserify, поддерживает CoffeeScript, клиентские шаблоны, minifying и т.д.)
- Автозагрузка и перезагрузка кода.
- Автораспознование формата запроса и использование подходящего шаблона (JS/HTML/...) и ContentType в ответе.
- Полная поддержка CoffeeScript, для серверного кода, серверные шаблоны, клиентский код, клиентские шаблоны (Backbone.js например). Все будет автоматически собрано конвертированно в JS и упаковано для браузера.
- Тесты/спецификации аналогичные RoR RSpec

Что отличается от Ruby on Rails

- Модульная структура (включая внутренние компоненты) - можно создавать множество серверов/приложений и комбинировать их в одно. Облегчает создание приложения как набор модулей.
- Нет ограничений на структуру проекта, вы можете использовать любую структуру как RoR или любую другую
на ваше подобие.
- Доступны все стандартные фичи и API ноды, полная совместимость с обычными асинхронными библиотеками ноды,
при желании можно комбинировать синхронный и асинхронный код - он полностью совместим.

В двух словах - эта штука помогакт очень значительно упростить и ускорить разработку на ноде.
...
Рейтинг: 0 / 0
13.01.2014, 15:39
    #38524541
Dmitry Eliseev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клон Ruby on Rails на NodeJS
А он умеет как мохито распределять нагрузку между клиентом и сервером? использовать одни и те же модули на клиенте и сервере ?
...
Рейтинг: 0 / 0
13.01.2014, 18:33
    #38524890
private
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клон Ruby on Rails на NodeJS
Нет. Это клон рельсов и задачи решает такие-же, то что делает мохито - достаточно редкая и специфичная задача.

Одна из вещей которые он делает - вам боьше не прийдется писать коллбеки и закрученный асинхронный код.

например в коде ниже (кофескрипт, можно также писать на жаваскрипте) 3 асинхронных вызова (помечены звездочкой). Но они выглядят как простые синхронные. Если переписать этот пример на чистой ноде кода будет в полтора раза больше.

Код: javascript
1.
2.
3.
4.
5.
6.
7.
    verifyOpenId: ->
*     email = administration.openid.verify @request
*     unless user = app.User.first(id: email)
        user = new app.User(id: email)
*       user.create()
      @session.userId = email
      @redirectTo _(@session).delete('returnTo') || administration.userSitesPath(user)
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Клон Ruby on Rails на NodeJS / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]