VUEJS - Vue.js (Vuejs) là gì?

Vue.js (Vuejs) là gì?

Bước đầu tiếp cận Vue.js chắc hẳn có vô số các câu hỏi được đặt ra trong đầu bạn ví dụ như Vuejs là gì? Tác dụng của Vue.js, lý do nên sử dụng Vue.js?... Hơn nữa nguồn tài liệu về Vuejs tiếng Việt trên mạng đa phần không đầy đủ và khá khó hiểu thế nhưng bạn đừng quá lo lắng trong bài học đầu viên của loạt bài học vue.js này chúng ta sẽ đi từ a - z  chúng mình sẽ cùng nhau giải đáp các thắc mắc trên cùng theo dõi các bạn nhé!

Vuejs là gì?

Vue.js hay Vuejs gọi tắt là Vue được phát âm là /vju:/ là một progressive framework (framework linh động) được dùng để xây dựng giao diện người dùng UI (user interfaces). Khác với các framework nguyên khối (monolithic framework ) Vuejs ngay từ ban đầu được thiết kế theo hướng cho phép và khuyến khích việc phát triển ứng dụng theo từng bước.

Với Vue khi phát triển lớp giao diện (view layer), người dùng chỉ cần dùng đến thư viện lõi (core library) của Vue vốn rất dễ tiệp cận và tích hợp với các thư viện hoặc dự án có sẵn. Ngoài ra nếu người dùng có thể kết hợp với những kĩ thuật hiện đại như SFC (single file components) và các thư viện hỗ trợ, Vue cũng đáp ứng được dễ dàng nhu cầu xây dựng những ứng dụng một trang SPA  (Single-Page Applications) với độ phức tạp cao hơn nhiều.

Có rất nhiều mối tương quan giữa Vue và các thư viện hay framework js khác thế nhưng trong khuôn khổ bài viết này chúng ta sẽ không tìm hiểu về chúng.

Lưu ý: Nếu bạn chưa quen với việc lập trình front-end, không nên bắt đầu sử dụng ngay một framework bởi nó tương đương với việc chưa học bò mà đã học đi. Trước hết hãy trang bị cho mình vốn kiến thức cơ bản trước đã. Bên cạnh đó nếu bạn đã có sẵn kinh nghiệm sử dụng framework khác như React hoặc Angular thì cũng không sao cả

Lịch sử ra đời của Vuejs

Vue được thai nghén và phát triển bởi Evan You khi tác giả đang làm kỹ sư cho ông lớn Google. Khi đang sử dụng Angular cho một số dự án khác thì Evan có ý tưởng trích một phần mà mình thích của Angular rồi từ đó xây dựng thêm một cái gì đó nhẹ nhàng hơn Angular mà không cần phải chú ý đến những khái niệm bổ sung rườm rà. Đây được xem là tiền đề giúp cho Vuejs đã, đang có mặt và phát triển mạnh mẽ tại thời điểm hiện tại.

Vue đã được phát hành đầu năm 2014 và dự án này đã được tăng tải lên HackerNew, Echo Js ngay trong ngày đầu tiên ra mắt.

Vue 2.0 được release vào đầu năm 2016 để ganh đua với ReactJS. Thực tế Vuejs được chứng minh là nhanh hơn và gọn hơn so với ReactJs và Angular 2.0. Ngoài ra, thời gian tiếp cận và làm chủ của Vue tương đối ngắn vì vậy không quá khó hiểu khi đọc xong tài liệu này bạn sẽ thích và sẽ sử dụng Vue làm framework js mặc định của mình.

Ưu nhược điểm của Vuejs?

