JavaScript và những khái niệm cần nắm vững - Phần 3

25 tháng 5, 2021 By DEVERA ACADEMY

bài viết trước, chúng ta được tìm hiểu về tính đơn luồng và xử lý bất đồng bộ của ngôn ngữ lập trình JavaScript để hiểu được vì sao JavaScript lại là yếu tố quan trọng của lĩnh vực web development. Tiếp tục series này, chúng ta hãy cùng tìm hiểu các khái niệm và cả ứng dụng của thư viện và framework trong JavaScript.

JavaScrip Framework

JavaScrip Framework là một bộ bao gồm các công cụ và thư viện dành cho Vanila JavaScript (Java Script thuần túy) giúp các developer xây dựng các trang web một cách nhanh hơn, dễ dàng hơn những vẫn giữ được sự thu hút và linh động. Bạn hoàn toàn có thể nắm được cách tạo một trang web, các thành phần logic cốt lõi và cả làm nó trở nên hấp dẫn hơn bằng JavaScript Framework ngay cả khi chỉ mới là beginner. 

Nhưng, nếu bạn muốn phát triển một trang web toàn diện với các chức năng phức tạp và đem lại một sự cuốn hút riêng thì trước tiên, bạn nên nắm thật vững những kiến thức cơ bản nhất của Vanila JavaScript. Hiểu được Vanila JavaScript chính là bước đệm quan trọng giúp bạn dễ dàng làm chủ được các JavaScript Framework.

JavaScript Framework được sử dụng phổ biến hiện tại

React, Angular và Vue Js chính là những Framework được sử dụng phổ biến nhất. Chúng ta cùng tìm hiểu sơ lược phía dưới nhé!

React

Là JavaScript Framework phổ biến nhất được sáng tạo bởi kỹ thuật viên của Facebook Inc - Jordan Walke, React ra mắt thế giới công nghệ như là một dự án của Facebook Inc. Không chỉ có Jordan Walke, React sở hữu cho mình một đội ngũ phát triển cực kỳ tâm huyết, cùng nhau xây dựng và duy trì trong suốt quá trình biến đổi của công nghệ. 

React cho phép developer tạo ra một ứng dụng web lớn mà không cần reload lại toàn bộ trang khi dữ liệu có sự thay đổi. Mục đích chính của Framework này là đem lại những ứng dụng web nhanh, đáng tin cậy và dễ dàng mở rộng.

Thực ra, React không phải là Framework, nó là một Thư viện nhưng lại được biết đến rộng rãi dưới danh nghĩa một Framework. Chính vì React giúp đỡ các developer xây dựng ứng dụng web như là một Framework thực thụ vậy! Nhưng hãy nhớ React là một Thư viện.

Angular

“Angular is a platform and framework for building single-page client applications using HTML and TypeScript. Angular is written in TypeScript. It implements core and optional functionality as a set of TypeScript libraries that you import into your apps.” — định nghĩa chính thức của Angular 

Angular là một nền tảng và framework giúp xây dựng một ứng dụng single-page bằng HTML và TypeScript. Được viết bằng ngôn ngữ TypeScript, Angular triển khai các chức năng của TypeScript như một bộ các thư viện để bạn có thể import vào ứng dụng.

Vue JS

Vue JS là framework phù hợp với beginner để bắt đầu hiểu về logic và những thành phần của một Framework. So với các JavaScript Framework khác Vue JS có phần dễ hơn.

Có rất nhiều JavaScript Framework ngoài 3 Framework kể trên, tuy không quá phổ biến nhưng chúng vẫn được sử dụng cho một vài mục đích khác nhau.


Thư viện JavaScript

Thư viện JavaScript là những đoạn code được định nghĩa sẵn cho một chức năng nào đó. Chúng ta có thể áp dụng các thư viện JavaScript để hoàn tất nhanh một vài tác vụ trong chương trình.

Cùng nhìn qua một vài ví dụ.

  • Bạn đang cần “validate” một địa chỉ e-mail, chúng ta sẽ có Thư viện định nghĩa sẵn là email-validator để sử dụng như hình dưới đây:

  • React là một thư viện mặc dù nó thường được xem là một framework ứng dụng trong web development. Dưới dây là ví dụ sử dụngthư viện React trong file index.js:


Thư viện cho chúng ta tính năng tái sử dụng. Bạn có thể xem nhiều hơn về các thư viện hữu ích về JavaScript qua link này.

Thư viện VS Framework

