672274_cd11_2

Điểm qua các JavaScript frameworks, libraries và tools

Cùng với sự phát triển như vũ bão của cộng đồng Javascript, chúng ta có cảm giác như mỗi tuần lại có thêm các framework, library Javascript mới được ra mắt. Thật khó có thể để liệt kê hết ra đây các framework, library, tool hiện có trong cộng đồng. Trong khuôn khổ bài viết này, tôi sẽ giới thiệu với các bạn những framework, library cũng như tool nổi tiếng nhất và có ảnh hưởng nhất trong cộng đồng Javasript, cũng như khi nào nên áp dụng các framework, library hay tool đó.

AngularJS

Đầu tiên phải kể đến đó là AngularJS, đã được tôi giới thiệu với các bạn qua nhiều bài viết, đặc biệt là series AngularJS cho người mới bắt đầu. AngularJS là framework phổ biến nhất, được nhiều developer sử dụng để xây dựng phần frontend cho những web application có phần frontend phức tạp. Nó là một opensource được hỗ trợ bởi Google.

AngularJS là một MVC framework. Nó cung cấp two-way data binding giữa model và view. Cách binding dữ liệu như thế này cho phép tự động update ở cả hai phía bất kể khi nào dữ liệu bị thay đổi. Vì thế hỗ trợ các bạn xây dựng các thành phần view có thể tái sử dụng ở nhiều chỗ. Ngoài ra nó cũng cung cấp cho các bạn một services framework để hỗ trợ tối đa giao tiếp giữa backend và frontend.

Khi nào thì nên sử dụng? 

Bất kể khi nào bạn cần xây dựng một web application có phần frontend phức tạp, và cần sử dụng một framework có thể handle tất cả mọi thứ.

ReactJS

Đây có lẽ là thứ tốn giấy mực nhiều nhất trong thời gian gần đây. Tất cả mọi người ai ai cũng nói về ReactJS. Nếu các bạn muốn tìm hiểu về ReactJS, đừng ngần ngại hãy Học ReactJS trong 15 phút nhé. ReactJS là một opensource được phát triển bới Facebook. Bản thân nó là một Javascript library dùng để xây dựng user interface.

React cung cấp một phương thức dễ dàng để xây dựng giao diện thông qua việc phát triển các component và kết hợp chúng lại với nhau. Nó cũng cung cấp một phương thức trừa tượng hoá DOM để tối ưu việc rendering cũng như cho phép có thể render thông qua Node.js. Một điểm nữa đó là nó implement one-way reactive data flow, giúp cho chúng ta có một cái nhìn dễ dàng hơn.

Trong một số trường hợp, người ta thường kết hợp React để làm view layer trong một số MVC framework như Angular, Ember.

Khi nào thì nên sử dụng?

Khi bạn muốn một tầng giao diện mạnh mẽ nhưng không cần framework nào ở tầng frontend hay đơn giản bạn muốn xây dựng một view layer mạnh mẽ hơn thứ có sẵn của các framework đang sử dụng như Angular, Ember hay Backbone. Hoặc khi bạn muốn xây dựng một isomorphic web framework.

BackboneJS

BackboneJS nổi tiếng là một framework đơn giản gói gọn trong một file Javascript. Nó cực kì phổ biến đối với các web application nhỏ.

BackboneJS cung cấp một MVC framework đầy đủ với cả phần routing. Phần model trong BackboneJS cho phép key-value binding, và sử dụng event để handle khi dữ liệu thay đổi. Phần view đảm nhận việc handle các event, và router dùng để handle url cũng như trạng thái trong application. Quá đầy đủ cho bạn để xây dựng một Single Page Application mà không cần phải apply quá nhiều thứ phức tạp.

Khi nào thì nên sử dụng?

Như tôi đã nói, Backbone sẽ là một framework cực kì tốt để đi với những web application đơn giản.

EmberJS

EmberJS là một framework chú trọng vào hiệu quả của developer khi xây dựng web application. Bản thân Ember mô tả nó là một framework không làm lãng phí thời gian của bạn.

Ember là một MVC framework. Nó bao gồm template và view engine, tự động update khi dât thay đổi. Nó mang concept tương tự như Angular, cho phép bạn tạo ra những HTML tag của riêng mình. Ngoài ra nó cũng bao gồm routing để handle url, model engine để làm việc với RESTful API.

Khi nào thì nên sử dụng?

