Các framework NodeJS phổ biến

// Xem thêm NodeJS là gì?

Sự xuất hiện của NodeJS như một làn gió mới lạ cho cộng đồng phát triển web. Javascript trước kia chỉ được sử dụng ở front-end thì nay đã có thể đảm nhiệm công việc ở back-end như những ngôn ngữ lập trình back-end khác: PHP, Ruby, Python,…

Ngày nay Node.js cung cấp một trong những giải pháp tiên tiến nhất để xây dựng các ứng dụng web / di động. Phạm vi sử dụng của nó đang được gia tăng nhanh chóng với sự đóng góp tích cực từ cộng đồng phát triển và các công ty công nghệ khổng lồ khác. Các framework đã mở rộng các chức năng của Node.js đến một mức độ đáng kể và cũng đã xây dựng các tính năng mới hơn, tiện ích, dễ sử dụng và thông minh hơn.

framework nodejs

1. Hapi.js

Hapi.js là một framework Node.js mạnh mẽ để xây dựng các giao diện lập trình ứng dụng (API) và các ứng dụng phần mềm khác. Framework này có một hệ thống plugin mạnh mẽ và nhiều tính năng, bao gồm validate dữ liệu đầu vào, chức năng dựa trên cấu hình, thực hiện bộ nhớ đệm, xử lý lỗi, đăng nhập và nhiều hơn nữa. Hapi.js được sử dụng để thiết kế các ứng dụng hữu ích, chẳng hạn như Postmile, một công cụ tạo danh sách hợp tác. Bên cạnh đó, nó được sử dụng để cung cấp các giải pháp công nghệ của một số trang web có quy mô lớn, như Disney, Concrete, PayPal, Walmart và nhiều hơn nữa.

2. Socket.io

Socket.io là một framework của Node.js cho phép xây dựng các ứng dụng web chạy thời gian thực(realtime). Là thư viện Javascript, nó cho phép giao tiếp theo hai hướng giữa client và server. Socket.io hoạt động như một thư viện phía client đang chạy trong trình duyệt và như là một thư viện phía server cho node.js. Framework cho phép thực hiện đồng thời thời gian thực cho việc cộng tác và trao đổi dữ liệu. Hơn nữa, các tính năng chính của nó bao gồm xử lý I / O không đồng bộ, luồng nhị phân, nhắn tin tức thời và hơn thế nữa.

3. Express.js

Express.js là một trong những framework quan trọng nhất của Node.js. Đây là một framework tối giản để xây dựng một loạt các ứng dụng web và di động cũng như các giao diện lập trình ứng dụng (API). Rất nhiều ứng dụng phổ biến và các trang web như MySpace, Geekli.st, Klout, Segment.io và Yummly được xây dựng bởi Express.js. Express.js cung cấp các tính năng khác nhau, như đơn giản hóa nhiều định tuyến, tích hợp cơ sở dữ liệu và …

Đây là NodeJS framework được sử dụng nhiều nhất vì sự đơn giản của nó. ExpressJS thích hợp để xây dựng một RESTful API service.

Vì sự tối giản hoá cấu trúc project, nên bạn sẽ phải tự cấu hình mọi thứ: Database, MVC model, template engine,… Tuy có vẻ hơi khó khăn với người mới bắt đầu nhưng nó thực sự hữu ích để bạn có thể hiểu được cách thức hoạt động của một framework, từ đó dễ dàng chuyển sang những framework cấp cao hơn.

4. Mojito

Mojito là một framewrok JavaScript dựa trên Yahoo! Cocktails, một nền tảng phát triển ứng dụng di động được giới thiệu bởi Yahoo! Developer Network. JavaScript là ngôn ngữ lập trình duy nhất được sử dụng cho Yahoo! Cocktails Platform. Vì, các thành phần client và server được viết bằng JavaScript, Mojito có thể chạy trên cả client (trình duyệt) và server (Node.js).

5. Meteor

Meteor là một framework mã nguồn mở xây dựng các trang web và các ứng dụng di động. Framework này hỗ trợ được các hệ điều hành OS X, Windows và Linux. Nó cho phép viết cả phần client và server của một ứng dụng trong JavaScript. Các bộ mô-đun đã được viết sẵn của Meteor giúp cho viết code của ứng dụng trở nên dễ và nhanh hơn. Hơn nữa, mô hình lập trình của nó cho phép viết JavaScript ít hơn. Bên cạnh đó, Meteor là một framework mạnh mẽ để xây dựng các ứng dụng realtime. Các ứng dụng phổ biến được xây dựng bằng Meteor là Respondly (một ứng dụng cộng tác cho nhóm), Blonk (Ứng dụng tìm kiếm trên điện thoại di động) và …

