Giới thiệu về NodeJS + SailsJS

Xin chào toàn thể cộng đồng! Tên tôi là Bruno, và tôi đã từng ở DesdeLinux với tư cách là một người dùng. Đã đến lúc tôi thực hiện những bài viết đầu tiên của mình trong cộng đồng này 🙂

Hôm nay tôi mang đến cho bạn một hướng dẫn về NodeJS y sails.js

Node.js

Nó là một môi trường lập trình, dựa trên ngôn ngữ Javascript với kiến ​​trúc hướng sự kiện, lý tưởng cho lập trình không đồng bộ. Node, dựa trên động cơ V8 của Google.
Nó duy trì một cộng đồng nguồn mở tích cực, những người đã viết nhiều mô-đun để tạo điều kiện cho sự phát triển của chúng tôi.
Một trong số đó là socket.io (Cho phép máy chủ gửi các bản cập nhật theo thời gian thực cho máy khách, ví dụ: theo dõi GPS)

Nó là gì?

Node được thiết kế cho các trường hợp lưu lượng truy cập quá lớn, khiến logic và thông lượng của máy chủ không nhất thiết phải cao hơn. Và không chỉ vậy, mà còn trong thời gian thực và với khả năng mở rộng tuyệt vời!

Tại sao Node?

1 là mã nguồn mở.
2) Nếu bạn từng nghĩ đến việc sử dụng một ngôn ngữ duy nhất trên cả phía máy chủ và máy khách, đây là giải pháp.
3) Khả năng mở rộng và Sự đồng tình.
4) Vv.

sails.js

Tôi đã chọn cánh buồm, vì những đặc điểm sau, ngoài ra theo quan điểm của tôi, nó là thứ dễ đọc nhất về mã. Con mắt! hiện hữu NHIỀU các khuôn khổ cho Node, vì nó là Bày tỏ, có góc cạnh, ham hố, Vv

Ảnh chụp màn hình - 080913 - 13:21:50

Cánh buồm là gì?

Là một Khung MVC bắt chước mô hình của Viên ngọc trên tay vịn (Vâng, bạn đã nghe đúng: D) để tạo ra các ứng dụng nhỏ hoặc lớn một cách nhanh chóng, dễ dàng và an toàn. thêm nữa có hỗ trợ cho các yêu cầu ứng dụng hiện đại. Bạn sử dụng cơ sở dữ liệu nào không quan trọng, Sails cung cấp một lớp trừu tượng, khiến cho việc lựa chọn nó trở nên thờ ơ. Cánh buồm có:

- Khả năng tạo API JSON đầy đủ tự động.
- Nó kết hợp mô-đun ổ cắm.io.
- Tạo các tuyến đường tự động cho bộ điều khiển của bạn.
- Cung cấp hệ thống xác thực người dùng và kiểm soát truy cập dựa trên vai trò.
Tiếng càu nhàu như Task Runner (Các tác vụ tự động như thu nhỏ, biên dịch, kiểm tra, v.v.)
- Nội dung: Tất cả các tệp trong thư mục tương ứng của chúng (css, js) là hợp nhất trong một tệp duy nhất và được rút gọn, giảm đáng kể tải trang và số lượng yêu cầu trình duyệt giới hạn.

Cài đặt Node.Js

Turorial tôi đã làm với 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

Cài đặt Sails.Js

Phiên bản ổn định mới nhất:
sudo npm -g install sails

Tại thời điểm này mà không có lỗi, chúng tôi tạo một dự án mới! 😀

Tạo khung thư mục:
sails new testProject

Chúng tôi nhập Dự án của chúng tôi:
cd testProject

Chúng tôi khởi động máy chủ:
sails lift

Yeeeeeeeeeeah! chúng tôi nhập http://localhost:1337/

Ảnh chụp màn hình - 080913 - 13:02:34

Cấu trúc của thư mục của chúng ta sẽ giống như sau:
Ảnh chụp màn hình - 080913 - 13:07:57

API:
- Người lái xe
- Bộ điều hợp
- Mô hình
- Chính sách
- Dịch vụ

