Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Правильно ли я понимаю смысл nodejs... #3

Open
ManginAlexander opened this issue Dec 2, 2012 · 1 comment

Comments

@ManginAlexander
Copy link

  1. Не нужно учить несколько языков для написания клиентской и серверной части/
  2. Общий код на серверной и клиентской части, т.е. например класс Event я смогу заюзать там и там?

Но тут возникают проблемки...
Если я свой клиентский код "заражаю" использованием браузерных библиотек (jquery и т. д.). То я не смогу их использовать на сервере.

Т.е. от сюда идет третий пункт:
3) Нужно стараться разделять приложение на: ядро - код которы будет использоваться как на сервере, так и на клиенте, серверная часть и клиентская?

От куда такие вопросы?
Я использовал в классе Model и в классе Event, некоторые функции jquery:

  1. $.browser
  2. $.isNumeric
    В итоге у меня не получилось без болезненно подключить Event и model
@azproduction
Copy link
Member

NodeJS = Evented I/O + JavaScript

Не нужно учить несколько языков

Да.

Общий код

Отчасти. На самом деле редко встречается. Все-таки среды выполнения у них разные, а от среды многое зависит.

Нужно стараться разделять приложение

Есть 2 подхода. 1) Стараются максимально реиспользовать код через различные слои абстракции 2) Пишут разный код

Ну вот либо ты пишешь разные код либо добавляешь какую-нибудь абстракцию. + es6-shim es5-shim и пишешь код, который не использует среду javascript и общается со средой через общую прослойку.

function httpGet(src, cb) {
    $.get(src, cb);
}

//--

function httpGet(src, cb) {
    require('http').get(src, cb);
}

$.browser - на этот объект плохо опираться. "Долго объяснять - используй лучше Modernizer".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants