Въведение в NodeJS + SailsJS

Здравейте на цялата общност! Казвам се Бруно и съм бил в DesdeLinux като потребител. Време е да направя първите си публикации в тази общност 🙂

Днес ви предлагам ръководство за NodeJS y sails.js

Node.js

Това е среда за програмиране, базирана на езика Javascript с ориентирана към събития архитектура, идеална за асинхронно програмиране. Node, се базира на двигателя V8 на Google.
Той поддържа активна общност с отворен код, която е написала много модули, за да улесни нашето развитие.
Една от тях е socket.io (Позволява на сървъра да изпраща актуализации в реално време на клиента, например проследяване на GPS)

За какво е това?

Node е предназначен за ситуации, в които трафикът е твърде голям, причинявайки логиката и производителността на сървъра, които не са непременно по-високи. И не само това, но в реално време и с голяма мащабируемост!

Защо Node?

1 е с отворен код.
2) Ако някога сте мислили да използвате един език както от страна на сървъра, така и от страна на клиента, ето решението.
3) Мащабируемост и Съвпадение.
4) и т.н.

sails.js

Избрах платна, поради следните характеристики, както и като най-четлив от гледна точка на кода от моя гледна точка. Око! съществуват МНОГО рамки за Node, какъвто е Експресен, ъглов, ГедиИ др

Снимка на екрана - 080913 - 13:21:50

Какво е Sails?

Това е MVC рамка който имитира модела на рубин върху релси (Да, чухте правилно: D) за създаване на малки или големи приложения бързо, лесно и безопасно. по-нататък има поддръжка за съвременните изисквания за приложение. Няма значение коя база данни използвате, Платна осигурява слой абстракция, което прави избора му безразличен. Sails има:

- Способността да твориш RESTful JSON API автоматично.
- Той е включил модула socket.io.
- Генериране на маршрути автоматично за вашите контролери.
- Осигурява система от заверка на потребителите и контрол на достъпа базирани на роли.
- грухтене като Task Runner (Автоматични задачи като минификация, компилация, тестване и т.н.)
- Активи: Всички файлове в съответните им директории (css, js) са обединени в един файл и минимизирани, да се намали значително зареждане на страници и ограничен брой заявки в браузъра.

Инсталиране на Node.Js

Турориалът, с който направих Ubuntu 13.04.

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/

Снимка на екрана - 080913 - 13:02:34

Структурата на нашата директория трябва да изглежда така:
Снимка на екрана - 080913 - 13:07:57

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. *)

EJS (вграден Javascript) Това е механизъм за шаблони, но не единствен. Особено ми харесва JADE по-добре

FIN

Досега знанията ми и се надявам да съм бил от помощ на мнозина ... Аз съм нуево в тази технология, така че всяка конструктивна критика е добре дошъл ????

