Здравейте на цялата общност! Казвам се Бруно и съм бил в DesdeLinux като потребител. Време е да направя първите си публикации в тази общност 🙂
Днес ви предлагам ръководство за NodeJS y sails.js
Node.js
Това е среда за програмиране, базирана на езика Javascript с ориентирана към събития архитектура, идеална за асинхронно програмиране. Node, се базира на двигателя V8 на Google.
Той поддържа активна общност с отворен код, която е написала много модули, за да улесни нашето развитие.
Една от тях е socket.io (Позволява на сървъра да изпраща актуализации в реално време на клиента, например проследяване на GPS)
За какво е това?
Node е предназначен за ситуации, в които трафикът е твърде голям, причинявайки логиката и производителността на сървъра, които не са непременно по-високи. И не само това, но в реално време и с голяма мащабируемост!
Защо Node?
1 е с отворен код.
2) Ако някога сте мислили да използвате един език както от страна на сървъра, така и от страна на клиента, ето решението.
3) Мащабируемост и Съвпадение.
4) и т.н.
sails.js
Какво е Sails?
Това е MVC рамка който имитира модела на рубин върху релси (Да, чухте правилно: D) за създаване на малки или големи приложения бързо, лесно и безопасно. по-нататък има поддръжка за съвременните изисквания за приложение. Няма значение коя база данни използвате, Платна осигурява слой абстракция, което прави избора му безразличен. Sails има:
- Способността да твориш RESTful JSON API автоматично.
- Той е включил модула socket.io.
- Генериране на маршрути автоматично за вашите контролери.
- Осигурява система от заверка на потребителите и контрол на достъпа базирани на роли.
- грухтене като Task Runner (Автоматични задачи като минификация, компилация, тестване и т.н.)
- Активи: Всички файлове в съответните им директории (css, js) са обединени в един файл и минимизирани, да се намали значително зареждане на страници и ограничен брой заявки в браузъра.
Инсталиране на Node.Js
sudo apt-get install python-software-properties python g++ make
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs
Платна. Js инсталация
Последна стабилна версия:
sudo npm -g install sails
Създайте скелета на директорията:
sails new testProject
Влизаме в нашия проект:
cd testProject
Стартираме сървъра:
sails lift
Ееееееееее! влязохме http://localhost:1337/
API:
- Шофьори
- Адаптери
- Модели
- Политики
- Услуги
АКТИВИ:
- изображения
- js
- стилове
Favicon
роботи
НАСТРОЙКИ:
- местна
404.js, 500.js ... ..
routes.js
session.js
sockets.js ...... ..
NODE_MODULES:
- ejs (механизъм за шаблони)
- изсумтя
- оптимист
- платна-диск
МНЕНИЯ:
- Начало (тук е основният шаблон, localhost)
- 404.ejs
- 500.ejs
- layout.ejs (За тези, които са използвали релси, Layouts.ejs се държи като отколкото layouts.html. *)
FIN
Досега знанията ми и се надявам да съм бил от помощ на мнозина ... Аз съм нуево в тази технология, така че всяка конструктивна критика е добре дошъл ????
Тази публикация възникна, за да го направя, защото развивам един вид психосоциална мрежа (Нищо от друг свят). С целите на обучението, и малко ресурси. идеята е да се направи и домашен сървър, който го поддържа (Със сигурност направете урок за това) Както казах преди, ресурсите са малко, така че оптимизация Много е важно. (и дори да не бяха твърде ^^)
Учудва ме колко вярно емулира RoR, въпреки че мнозина мразят RoR заради лошото му представяне (без конфигуриране) за почистване на кода, задава тенденция.
Темата е много интересна, надявам се да продължите да я развивате, поздравления.
Не мразя RoR, истината е, че рубиновата философия „има много начини да се направи едно и също нещо“ обикновено е проблем, защото не всички от тях са наистина най-ефективни и когато искате да отговорите на въпрос, в много случаи имате това Малък проблем, при който всеки реагира с различен начин да направи същото и вие сте по-объркани D:
По отношение на тази рамка за Node, тъй като тя не е за огромни или големи неща, Node се използва заедно с други рамки като Django за конкретни неща, мисля, че примерът на Mejorando.la е такъв, те изграждат целия сайт и управляват неговите бази на данни с Django, но проблемите в реално време са оставени на Node, въпреки че не съм сигурен, така че не мога да говоря твърде много за това.
Мисля, че така се казва, те използват Django за основата на сайта и Node за нещата в реално време ... Ами поне това винаги чувам да казва freddy vega
NodeJS не е като Django или PHP или ruby. Но това е сървър като Apache, Nginx и т.н.
Sails е рамката, която използва nodejs и express (друга рамка) заедно с някои модули като socket.io, за създаване на уеб приложения.
Поздрави!
така че ако искате да включите чат, направен с nodejs със страница в python с Django (за да продължите с примера за подобряване.la), ще трябва да използвате рамка или да зададете на apache (ако случаят е такъв, нямам представа кой сървър използвайте python) пътя http://miweb.com ya node.js http://miweb.com/chat и да ги комуникират
Ей това е супер интересно ...
Това, което не завърших, е защо Node JS се използва за мрежата?
Това е алтернатива на Apache, с предимството да бъде в реално време (приложения, които комуникират през цялото време, а не само когато е направена заявката).
NodeJS не е алтернатива (или заместител) на Apache, NGINX или друг уеб сървър. NodeJS е интерпретатор на JavaScript за сървъра, който ви позволява да създавате приложения с този език, които иначе биха изисквали използването на езици като Java, Python, Ruby или PHP.
Да, може би се изразих погрешно. Това, което исках да кажа е, че node.js работи със собствен сървър и не се нуждае от трети страни за работа (apache, nginx, cherokee и т.н.)
Поздрави!
много добре, надявам се повече уроци да могат да следват node.js и да правят нещо в реално време
Тук ви оставям книга от 200 страници, с въведение в Node.js чрез Koans. Той има в Node.js и "разрешаването" на част от проблема (пример е twitter) с Express като рамка на заглавката ...
http://nodejskoans.com/
PS: Платна се правят на базата на Express, обикновено повечето от тях са.
Поздрави!
Отличен принос Бруно .. Добре дошли 😀
Благодаря на вас и на цялата общност, че позволихте да бъдете част от нея it Поздрави!
Много интересно Бруно 🙂
Благодаря ви!
Отлична статия. Благодаря много.
В момента използвам платна в някои от моите проекти. Бих искал да ви попитам къде мога да получа повече информация за ролевия контрол на достъпа на платната, ако е възможно на испански, но ако не, на английски. Бих искал да добавя контрол на достъпа към една от страниците си, но искам да установя разрешения за някои потребители от определен маршрут, а други от друг маршрут. Възможно ли е това с платна? Не мога да намеря много информация за това.
Благодаря и поздравления за статията.
поздравления
Елвира.
Здравей Елвира!
По отношение на това, което споменавате, било то Sailsjs или друга рамка, това, което предлагате, е свързано с моделирането на данните и ограниченията, които системата налага.
Можете да създадете нещо като "групи" (роли) с различни разрешения и да свържете всеки потребител с една от тях.
По-специално в платната те се наричат "политики" и можете да го видите тук: http://sailsjs.org/#/documentation/concepts/Policies
Поздрави и благодаря за вашия коментар!
Благодаря ви много Бруно. С вашите подкани намерих елегантно решение. поздрав