Meteor là một fullstack realtime Javascript framework, tức là tất cả những gì bạn cần để xây dựng một ứng dụng.

Bạn sẽ chẳng cần phải cài đặt thêm bất cứ thứ gì ngoài những Meteor package cung cấp những chức năng mà bạn muốn thêm vào ứng dụng của mình.

Lấy một vài ví dụ:

Việc quản lý user, bạn sẽ phải khai báo một model user, kèm theo các tính năng login, logout, quên mật khẩu, xác thực email,… Với Meteor, bạn chỉ cần gõ lệnh để cài đặt Meteor package account-password là bạn đã có ngay những chức năng này.

Hay như việc setup database, ở đây lấy MongoDB làm ví dụ. Bạn sẽ phải tải và cài đặt MongoDB trên máy tính, sử dụng một module tương tác với database như mongoose, rồi khai báo model,… Với Meteor, bạn chẳng phải làm gì cả, vì nó đã tích hợp sẵn MongoDB và những tác vụ tương tác.

Một điểm mạnh nữa của Meteor là nó có thể dùng để phát triển hybrid mobile app.

6. Derby

Framework Derby MVC giúp bạn viết các ứng dụng realtime, chạy trên cả Node.js và các trình duyệt.
Derby bao gồm công cụ đồng bộ dữ liệu mạnh mẽ được gọi là Racer tự động đồng bộ dữ liệu giữa trình duyệt, server và cơ sở dữ liệu. Mô hình đăng ký những thay đổi đối với các đối tượng cụ thể, cho phép kiểm soát chi tiết việc truyền dữ liệu mà không xác định các channel. Racer hỗ trợ sử dụng ngoại tuyến và giải quyết xung đột, làm đơn giản hóa việc viết các ứng dụng đa người dùng.

7. Mean.js

Mean.js là một framework JavaScript khá là nổi tiếng, đầy đủ để cho phép xây dựng các ứng dụng web sử dụng cơ sở dữ liệu NoSQL là MongoDB cũng như Angular.js cho front-end và Express.js / Node.js cho phần phụ trợ (server). Nó cũng thúc đẩy công cụ Grunt để cho phép kiểm tra tự động. Mean.js và Mean.io đều được xem là một phần của stack Mean. Mean nghĩa là MongoDB, Express.js, Angular.js và Node.js.

MEAN = MongoDB + ExpressJS + AngularJS + NodeJS

MEAN xây dựng sẵn cho bạn mọi thứ để phát triển một single page application (SPA). Đây cũng là một framework “built on top” của ExpressJS.

Với AngularJS ở front-end, code Javascript của bạn sẽ được cấu trúc một cách khoa học, và lượng code bạn phải viết sẽ ít hơn khoảng 80% so với việc dùng jQuery bình thường.

8. Sails.js

Sails.js là một trong những framework realtime phổ biến nhất để xây dựng các ứng dụng Node.js. Sails.js
sử dụng mô hình MVC làm kiến trúc. Nó sử dụng Waterline để lập bản đồ quan hệ đối tượng và cung cấp các giải pháp cơ sở dữ liệu. Sails.js được xây dựng trên Node.js và sử dụng Express.js để xử lý request HTTP. Nó lý tưởng cho việc tạo các ứng dụng dựa trên trình duyệt vì nó tương thích với tất cả các mô-đun của Grunt, bao gồm LESS, SASS, Stylus, CoffeeScript, Jade, Dust, và nhiều hơn nữa. Sails.js hỗ trợ bất kỳ cách tiếp cận endpoint nào, chẳng hạn như Angular, Backbone, iOS / ObjC, Android / Java hoặc bất kỳ thứ gì khác.

Xây dựng bên trên ExpressJS, SailsJS tận dụng được những điểm mạnh của framework này, đồng thời tích hợp thêm khá nhiều thứ hay ho khác như:

  • Socket.io giúp đồng bộ realtime dữ liệu giữa client và server, đây cũng là điểm mạnh được đội ngũ phát triển SailsJS quảng bá nhiều nhất.
  • ORM Waterline giúp bạn khai báo và quản lý database tốt hơn, đồng thời có thể chuyển qua lại giữa những loại database khác nhau: MySQL, MongoDB,…
  • MVC model: Nếu dùng ExpressJS, bạn phải tự config để có được một cấu trúc source theo mô hình này, thì với SailsJS, nó đã được tích hợp sẵn.

Tham khảo: anythingjs.com; viblo.asia

Leave a Reply

Your email address will not be published. Required fields are marked *