Тази публикация възникна, за да го направя, защото развивам един вид психосоциална мрежа (Нищо от друг свят). С целите на обучението, и малко ресурси. идеята е да се направи и домашен сървър, който го поддържа (Със сигурност направете урок за това) Както казах преди, ресурсите са малко, така че оптимизация Много е важно. (и дори да не бяха твърде ^^)


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

  1.   Артър Шелби каза той

    Учудва ме колко вярно емулира RoR, въпреки че мнозина мразят RoR заради лошото му представяне (без конфигуриране) за почистване на кода, задава тенденция.

    Темата е много интересна, надявам се да продължите да я развивате, поздравления.

    1.    Нано каза той

      Не мразя RoR, истината е, че рубиновата философия „има много начини да се направи едно и също нещо“ обикновено е проблем, защото не всички от тях са наистина най-ефективни и когато искате да отговорите на въпрос, в много случаи имате това Малък проблем, при който всеки реагира с различен начин да направи същото и вие сте по-объркани D:

      По отношение на тази рамка за Node, тъй като тя не е за огромни или големи неща, Node се използва заедно с други рамки като Django за конкретни неща, мисля, че примерът на Mejorando.la е такъв, те изграждат целия сайт и управляват неговите бази на данни с Django, но проблемите в реално време са оставени на Node, въпреки че не съм сигурен, така че не мога да говоря твърде много за това.

      1.    джамин-самуел каза той

        Мисля, че така се казва, те използват Django за основата на сайта и Node за нещата в реално време ... Ами поне това винаги чувам да казва freddy vega

        1.    Бруно Касио каза той

          NodeJS не е като Django или PHP или ruby. Но това е сървър като Apache, Nginx и т.н.

          Sails е рамката, която използва nodejs и express (друга рамка) заедно с някои модули като socket.io, за създаване на уеб приложения.

          Поздрави!

          1.    Арнолдо RLF каза той

            така че ако искате да включите чат, направен с nodejs със страница в python с Django (за да продължите с примера за подобряване.la), ще трябва да използвате рамка или да зададете на apache (ако случаят е такъв, нямам представа кой сървър използвайте python) пътя http://miweb.com ya node.js http://miweb.com/chat и да ги комуникират

  2.   джамин-самуел каза той

    Ей това е супер интересно ...

    Това, което не завърших, е защо Node JS се използва за мрежата?

    1.    Арнолдо RLF каза той

      Това е алтернатива на Apache, с предимството да бъде в реално време (приложения, които комуникират през цялото време, а не само когато е направена заявката).

      1.    Дейвид Гомес каза той

        NodeJS не е алтернатива (или заместител) на Apache, NGINX или друг уеб сървър. NodeJS е интерпретатор на JavaScript за сървъра, който ви позволява да създавате приложения с този език, които иначе биха изисквали използването на езици като Java, Python, Ruby или PHP.

        1.    Бруно Касио каза той

          Да, може би се изразих погрешно. Това, което исках да кажа е, че node.js работи със собствен сървър и не се нуждае от трети страни за работа (apache, nginx, cherokee и т.н.)

          Поздрави!

  3.   Арнолдо RLF каза той

    много добре, надявам се повече уроци да могат да следват node.js и да правят нещо в реално време

    1.    Бруно Касио каза той

      Тук ви оставям книга от 200 страници, с въведение в Node.js чрез Koans. Той има в Node.js и "разрешаването" на част от проблема (пример е twitter) с Express като рамка на заглавката ...

      http://nodejskoans.com/

      PS: Платна се правят на базата на Express, обикновено повечето от тях са.

      Поздрави!

  4.   елав каза той

    Отличен принос Бруно .. Добре дошли 😀

    1.    Бруно Касио каза той

      Благодаря на вас и на цялата общност, че позволихте да бъдете част от нея it Поздрави!

  5.   auroszx каза той

    Много интересно Бруно 🙂

    1.    Бруно Касио каза той

      Благодаря ви!

  6.   Жената гъба каза той

    Отлична статия. Благодаря много.

    В момента използвам платна в някои от моите проекти. Бих искал да ви попитам къде мога да получа повече информация за ролевия контрол на достъпа на платната, ако е възможно на испански, но ако не, на английски. Бих искал да добавя контрол на достъпа към една от страниците си, но искам да установя разрешения за някои потребители от определен маршрут, а други от друг маршрут. Възможно ли е това с платна? Не мога да намеря много информация за това.

    Благодаря и поздравления за статията.

    поздравления
    Елвира.

    1.    Бруно Касио каза той

      Здравей Елвира!

      По отношение на това, което споменавате, било то Sailsjs или друга рамка, това, което предлагате, е свързано с моделирането на данните и ограниченията, които системата налага.

      Можете да създадете нещо като "групи" (роли) с различни разрешения и да свържете всеки потребител с една от тях.

      По-специално в платната те се наричат ​​"политики" и можете да го видите тук: http://sailsjs.org/#/documentation/concepts/Policies

      Поздрави и благодаря за вашия коментар!

      1.    Жената гъба каза той

        Благодаря ви много Бруно. С вашите подкани намерих елегантно решение. поздрав