Tại sao Node.js đánh bại Java và .Net trong các ứng dụng IoT, di động và nền tảng web

Ngoc Huynh

Tốc độ, khả năng co giãn (scalability), năng suất, và sự lèo lái của lập trình viên đóng vai trò trong sự lựa chọn Node.js của AnyPresence đối với nền tảng phát triển của công ty.

Hai năm về trước, nhóm phát triển của AnyPresence được giao nhiệm vụ triển khai chương trình tạo API của back-end server dành cho một lượng khách hàng lớn mà không sử dụng Ruby on Rails và thích một lựa chọn trong hệ sinh thái java. Để đáp ứng yêu cầu này, nhóm phát triển của AnyPresence đã bỏ ra nhiều thời gian để triển khai một phiên bản của chương trình tạo trong Play framework của Java. Tuy nhiên, đã mất rất nhiều thời gian triển khai các tính năng để phù hợp với những gì hiện có trong phiên bản Rails, do đó cuối cùng nhóm đã bắt đầu tìm kiếm các framework thay thế.

Cuối cùng việc tìm kiếm đó đã dẫn đến việc chấp nhận Node.js và Sails.js, cả hai là MVC framework dành cho Node.js. Bài báo này sẽ giải thích lý do vì sao lại có những sự lựa chọn này.

1. Java, .Net, hay Node.js?

Là một nền tảng phát triển của công ty dành cho các ứng dụng IoT, di động, và Web, AnyPresence cần một framework phát triển an toàn, có khả năng co giãn, và hỗ trợ tốt và một runtime environment có thể được sử dụng trong quá trình sản xuất đại trà. Java và Microsoft .Net hiển nhiên sẽ là sự lựa chọn tốt nhất. Đối với nền tảng vững chắc của Java, hỗ trợ IDE, các threading capability, các tính năng debug, và một array lớn của các library, thì nó vẫn được coi như là vua trong thế giới lập trình. Nhưng Java cũng có khuyết điểm của riêng mình, trước hết liên quan đến tốc độ phát triển và gánh nặng chi phí kế thừa, nên tạo ra sự hoài nghi khi nó được lựa chọn trong phát triển ứng dụng Web hiện đại, được tổ chức hợp lý.

Microsoft .Net được nhiều sự theo dõi, nhưng khi chọn .Net thì đồng nghĩa với việc sẽ phải chọn một ngôn ngữ .Net đặc trưng như C#. Đối với những thử thách này, AnyPresence đã cân nhắc tới Node.js, được nhiều người theo dõi cùng với số lượng đầy ấn tượng về tài liệu, công cụ, và nhanh chóng được nhiều công ty CNTT lựa chọn.

Node.js ngày càng phổ biến là điều dễ hiểu, khi có nhiều công ty tìm kiếm các các full-stack developer và nhiều lập trình viên tận dụng các bộ kỹ năng hiện có dành cho lập trình back-end server. Node.js cho phép các lập trình viên viết JavaScript trên cả client side và server side. Điều đó có nghĩa là bạn có thể sử dụng các pattern tương tự, và trong một số trường hợp các library giống nhau dành cho cả phát triển back-end và front-end. Đó là một chiến thắng lớn khi đề cập đến hiệu suất của lập trình viên, bảo trì, và thời gian để tiếp thị.

Với các nghiên cứu sâu hơn, nhóm AnyPresence đã kết luận rằng Node.js là lựa chọn tốt nhất về mặt kinh doanh lẫn kỹ thuật. Có 3 lý do chính như sau:

. Node.js là một ngôn ngữ trung lập. Nhìn chung Node.js được chấp nhận và được hiểu bởi cả Java và .Net camps, các lập trình viên thoải mái với cú pháp của JavaScript và có thể triển khai Node.js trên cả cơ sở hạ tầng của Unix và Windows.

. Node.js mang đến tốc độ và mô hình không chặn I/O API. Node.js đã đã được tạo ra do kết hợp lại là điều khó khăn trong nhiều ngôn ngữ lập trình server-side, và thường dẫn tới hiệu suất kém. Node.js mang đến cấu trúc event-driven và mô hình không chặn I/O API mà giúp tối ưu hóa khả năng co giãn và năng suất của ứng dụng. Các lập trình viên viết code đơn giản và Node.js tiếp nhận điều hành. Node.js sử dụng một Event Loop thay vì các tiến trình hoặc threads (đa luồng), để co giãn. Các hàm Callback được định rõ, server tự động nhập Event Loop vào cuối quá trình định rõ hàm Callback. Node.js thoát Event Loop khi không còn có hàm callback nào được thực thi.

. Node.js luôn sẵn sàng để triển khai. Hiện tại nhiều cộng đồng công nghệ thích Node.js bởi vì khả năng co giãn, tính an toàn, và dễ dàng tìm hiểu. Không khó để một lập trình viên chọn JavaScript và có năng suất cao hơn. Hiện tại có rất nhiều công ty nổi tiếng đang sử dụng Node.js như PayPal, LinkedIn, Netflix, và New York Times.

2. Chọn lựa một Node MVC framework

Sau khi AnyPresence quyết định về Node.js, chúng tôi đã đối mặt với câu hỏi liệu nên chọn MVC framework nào. Có năm framework hàng đầu mà bạn nên cân nhắc đó là: Express.js, Meteor.js, Sail.js, Derby, và SocketStream. Cuối cùng, chúng tôi đã chọn Sail.js.

Sails.js có nhiều tính năng cơ bản tuyệt vời, do đó chúng tôi đã tạo được nhiều chức năng mà chúng tôi muốn không cần phải tự đổi mới bất kỳ điều gì. Các tính năng tuyệt vời như sau:

. ORM Waterline
. Một plethora về các database adapter
. Mô hình phát triển nhanh và linh hoạt

Có nhiều yếu tố để xem xét khi tiến hành chọn lựa một nền tảng cho các ứng dụng của công ty hay cho khách hàng. Nếu bạn đang xây dựng các phiên bản tiếp theo của các ứng dụng — đặc biệt là các API cho việc tích hợp di động và Web trong IoT — hay nếu bạn đang tạo ra một ứng dụng mới mà phụ thuộc và các dịch vụ đã được nêu ra ở trên, thì Node.js là hệ thống runtime mà có thể làm việc rất tốt dành cho bạn.

Chia sẻ bài viết ngay

Nguồn bài viết : http://www.infoworld.com/