Khi bạn cần một framework có thể hoạt động và không cần phải quá linh hoạt bởi vì bạn bị giới hạn về thời gian.

Meteor

Meteor là một fullstack framework, hay cũng có thể nói là một platform khá nổi tiếng trong thời gian gần đây. Nó hỗ trợ bạn xây dựng một web application hoàn chỉnh từ backend, frontend, đến cả mobile app sử dụng cross platform. Hỗ trợ bạn deploy một cách nhanh chóng bằng nền tảng PaaS của nó. Đặc biệt Meteor hỗ trợ cực kì tốt đối với các real time web application. Hỗ trợ tích hợp tốt với các framework khác như AngularJS hay ReactJS ở frontend.

Khi nào thì nên sử dụng?

Như giới thiệu, khi bạn cần một fullstack framework, hỗ trợ việc deploy. Đặc biệt khi bạn xây dựng những real time web application.

SailJS

SailJS là một web framework phổ biến trong các NodeJS framework. Nó đưa ra một loạt các tính năng tuyệt vời để xây dựng web application với solid structure. Nó hỗ trợ convention over configuration đại loại là bạn đặt code trong folder /view thì nó là view, hỗ trợ websocket built-in, hỗ trợ generate RESTful API, hỗ trợ ORM với waiterline.

Khi nào thì nên sử dụng?

Khi bạn cần một web framework hỗ trợ bạn mọi thứ nhanh nhất ở phía server side sử dụng NodeJS.

jQuery

Đối với jQuery chắc tôi không cần phải nói nhiều. Có lẽ nó chính là Javascript library được sử dụng phổ biến nhất trên thế giới. Hỗ trợ DOM traversal, event handling, animation, ajax, bla bla.

Khi nào thì nên sử dụng?

Luôn luôn.

lodash

lodash là một Javascript library cung cấp các tiện ích dành cho developer để đơn giản hoá code, cũng như code hiệu quả hơn. Chi tiết các bạn có thể tìm hiểu trong bài viết Tăng sức mạnh cho javascript với lodash của blog Tôi đi code dạo.

Khi nào thì nên sử dụng?

Khi bạn cần một library đưa ra các tiện ích giúp việc coding hiệu quả hơn.

Karma & Mocha & Chai

Mocha là một Javascript test framework hỗ trợ việc test các phần async code một cách dễ dàng.

Chai là một behavior-driven/test-driven development assertion library, dùng kết hợp với Mocha để viết test script dễ đọc hơn.

Karma là tool được thiết kế để giúp tự động chạy test trên nhiều browser khác nhau.

Khi nào thì nên sử dụng?

Luôn luôn.

Grunt & Gulp

Khi xây dựng web application, trên môi trường production bạn thường phải minify Javascript, CSS, hay trước đó bạn phải biên dịch CoffeeScript/TypeScript, chạy unit test, bla bla. Đó là lý do vì sao bận cần những task runner như Grunt hay Gulp.

Khi nào thì nên sử dụng?

Khi bạn muốn mọi thứ chỉ thông qua config và task runner sẽ thực hiện dùm cho bạn.

Babel

ES6 hay ECMAScript 2015 ra đời cùng hàng hoạt các tính năng vô cùng tuyệt vời. Tuy nhiên chỉ những version mới nhất của browser mới hỗ trợ được và chúng ta không ở trong một thế giới tuyệt vời đến thế. Vẫn còn rất nhiều browser thế hệ cũ chỉ hỗ trợ được tới ES5. Vì thế chúng ta cần một công cụ để biên dịch ES6 về ES5 giúp web application của chúng ta có thể chạy được trên tất cả các browser.

Khi nào thì nên sử dụng?

Khi bạn muốn sử dụng các tính năng mới của Javascipt và vẫn muốn support các browser thế hệ cũ.

Tóm lại

Tôi vừa giới thiệu với các bạn những framework, library cũng như tool nổi bật nhất, phổ biến nhất trong Javascript mà tôi biết cũng như trường hợp nên sử dụng, có thể tôi sẽ không đề cập tới thứ ưa thích của các bạn trong bài viết này, đừng ngại hãy chia sẻ nó ở phần comment. Hy vọng qua bài viết này các bạn đã có được những cái nhìn sơ bộ về các framework, library hay tool trong cộng đồng Javascript và hiểu được khi nào nên áp dụng chúng.

Hẹn gặp lại trong các bài viết tiếp theo.

Advertisements

One thought on “Điểm qua các JavaScript frameworks, libraries và tools

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s