TÀI SẢN:
- hình ảnh
- js
- phong cách
favicon
robot

CẤU HÌNH:
- địa phương
404.js, 500.js… ..
route.js
phiên.js
sockets.js …… ..

NODE_MODULES:
- ejs (công cụ mẫu)
- tiếng càu nhàu
- người lạc quan
- buồm-đĩa

LƯỢT XEM:
- Trang chủ (đây là mẫu gốc, localhost)
- 404.ejs
- 500.ejs
- layout.ejs (Đối với những người đã sử dụng rails, hành vi của layouts.ejs bình thường hơn layouts.html. *)

EJS (Embedded Javascript) Nó là một công cụ mẫu, nhưng không phải là công cụ duy nhất. Tôi đặc biệt thích JADE hơn

FIN

Cho đến nay kiến ​​thức của tôi và tôi hy vọng tôi đã giúp được nhiều người ... tôi mới trong công nghệ này, vì vậy mọi lời chỉ trích mang tính xây dựng đều chào mừng ????

Bài đăng này được thực hiện, bởi vì tôi đang phát triển một loại mạng tâm lý xã hội (Không có gì từ thế giới khác). Với mục đích học tậpvà ít tài nguyên. ý tưởng là cũng tạo ra một máy chủ gia đình hỗ trợ nó (Chắc chắn làm một hướng dẫn về nó) Như tôi đã nói trước đây, tài nguyên rất ít, vì vậy tối ưu hóa Nó rất quan trọng. (và ngay cả khi họ không quá ^^)


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   Arthur Shelby dijo

    Tôi ngạc nhiên về mức độ trung thực của nó mô phỏng RoR, mặc dù RoR bị nhiều người ghét vì hiệu suất kém (không cần cấu hình) làm sạch mã thiết lập xu hướng.

    Đề tài rất thú vị, mong các bạn tiếp tục phát huy, chúc mừng các bạn.

    1.    nano dijo

      Tôi không ghét RoR, sự thật là triết lý "có nhiều cách để làm điều tương tự" của ruby ​​thường là một vấn đề vì không phải tất cả chúng đều thực sự hiệu quả nhất và khi bạn muốn trả lời một câu hỏi, trong số đó có rất nhiều cách. trường hợp bạn gặp phải Vấn đề nhỏ đó, trong đó mọi người phản ứng với một cách khác nhau để làm giống nhau và bạn có xu hướng bối rối hơn D:

      Về khung công tác này cho Node, vì nó không dành cho những thứ lớn hoặc lớn, Node được sử dụng cùng với các khung khác như Django cho những thứ cụ thể, tôi nghĩ ví dụ về Mejorando.la là như thế này, họ xây dựng toàn bộ trang web và quản lý nó. cơ sở dữ liệu với Django nhưng các vấn đề thời gian thực được để cho Node, mặc dù tôi không chắc nên tôi không thể nói quá nhiều về điều đó.

      1.    jamin samuel dijo

        Tôi nghĩ đó là cách bạn nói, họ sử dụng Django cho cơ sở của trang web và Node cho mọi thứ trong thời gian thực ... Chà ít nhất đó là điều tôi luôn nghe freddy vega nói

        1.    Bruno cascio dijo

          NodeJS không giống như Django hay PHP, hay ruby. Nhưng nó là một máy chủ như Apache, Nginx, v.v.

          Sails là khuôn khổ sử dụng nodejs và express (một khuôn khổ khác) cùng với một số mô-đun như socket.io, để tạo các ứng dụng web.

          Chúc mừng!

          1.    Arnoldo RLF dijo

            vì vậy nếu bạn muốn bao gồm một cuộc trò chuyện được thực hiện bằng nodejs với một trang trong python với Django (để tiếp tục với ví dụ về cải thiện.la), bạn sẽ phải sử dụng khung hoặc gán cho apache (nếu đúng như vậy, tôi không biết máy chủ nào sử dụng python) đường dẫn http://miweb.com ya node.js http://miweb.com/chat và giao tiếp với họ

  2.   jamin samuel dijo

    Này, thật thú vị….

    Điều tôi chưa hoàn thành là tại sao Node JS lại được sử dụng cho web?

    1.    Arnoldo RLF dijo

      nó là một giải pháp thay thế cho apache, với ưu điểm là chạy trong thời gian thực (các ứng dụng liên lạc mọi lúc và không chỉ khi có yêu cầu).

      1.    David gomez dijo

        NodeJS không phải là một giải pháp thay thế (hoặc thay thế) cho Apache, NGINX hoặc bất kỳ máy chủ web nào khác. NodeJS là một trình thông dịch JavaScript cho máy chủ, cho phép bạn tạo các ứng dụng bằng ngôn ngữ này mà nếu không sẽ yêu cầu sử dụng các ngôn ngữ như Java, Python, Ruby hoặc PHP.

        1.    Bruno cascio dijo

          Vâng, có lẽ tôi đã thể hiện mình sai. Những gì tôi muốn truyền đạt là node.js chạy máy chủ của riêng nó và không cần bên thứ 3 hoạt động (apache, nginx, cherokee, v.v.)

          Chúc mừng!

  3.   Arnoldo RLF dijo

    rất tốt, tôi hy vọng có nhiều hướng dẫn hơn để có thể theo dõi node.js và làm điều gì đó trong thời gian thực

    1.    Bruno cascio dijo

      Ở đây tôi để lại cho bạn một cuốn sách 200 trang, với phần giới thiệu về Node.js thông qua Koans. Nó có liên quan đến Node.js và "giải quyết" một phần của vấn đề được đặt ra (ví dụ là twitter) với Express làm khung tiêu đề… ..

      http://nodejskoans.com/

      Tái bút: Sails được thực hiện trên cơ sở Express, thường là hầu hết chúng.

      Chúc mừng!

  4.   sống động dijo

    Đóng góp xuất sắc Bruno .. Chào mừng 😀

    1.    Bruno cascio dijo

      Cảm ơn bạn và toàn bộ cộng đồng đã tham gia 🙂 Xin chào!

  5.   auroszx dijo

    Bruno rất thú vị 🙂

    1.    Bruno cascio dijo

      Cảm ơn bạn!

  6.   Người phụ nữ bọt biển dijo

    Bài báo xuất sắc. Cảm ơn rất nhiều.

    Tôi hiện đang sử dụng buồm trong một số dự án của mình. Tôi muốn hỏi bạn nơi tôi có thể lấy thêm thông tin về kiểm soát truy cập dựa trên vai trò của buồm, nếu có thể bằng tiếng Tây Ban Nha, nhưng nếu không, bằng tiếng Anh. Tôi muốn thêm quyền kiểm soát truy cập vào một trong các trang của mình nhưng tôi muốn thiết lập quyền cho một số người dùng từ một tuyến đường nhất định và những người khác từ một tuyến đường khác. Điều đó có thể với những cánh buồm? Tôi không thể tìm thấy nhiều thông tin về nó.

    Cảm ơn và chúc mừng cho bài viết.

    lời chúc mừng
    Elvira.

    1.    Bruno cascio dijo

      Xin chào Elvira!

      Về những gì bạn đề cập, có thể là Sailsjs hoặc bất kỳ khuôn khổ nào khác, những gì bạn đề xuất có liên quan đến việc mô hình hóa dữ liệu và các hạn chế mà hệ thống áp đặt.

      Bạn có thể tạo một cái gì đó như "nhóm" (vai trò) với các quyền khác nhau và liên kết từng người dùng với một trong số họ.

      Riêng trong cánh buồm, chúng được gọi là "chính sách" và bạn có thể xem tại đây: http://sailsjs.org/#/documentation/concepts/Policies

      Xin chào và cảm ơn cho bình luận của bạn!

      1.    Người phụ nữ bọt biển dijo

        Cảm ơn Bruno rất nhiều. Với lời nhắc của bạn, tôi đã tìm thấy một giải pháp thanh lịch. Một lời chào