Vue.js

220px-Vue.js_Logo_2.svg

Vue là gì

Vue hay Vue.js (phát âm giống từ view) là một web framework. Vue được phát triển bởi Evan You, một lập trình viên người Trung Quốc từng làm việc tại Mỹ cho các công ty lớn như Google, Meteor. Anh đã làm việc với AngularJS và nảy ra ý tưởng xây dựng một framework từ những điểm anh thích trong AngularJS, nhằm phục vụ mục đích cá nhân. Tuy nó chỉ được publish lên Github như một dự án cá nhân, Vue nhanh chóng nhận được sự chú ý của cộng đồng Open-source. Nếu bạn lên github để xem source code của Vue và React thì có thể nhận thấy là Vue có vẻ được yêu thích hơn với  star so với star của React. wow!!! Sự đón nhận nồng nhiệt đó khiến Evan quyết tâm bỏ việc và làm fulltime cho đứa con mới của anh.

Vue là một JavaScript Framework và có nhiều điểm chung với React như đều dùng Virtual DOM, có các Component cho các thành phần UI, và tinh gọn tức là chỉ chứa core library, còn các tính năng cao cấp hơn như routing hay state management được cung cấp bởi các thư viện mở rộng.

Lịch sử phát triển

Vue được chào đời vào năm 2014.

Sau 4 năm phát triển thì Vue đã lên bản 2.6, vậy Vue có gì?

  • Templates: là HTML templates để DOM render ra màn hình
  • Reactivity: các component được tối ưu hoá việc re-render
  • Components: là các thành phần UI được đóng gói để tái sử dụng
  • Transitions: các hiệu ứng transition khi 1 thành phần được thay đổi trong DOM
  • Routing: tính năng routing được cung cấp bởi thư viện nguồn mở vue-router

Cùng xem 1 đoạn code mẫu Hello World, có 2 cách để tạo project hello-world như sau

  • Dùng vue mà không cần cài đặt trực tiếp. Tạo file index.html và thêm vào nội dung sau:
<script src="https://unpkg.com/vue"></script>

<div id="app">
  <p>{{ message }}</p>
</div>

<script type="text/javascript">
  new Vue({
    el: '#app',
    data: {
      message: 'Hello Vue.js!'
    }
  })
</script>
  • Cài đặt thông qua npm, dùng công cụ vue-cli
npm install -g @vue/cli @vue/cli-service-global
# or
yarn global add @vue/cli @vue/cli-service-global
vue create hello-world
cd hello-world
npm run serve
or 
yarn serve

Lời kết

Evan You được coi là một người hùng trong lĩnh vực công nghệ của Trung Quốc, vì, mặc dù Trung Quốc có số lượng lập trình viên đông đảo, nhưng việc có một lập trình viên có tầm ảnh hưởng lớn như anh thì không nhiều. Việc tác giả Vue là một người Trung Quốc đã khiến Framework non trẻ này dễ dàng được chấp nhận bởi cộng đồng lập trình viên Trung Quốc.

Vue đại diện cho một sản phẩm ra đời từ cộng đồng, do chính cộng đồng phát triển, khác với React hay Angular được phát triển từ các dự án của các công ty lớn. Đây cũng là lý do nhiều người yêu thích và lựa chọn Vue.js.

Còn bạn thì sao?

Leave a comment