Bạn đã hiểu được Thư viện là gì? Framework là gì chưa? Nếu rồi, chúng ta cùng tìm hiểu sự khác nhau giữa chúng nhé!

Cùng xem qua một ví dụ thực tế, khi xây nhà chúng sẽ dùng đến rất nhiều công cụ như búa, máy trộn bê tông, khoan, máy bắt vít, … Sử dụng những công cụ này cũng giống như việc import các thư viện vào những đoạn code để giúp chúng ta hoàn thành mục đích nhất định.

Còn Framework chính là cấu trúc của căn nhà giúp mọi người định hướng những việc cần hoàn thành theo yêu cầu của người chủ căn nhà. Dựa vào đó chúng ta có thể xây thêm cửa, xây thêm tường và sau này là thêm cả nội thất. Có được cấu trúc của căn nhà giúp chúng ta dễ dàng hơn trong việc xây dựng một căn nhà chắc chắn ở được.

Mặt khác, Thư viện cho developer cảm giác tự do hơn, nó giống như kiểu bạn ở trong chính ngôi nhà của mình, bày biện mọi thứ theo ý của mình, bạn vứt đồ đạc bất cứ chỗ nào miễn là bạn thấy nó hợp lý. Còn framework lại có một vài khuôn mẫu giống như khi bạn ở trường học vậy, tuân thủ theo các quy luật được đặt ra bởi giáo viên và ban giám hiệu. Developer xây dựng ứng dụng web dựa trên framework sẽ phải dựa trên những quy luật và cú pháp của nó để đảm bảo ứng dụng web hoạt động. Những điều này là một khía cạnh nhỏ của Inversion of Control.

Developer có thể gọi Thư viện trong code của họ để thực hiện một yêu cầu nào đó, còn framework sẽ gọi code của developer, yêu cầu developer xây dựng code dựa trên những khái niệm, cú pháp và chức năng sẵn có.

Framework cũng có thể gọi sử dụng Thư viện nếu cần.

JavaScript Framework VS Vanila JavaScript

Bạn có bao giờ tự hỏi rằng, có nên sử dụng Framework để xây dụng ứng dụng web không? Nếu như chỉ dùng Vanila JavaScript thì có đủ để hoàn chỉnh một ứng dụng web không?

Tại sao lại không nhỉ? Bạn hoàn toàn có thể chỉ sử dụng Vanila JavaScript để xây dựng một ứng dụng web nhưng nó sẽ tồn tại một vài mặt hạn chế và cả bất lợi nữa. Framework ra đời để xây dựng ứng dụng web một cách dễ dàng và đáng tin cậy, do đó chúng ta nên sử dụng Framework hơn là dùng Vanila JavaScript trong việc phát triển một ứng dụng web hoàn chỉnh.

Dưới đây là một vài lý do:

1. Như đã đề cập, Framework được ra đời để phục vụ cho lĩnh vực phát triển web, vậy thì việc các developer sử dụng nó trong việc xây dựng ứng dụng web là một điều hoàn toàn dễ hiểu. Ví dụ như khi bạn sử dụng React, việc tương tác với các thuộc tính, quản lý trạng thái, truyền dữ liệu khá là dễ dàng. Ngược lại với Vanila JavaScript đó sẽ là một mớ hỗn độn mà bạn rất khó để có thể giải quyết. Lợi ích mà Framework đem lại là điều không thể nào bác bỏ.

2. Framework cung cấp một cấu trúc, developer hoàn toàn có thể chọn và triển khai một Framework cụ thể cho dự án của mình hoặc cả team, mọi người sẽ dựa vào cấu trúc sẵn có đó để biết được toàn bộ ứng dụng sẽ được xây dựng như thế nào. Việc tự tạo ra một cấu trúc của riêng mình bằng duy nhất Vanila JavaScript là rất khó khăn, bạn sẽ bị mắc kẹt trong một đống code và không biết mọi thứ sẽ hoạt động như thế nào, thật chẳng còn tâm trí đâu mà suy nghĩ tiếp.

3. Hiệu suất của ứng dụng web sử dụng framework sẽ cao hơn là sử dụng thuần túy cấu trúc JavaScript. Bạn không cần phải hiểu rõ tất cả mọi thứ về JavaScript để có thể thao tác, chỉnh sửa code trên framework vì các chức năng của Vanila JavaScript đã được đơn giản hóa giúp mọi thứ dễ hiểu hơn và nhờ đó mà chúng ta xây dựng ứng dụng web với một hiệu suất tốt hơn.

Tác giả Rusira Liyanage

Dịch bởi Devera Academy