VSCode – Hành trình trở thành vua của các Code Editor
Là một lập trình viên, hẳn không ít lần bạn đã từng nghe đến hoặc sử dụng qua Visual Studio Code. Theo khảo sát mới đây, công cụ này đang là công cụ lập trình được ưa chuộng nhất trong giới coder. Trong bài viết này, hãy cùng Hiếu Đá tìm hiểu hành trình phát triển của VSCode nhé!
MỤC LỤC
Hành trình phát triển của VSCode
Được yêu mến từ lúc còn là ý tưởng
Tại sự kiện Build diễn ra vào tháng 4 năm 2015. Microsoft đã công bố một công cụ mới cho các nhà phát triển, hứa hẹn nhiều tính năng hữu ích. Công cụ này vô cùng nhẹ nhàng, mạnh mẽ, đa nền tảng và hoàn toàn miễn phí. Tuyên bố này đã làm dậy sóng cộng đồng lập trình. Vì Microsoft cũng là cha đẻ của một bộ công cụ lập trình mạnh mẽ khác, đó chính là Visual Studio. Visual Studio thực sự đã và đang làm rất tốt trong việc phục vụ mọi nhu câu lập trình mà một developer cần. Thế nhưng nó chỉ hỗ trợ cho các công nghệ của hãng mà thôi. Các công nghệ đó bao gồm: lập trình cho các ứng dụng máy tính (Winform, WPF) đến lập trình ứng dụng di động (Windows Phone, UWP) cho đến lập trình web (ASP.NET) v.v… Cho đến nay, Visual Studio vẫn làm một “thế lực” trong số các công cụ lập trình. Chính vì thế mà ngay từ lúc công bố, VSCode được kỳ vọng sẽ thừa kế ưu điểm của đàn anh và hỗ trợ nhiều ngôn ngữ hơn. Và hiển nhiên nó đã được cộng đồng developer khắp thế giới mong chờ.
Trở thành phần mềm mã nguồn mở
Không chỉ dừng lại ở những lời hứa hẹn ngọt ngào. Vào ngày 18 tháng 11 năm 2015, Microsoft tuyên bố mở mã nguồn Visual Studio Code. Giờ đây mọi người có thể tìm thấy mã nguồn của VSCode trên Github và cùng các lập trình viên trên thế giới tham gia phát triển nó. Đây cũng chính là thời điểm Microsoft bổ sung thêm tính năng extension cho công cụ này. Đây cũng là một nước cờ thông minh khiến cho VSCode nhanh chóng trở thành code editor được nhiều lập trình viên ưa thích. Đối với Microsoft, đây cũng là một bước đi chưa từng thấy trước đây. Nếu ngày xưa bọ là một công ty chuyên bán phần mềm độc quyền. Thì giờ đây họ cung cấp một phần mềm miễn phí, mã nguồn mở cho mọi người. Ở khía cạnh nội bộ, các sự kiện ở năm 2015 này đánh dấu sự vực dậy của một gã khồng lồ công nghệ từ đáy vực thẳm. Người đã dẫn đầu xu thế đó không ai khác chính là CEO Sataya Nadella vừa nhận chức vào năm 2014.
Bạn cũng có thể xem mã nguồn và tham gia phát triển VSCode tại đây.
Đà tăng tưởng phi mã – Sinh sau đẻ muộn nhưng … mau lớn
Không nằm ngoài dự đoán, Visual Studio Code đã phát triển phi mã. Từ một nhân tố non trẻ trong cộng đồng lập trình. Giờ đây là lớn và trở thành một công cụ được giới lập trình viên yêu thích bậc nhất. Căn cứ vào số liệu qua từng năm theo các cuộc khảo sát của Stackoverflow. Nếu năm 2016, tỉ lệ người sử dụng VSCode chỉ chiếm 7.2%. Thì đến năm 2018, nó chính thức vượt qua đàn anh Visual Studio để chiếm vị trí dẫn đầu với tỉ lệ 34.9%. Và chỉ một năm sau đó, năm 2019, khoảng cách giữa hai công cụ lập trình tốt nhất càng lớn hơn nữa (VSCode 50.7% so với 31.5% Visual Studio). Thế nghĩa là cứ 2 lập trình viên thì có một người sử dụng công cụ này. Mặc dù không phải là khảo sát đối với tất cả lập trình viên. Nhưng đó là những số liệu biết nói cho thấy Visual Studio Code mặc dù sinh sau đẻ muộn nhưng thực sự nó đã lớn lên rất nhanh.
Link khảo sát của Stackoverflow qua các năm: 2016, 2017, 2018, 2019.
Công nghệ đằng sau Visual Studio Code
Sức mạnh của công cụ này đến từ đâu?
Bên cạnh sự mạnh mẽ và tính năng tích hợp sẵn đầy tiện lợi. Có một điều mà Microsoft không tuyên bố khi phát hành VSCode đó là khả năng của nó đến từ đâu. Thử để ý một chút, tại thời điểm ra mắt (2015), Microsoft không trực tiếp sở hữu bất kỳ công nghệ đa nền tảng nào. Trước năm 2015, mọi nguồn lực của Microsoft đều đổ dồn vào Windows, Office và Windows Phone. Các nền tảng khác tuyệt nhiên không nhận được sự hậu thuẫn từ Microsoft. Mãi đến năm 2016, họ mới có cho mình Dotnet Core 1.0 là đa nền tảng. Vậy làm thế quái nào mà họ lại có một sản phẩm phần mềm chạy đa nền tảng nhanh thế? Sản phẩm đó lại chạy ngon lành cành đào cả trên OSX và Linux nữa cơ, quá hư cấu. Chính điều đó đã khiến cộng đồng vọc sĩ tò mò và muốn tìm hiểu bên trong mã nguồn của VSCode .
Một code editor chạy trên nhân Chromium của Google
Và cây kim trong bọc lâu ngày cũng lòi ra. Để vscode có thể hoạt động tốt trên nhiều hệ điều hành. Microsoft đã cho phép nó hoạt động dựa trên một công nghệ khác đã được phát triển để chạy đa nền tảng. Đó chính là nhân Chromium của Google. Ồ wao! Hết hồn chưa. Ngày xưa một phần cũng vì Google không chịu đem dịch vụ của mình lên Windows Phone mà nền tảng này mới chết yểu. Giờ Microsoft lại gạt hết tư thù để sử dụng sản phẩm của Google. Mà suy cho cùng cũng hợp lý. Vì Chromium là phần mềm mã nguồn mở, ai cũng có thể sử dụng, Chromium chạy trên đa nền tảng, Chromium có hiệu năng cao. Chỉ bằng cách sử dụng sản phẩm của Google, Microsoft giải quyết được tất cả bài toán công nghệ khó khăn để phát triển nên Viusal Studio Code. Người hưởng lợi nhiều nhất trong việc này chính là cộng đồng developer chúng ta.
Drama dính phốt đạo nhái Atom của Github
Atom cũng là một công cụ lập trình mạnh mẽ đến từ Github. Nếu xét về tính năng và khả năng đa nền tảng, Visual Studio Code chính là đối thủ trực tiếp của Atom. Hơn nữa, Atom cũng là một phần mềm mã nguồn mở. Như vậy, hai phần mềm này kiểu cũng 49 gặp 50 rồi đấy. Có khi nào ông Microsoft lại đem mã nguồn mở của Atom về xào nấu rồi sinh ra Visual Studio Code không? Lần này lại đến lượt mấy ông vọc sĩ ra tay. Trong quá trình dịch ngược VSCode, những nhà nghiện cứu đã phát hiện ra tên gốc của file code.exe là atom.exe. Mặt khác, khi trích xuất các tài nguyên từ mã nguồn. Họ cũng thấy có vài di sản có từ thời atom. Và thế là nghiễm nhiên Microsoft trở thành kẻ tội đồ công nghệ vào lúc đó.
Pha lật kèo nhanh chóng đến từ đội Microsoft
Sau khi bị kết tội đạo nhái Atom không lâu, Microsoft cuối cùng cũng đăng tuyên bố đính chính. Visual Studio Code không được xây dựng từ dự án Atom của Github. Cụ thể, họ sử dụng Electron framework cũng đến từ Github kết hợp với Chromium của Google để tạo ra ứng dụng đa nền tảng. Bên cạnh đó, họ cũng sử dụng một ứng dụng cây nhà lá vườn để tăng sức mạnh cho VSCode, đó là dự án Monaco Editor – một phần của Visual Studio online – cho phần syntax highlighting.
Đại diện phía Microsoft đã phát biểu:
Visual Studio Code is built primarily with standard web technology (HTML, CSS, JavaScript). We leverage Electron [previously Atom] as a cross platform host. This allows us to focus on the core experience and put our efforts into developer productivity (Editing, code navigation, code understanding and debugging) and offer these features on Mac OSX, Linux and Windows. We are working with the Electron team and actively contributing back to that framework.
Tạm dịch:
Visual Studio Code được xây dựng từ những công nghệ web cơ bản (HTML, CSS, JavaScript). Chúng tôi tận dụng Electron [trước đó là Atom] để host ứng dụng chạy đa nền tảng. Điều này giúp chúng tôi có thể tập trung vào những yếu tố cốt lõi và dồn toàn lực phát triển các tính năng của VSCode (Editing, code navigation, code understanding and debugging). Sau đó cung cấp các tính năng trên cho Mac OSX, Linux và Windows. Chúng tôi cũng đang làm việc với nhóm phát triển Electron và đang “góp gạo thổi cơm chung” với họ.
Như vậy, trắng đen đã rõ. Visual Studio Code được xây dựng dựa trên HTML, CSS và JavaScript. Họ cũng sử dụng Electron framework để khiến phần mềm chạy được đa nền tảng dễ dàng. Mặt khác, khi Github phát triển Atom, họ tạo ra Atom shell để chạy đa nền tảng. Atom shell sau này được tách ra khỏi Atom editor và đổi tên thành Electron. Hiện nay, Electron là một framework tốt được dùng để xây dựng ứng dụng desktop đa nền tảng.
Cập nhật tình hình
Vào ngày 26/10 năm 2018, Microsoft chính thức mua lại Github với giá 7.5 tỷ USD. Kế tiếp, họ bắt đầu opensource cho một số công nghệ của hãng. Trong đó đặc biệt nhất là MS-DOS, Dotnet Core và nhiều công nghệ khác. Họ cũng cho phép người dùng miễn phí của Github sử sụng một số tính năng hấp dẫn mà trước đó chỉ có trong phiên bản trả phí.
Tổng kết và hẹn gặp lại
Qua bài viết này, chúng ta đã tìm hiểu hành trình phát triển của VSCode và công nghệ đằng sau nó. Thực ra ban đầu mình chỉ định giới thiệu sơ qua về công cụ này thôi. Nhưng vì cảm thấy quá trình phát triển của công cụ này khá là hay ho. Do đó, mình quyết định viết luôn một bài về nó luôn. Còn bạn, bạn cảm thấy như thế nào, có góp ý gì cho mình hày không? Hãy để lại bình luận bên dưới nhé!
Trong kỳ tiếp theo, mình sẽ hướng dẫn cài đặt Visual Studio Code và thiết lập môi trường để lập trình cho một số ngôn ngữ.