Mặc dù chỉ đứng thứ 3 trong danh sách Top Frameworks Frontend 2020 ( Bảng xếp hạng các Frameworks Frontend được sử dụng nhiều nhất 2020 thế nhưng Vue vẫn giữ số Stars cao nhất là 158k trong khi đó React chỉ đạt 145k và Angular là 58,4k.

Vue là một Frameworks tương đối đơn giản và dễ hiểu. Nó rất tốt trong việc loại bỏ những điều phức tạp mà các nhà phát triển Angular phải đối mặt. Vuejs có kích thước nhỏ hơn và cung cấp hai ưu điểm chính đó là giao trực quan và khả năng tương tác.

Vue rất linh hoạt và bạn có thể nó khá đa năng từ việc xây dựng các ứng dụng web và ứng dụng dành cho thiết bị di động đến các ứng dụng web thông minh, nó có thể xử lý dễ dàng cả các quy trình đơn giản và nhanh chóng.

Mặc dù nó được xây dựng để tối ưu hóa hiệu suất ứng dụng và giải quyết các vấn đề phức tạp, nhưng Vuejs không được các hãng công nghệ khổng lồ trên thị trường sử dụng. Tuy nhiên, Alibaba, 9gag, Reuters, Xiaomi là những công ty đang sử dụng framework  này. Vue tiếp tục phát triển về số lượng ứng viên sử dụng mặc dù có ít người tham gia từ Thung lũng Silicon hơn các framework javascript khác.

Dưới đây là các ưu nhược điểm của Vuejs để bạn cân nhắc trước khi sử dụng Vuejs.

Ưu điểm của Vuejs

  • Tài liệu hướng dẫn phong phú và chi tiết (chủ yếu là tiếng Anh)
  • Cú pháp đơn giản - các lập trình viên có nền tảng javascript có thể dễ dàng bắt đầu với Vuejs
  • Tính linh hoạt để thiết kế cấu trúc ứng dụng
  • Hỗ trợ TypeScript 

Nhược điểm của Vuejs

  • Thiếu ổn định trong các components (phần tử cấu thành)
  • Cộng đồng tương đối nhỏ
  • Rào cản ngôn ngữ với các plugin và components (hầu hết các plugin được viết bằng ngôn ngữ Trung Quốc)

Có nên sử dụng Vuejs ?

Vuejs được khuyến khích cho các cấu trúc thiết kế linh hoạt. Nó cho phép bạn thiết kế mọi thứ từ đầu và thành công trong việc phát triển các dự án khổng lồ. Dưới đây là một số lý do nên sử dụng Vuejs.

  • No build step required: Vue không cần sử dụng build tool quá phức tạp quá nhiều bước mới có thể xây dựng ứng dụng, bạn chỉ cần khai báo một script là có thể phát triển một ứng dụng bằng Vue.
  • Command line interface: Vue có thể tạo cấu trúc project nhanh chóng hơn nhờ vào command line interface.
  • Đa dạng tài liệu: Hiện nay, nguồn tài liệu về Vue ngày càng đa dạng, rõ ràng về ngôn ngữ nên bạn có thể dễ dàng trở thành chuyên gia về nó.
  • Hệ sinh thái vững chắc: Vue sở hữu một hệ sinh thái cực kỳ vững chắc và đầy đủ nên có thể cung cấp một số add-ons rất hữu ích cho việc xây dựng một ứng dụng fontend điển hình nhất. Nó có thể bao gồm: vue-router, vuex, vue-test-utils, vue-dev-tools, vue-cli,…
  • Core Vue linh hoạt:  Vuejs tập trung vào việc render giao diện cho người dùng và các tương tác của nó vì vậy, nó sẽ cung cấp tối thiểu những tính năng cần thiết cho việc thiết kế và xây dựng kiến trúc, đồng thời sẽ giúp bạn loại bỏ được các tính năng không cần thiết ra khỏi thư viện trong lõi Vue.js và đảm bảo cho framework nhỏ gọn và mềm dẻo hơn.

Tuy nhiên nếu yêu cầu của bạn là đề cao tính ổn định của các phần tử cấu thành (components) thì Vue không phải lựa chọn đúng đắn.