Ảnh bởi
Richy Great
trên
Unsplash
Một ngày nghỉ hè năm 2005, nhà mình lắp mạng. Với việc bị cấm bén mảng tới quán net từ những ngày thơ ấu, mình lúc đó chẳng hiểu mạng là cái chi. Ba mình, áp dụng lời hướng dẫn trước đó của mấy ông nhân viên nhà mạng, bình tĩnh ngồi xuống, mổ cò từng chữ www.24h.com.vn, và gõ Enter một cú đầy quyết đoán. Màn hình hiện ra cơ man là chữ và ảnh, với hằng hà tin tức đủ thể loại, với quảng cáo nhấp nháy và với video chạy giật giật từng cục. Ba bảo, đây là mạng đó con.
Vậy là từ đó, mình bắt đầu con đường lướt mạng của mình. Mình bớt thời gian dán mắt vào mấy quyển truyện tranh đấm đá á ối bịch hự. Mình ra ngoài chơi ít hơn, lấy lý do là trời nắng. Hè mà. Thay vào đó, mình dán mắt vào đống game cũng đấm đá á ối bịch hự trên Gamevui, xem hàng tá video vừa hài vừa bậy nhặt nhạnh của nước ngoài trên Dantri, và nghịch ngợm đủ thứ khó mà nhớ mặt đặt tên trên Yahoo. Nghĩ lại, việc mình dán mắt vào máy tính như vậy có lẽ là một cơ duyên. Cơ duyên này vẫn còn tiếp diễn đến hôm nay, khi mà công việc của mình phần nhiều liên quan đến máy tính và những trang web.
Mấy bữa nay nghĩ lại, chợt thấy tò mò vì các công nghệ web ngày nay đã tiến hóa rất nhiều. Thời gian thấm thoắt thoi đưa, mới ngày nào mấy trang web chỉ là những trang thông tin cứng nhắc vô hồn, nay đã trở thành những trang mạng xã hội khổng lồ hay những trang xem phim nghe nhạc hoạt động mượt mà, làm con dân chìm trong thống khoái triền miên. Mới ngày nào xài Internet Explorer là thấy như thế giới đã phẳng dẹt trước mắt mình, nay IE chỉ còn xuất hiện cùng tiếng cười mỉa mai hắt ra từ cái nhếch mép hay trong tiếng thở dài hoài cổ khôn nguôi khi đăm chiêu về quá khứ.
Vậy công nghệ web, sau bao biến chuyển xoay vần của thời cuộc, đã phát triển ra sao? Ở đây, mình sẽ đi qua quá trình hình thành và phát triển của các công nghệ web, cụ thể là các trình duyệt, các ngôn ngữ lập trình, và những công cụ bổ trợ.

Phần 1: Trình duyệt thuở hồng hoang

Muốn thấy được trang web, trước hết phải có sự xuất hiện của internet. Từ những năm 50, trong bối cảnh Chiến tranh Lạnh, quân đội Mỹ cần một hệ thống liên lạc qua máy tính. Tới năm 1974, các giao thức nền tảng của mạng máy tính đã ra đời, cho phép các máy tính trong một mạng lưới có thể trao đổi thông tin với nhau. Đó là khởi nguyên của internet ngày nay.
Năm 1990, Tim Berners-Lee, một nhà khoa học máy tính, làm ra trình duyệt đầu tiên trên thế giới, mang tên WorldWideWeb, sau này đổi tên thành Nexus. Trình duyệt, hay browser, nói một cách dễ hiểu, là một chương trình máy tính với mục đích lấy thông tin từ trên internet về và hiển thị ra cho người dùng thấy. Nexus chạy trên hệ điều hành NeXT, một hệ điều hành không quá phổ biến thời đó, vì vậy mà trình duyệt này chưa tiếp cận được với đại chúng. Tuy vậy, việc Nexus xuất hiện là dấu mốc tiên phong, làm tiền đề cho hàng loạt phát minh và cải tiến sau này.
Giao diện trình duyệt WorldWideWeb
Giao diện trình duyệt WorldWideWeb
Ba năm sau đó, năm 1993, NCSA (National Center for Supercomputing Applications - Trung tâm Quốc gia về Ứng dụng Siêu máy tính) tạo ra trình duyệt mang tên Mosaic. Mosaic sở hữu những chức năng vô cùng tiên tiến thời đó như sở hữu giao diện tiện lợi, hiển thị được cả văn bản và ảnh, cho phép người dùng lưu các trang web và xem lịch sử truy cập. Ngoài ra, Mosaic hoạt động được trên nhiều hệ điều hành phổ biến lúc bấy giờ, giúp cho công chúng nhanh chóng tiếp cận và sử dụng. Nhiều người coi Mosaic là chất xúc tác mạnh mẽ cho sự phát triển của internet, khi mà vào lúc Mosaic ra đời, thế giới chỉ có 100 trang web. Hai năm sau đó, con số ấy đạt mốc 10,000. Và đến năm 2000, con số này là 10,000,000.
Giao diện Mosaic
Giao diện Mosaic
Được sự thành công của Mosaic truyền cảm hứng, Marc Andreessen, một trong những người trong đội ngũ tạo ra Mosaic, hợp tác cùng vài đồng nghiệp và lập công ty riêng vào năm 1994. Họ tạo ra trình duyệt Netscape (tên đầy đủ là Netscape Navigator) trong cùng năm đó. Netscape được tập trung phát triển về mặt trải nghiệm người dùng, khiến trình duyệt này làm người dùng không khỏi bị hút hồn. Chẳng chóng thì chầy, Netscape nhanh chóng chiếm được phần lớn thị phần, với con số đỉnh điểm là 86%.
Trình duyệt Netscape
Trình duyệt Netscape
Đánh hơi được cuộc chơi trình duyệt đang nóng lên bao giờ hết, một năm sau đó, Microsoft phát triển và ra mắt trình duyệt được coi là tình đầu của rất nhiều người trong số chúng ta, mang tên Internet Explorer (IE). Cuộc vật lộn giữa IE và Netscape đánh dấu sự bắt đầu của Chiến tranh Trình duyệt Thứ nhất (First Browser War) kéo dài từ 1995 đến 2001. Với đội ngũ kỹ sư đông đảo, Microsoft liên tục phát triển tính năng mới và cải thiện IE, biến IE trở nên ngày càng mạnh mẽ, tiện lợi và thân thiện với người dùng. Không chỉ vậy, IE còn được hưởng lợi thế từ sản phẩm chủ lực của Microsoft: hệ điều hành Windows. Với việc Windows đã rất phổ biến trong thị trường hệ điều hành máy tính, Microsoft tích hợp IE vào Windows như là một phần mềm đi kèm, rút ngắn được rất nhiều thời gian và công sức cho việc quảng bá và tiếp cận người dùng. Tại sao phải tốn công mua và cài Netscape khi mà máy tính Windows của bạn đã có sẵn IE, đúng không? Tất lẽ dĩ ngẫu, IE nhanh chóng vươn mình lấn át Netscape, từng bước trở thành ông kẹ của thị trường trình duyệt. Năm 2001, IE chiếm 96% thị phần.
Chiến tranh Trình duyệt Thứ nhất
Chiến tranh Trình duyệt Thứ nhất
Năm 1998, bộ Tư pháp Mỹ kiện Microsoft, sự kiện chẳng khác nào một quả bom nổ tung giữa lúc trời quang mây tạnh. Bộ Tư pháp cho rằng Microsoft đã cố gắng cản trở việc hoạt động của phần mềm của các công ty khác trên hệ điều hành Windows. Một ví dụ điển hình là Windows sẽ làm khó dễ cho việc trình duyệt Netscape chạy trên Windows (làm Netscape chạy chậm hơn, làm Netscape khó tương thích trên Windows hơn). Hành vi này được coi là hướng tới sự độc quyền trong ngành phần mềm và cản trở cạnh tranh công bằng. Cuối cùng, Microsoft thua kiện và phải cho phép các phần mềm từ công ty khác được phép hoạt động sòng phẳng trên Windows. Điều này vô cùng quan trọng, vì thứ nhất, nó xử lý được vấn đề nhức nhối của thời điểm bấy giờ, và thứ hai, đây là tiền lệ cho việc đề cao cạnh tranh sòng phẳng trong ngành phần mềm, thúc đẩy các công ty tập trung làm ra phần mềm chất lượng mà không sợ bị các hệ điều hành giơ tay chực chờ bóp cổ họ. Tuy vấn đề mang tên Microsoft đã được luật pháp xử lý, trình duyệt Netscape đã quá hụt hơi yếu ớt trong cuộc đua với IE. Như đã nói ở trên, năm 2001, IE chiếm 96% thị phần, và Netscape chỉ còn biết mơ tưởng về những ngày vinh quang xưa cũ. IE được công nhận là kẻ chiến thắng trong Chiến tranh Trình duyệt Thứ nhất. Công ty chủ quản của Netscape đã không còn mặn mà với việc tiếp tục chiến đấu với ông kẹ Microsoft, thay vào đó, họ công khai mã nguồn của Netscape.
Cho những ai chưa hiểu mã nguồn mở là gì, có thể tưởng tượng qua ví dụ giả tưởng sau: ở một vũ trụ song song, Vinfast, sau hàng năm trời cố gắng kèn cựa với Tesla, đã thất bại thảm hại trong cuộc chơi xe điện. Trước lúc nhắm mắt lâm chung, Vinfast công bố với công chúng toàn bộ các bản thiết kế, chi tiết linh kiện, thông số kỹ thuật, quy trình sản xuất, thành quả nghiên cứu, hay chung quy lại là toàn bộ tài sản trí tuệ của công ty. Giờ đây, công ty nào trên thế giới cũng có thể bê nguyên bộ tài sản trí tuệ này về, sửa đổi cải tiến, và đứng lên thách thức Tesla một lần nữa.

Phần 2: Ba chàng hiệp sĩ mộng mơ

Trình duyệt được dùng để hiển thị trang web, nhưng một trang web thì được tạo ra bằng gì? Một trang web được tạo ra bởi 3 thành phần chính: ba chàng hiệp sĩ mộng mơ HTML, CSS và JavaScript.
Giải thích một cách tối giản: HTML là khung xương, quyết định trang web có cấu trúc như nào, nội dung ra sao; CSS là lớp da, quyết định kiểu dáng, màu sắc, khoảng cách, font chữ; JavaScript là bộ não của một trang web, làm cho trang web có thể tương tác được, như khi bạn bấm dấu cộng để chỉnh lượng hàng trong giỏ Shopee của bạn vậy.
Năm 1993, Tim Berners-Lee (vâng vẫn là nhân vật máu mặt này) tạo ra HTML phiên bản đầu tiên mà dân gian gọi là HTML1. Hai năm sau, vào năm 1995, HTML2 trình làng, hỗ trợ thêm hiển thị bảng và các biểu mẫu, giúp người dùng dễ dàng hiển thị và thu thập thông tin theo nhiều cách hơn.
Khi mà trang web chỉ có HTML, sự khô cứng là không thể tránh khỏi. Giống như khi bạn xem thuyết trình powerpoint chỉ toàn chữ là chữ, hẳn là bạn sẽ chẳng thể hào hứng tiếp nhận mặc cho người diễn thuyết thao thao bất tuyệt. Năm 1995, công ty chủ quản của trình duyệt Netscape cho ra mắt JavaScript, một ngôn ngữ lập trình nhằm làm trang web có tính tương tác. Một làn gió mới đã len lỏi vào trái tim những người dùng khó tính khó chiều. Trang web giờ đây đã có thể tương tác được, giống như slideshow vừa có chữ vừa có hiệu ứng bay nhảy từa lưa, ắt hẳn sẽ làm không ít độc giả lác mắt vì ngưỡng mộ sự tiến bộ của công nghệ.
Một năm sau đó, vào năm 1996, nhận thấy rằng phát minh mang tên JavaScript của Netscape quá tiềm năng, Microsoft đã tạo ra một phiên bản nhái bén dế mèn tên là JScript để cạnh tranh. Về định nghĩa, cả 2 đều là ngôn ngữ lập trình. Về mục đích, cả 2 đều nhằm làm cho trang web dễ tương tác. Tuy vậy, về chi tiết, 2 ngôn ngữ có nhiều khác biệt về cấu trúc và cú pháp, đến mức có những trang web dùng JScript thì chỉ có thể chạy được trên IE, còn trang web dùng JavaScript thì chỉ chạy được trên Netscape.
Kể cả khi trang web đã có khung xương và bộ não, trông nó vẫn thô ráp vô cùng. Có cung ắt có cầu, cùng năm 1996, CSS được tạo ra. Từ đây, một trang web không chỉ có khung xương (HTML) và bộ não (JavaScript) mà còn có lớp da (CSS) giúp tăng tính thẩm mỹ. Phiên bản CSS đầu tiên, hay CSS1, hỗ trợ những tính năng cơ bản như màu sắc, sắp xếp, khoảng cách. Từ đây, ba chàng hiệp sĩ mộng mơ HTML-CSS-JavaScript chính thức đồng hành cùng nhau trên con đường mang internet đến từng nhà, thăm các cụ già xem nhạc vàng trên Youtube, phổ cập Facebook cho các bậc trung niên, mai mối thanh thiếu niên trên Tinder, và dắt các em thơ leo Tiktok.
Nhận thấy sự khác biệt ngày càng lớn dần giữa JavaScript và JScript có thể leo thang thành những trở ngại không thể giải quyết trong tương lai, Netscape quyết định nộp JavaScript lên cho ECMA, một tổ chức quốc tế chịu trách nhiệm cho việc đặt ra các tiêu chuẩn cho những hệ thống thông tin. Năm 1997, ECMA cho ra mắt ECMAScript, một bộ tiêu chuẩn dành cho các ngôn ngữ lập trình web, được tạo ra dựa trên các đặc điểm cấu trúc và cú pháp của JavaScript.
Với độc giả nào bắt đầu định tắt máy khi đọc đến đây, xin phép được lấy ví dụ giả tưởng như sau để giải ngấy. Tưởng tượng viễn cảnh hai nước Anh (Netscape) và Pháp (Microsoft) là hai đất nước có nền khoa học phát triển. Nước Anh viết bài nghiên cứu khoa học bằng tiếng Anh (JavaScript), Pháp viết bằng tiếng Pháp (JScript). Thế là cùng một nghiên cứu, khi viết bằng hai thứ tiếng khác nhau sẽ có nguy cơ bị sai khác về cách hiểu do sự khác biệt giữa hai ngôn ngữ. Thế là Anh gửi tâm thư lên Liên Hợp Quốc (ECMA) nhằm đòi một bộ tiêu chuẩn cho việc viết bài nghiên cứu khoa học. Liên Hợp Quốc bàn bạc, thống nhất, và ra mắt một bộ tiêu chuẩn ngôn ngữ khoa học (ECMAScript) dựa trên tiếng Anh (JavaScript). Từ đó, cả thế giới cần tuân theo tiêu chuẩn này. Pháp vẫn có thể xài tiếng Pháp để viết báo cáo khoa học, nhưng mà cách viết cần sửa đổi để tuân theo các quy tắc, cấu trúc, ngữ pháp của bộ tiêu chuẩn, mà bộ tiêu chuẩn lại tuân theo tiếng Anh. Nhiều người hẳn nghĩ: ông không cấm viết tiếng Pháp nhưng lại bắt tôi viết theo kiểu Anh, thế khác đéo gì ông bảo tôi dùng tiếng Anh đi cho nhanh. Và đúng thật, JScript dần dần mất đi sự phổ biến, và JavaScript vẫn đứng sừng sững như là ngôn ngữ lập trình web độc tôn đến ngày nay. Từ khi ECMAScript xuất hiện, các ngôn ngữ lập trình web quy tụ về một mối, thiên hạ thái bình, giang sơn thống nhất.
Đến năm 1999, CSS đã ra đến phiên bản thứ 3, hay còn gọi là CSS3, và vẫn được sử dụng đến ngày nay. Còn HTML thì ra mắt phiên bản 4, hay HTML4, là phiên bản ổn định trong suốt 15 năm sau đó.

Phần 3: Tre già măng mọc

Đầu những năm 2000, mặc cho việc Microsoft thua kiện Bộ Tư pháp Mỹ, Internet Explorer vẫn tự tin leo lên vị trí thống trị thị trường trình duyệt. Người người dùng IE, nhà nhà dùng IE. Những tưởng đây là cái kết viên mãn với nụ cười tươi rói nở trên môi Microsoft và thế giới người dùng cùng hướng cái nhìn lạc quan đầy tin yêu vào hiện thực hạnh phúc và ngày mai tươi sáng, nhưng mà nụ cười kia sẽ không mãi đâu, ngày mai không dễ như ban đầu. Những đối thủ mạnh mẽ xứng tầm đã bắt đầu manh nha xuất hiện, báo hiệu một cơn bão làm khuấy động giới công nghệ.
Năm 2003, Apple cho ra mắt trình duyệt Safari. Safari nổi bật ở tính tương thích mạnh mẽ, sự tối ưu, tốc độ đáng gờm, độ bảo mật cao khi dùng trong hệ sinh thái của Apple như là máy Mac và hệ điều hành MacOS. Từ đó đến giờ, Safari vẫn luôn duy trì phong độ ổn định, với con số hiện tại là 20% thị phần.
Netscape chết đi, để lại một đống tro tàn, và từ đống tro tàn ấy, một chú phượng hoàng lửa (hoặc cáo lửa) sẽ trỗi dậy. Năm 2004, với nền tảng là bộ mã nguồn mở từ Netscape, trình duyệt Firefox được sinh ra. Kế thừa cách tiếp cận của Netscape, Firefox cũng là một trình duyệt mã nguồn mở, trái với sự kín kẽ và đóng mã nguồn của IE. Firefox được tạo ra với tinh thần tự do và hướng tới cộng đồng, nói cách khác, Firefox là một trình duyệt mã nguồn mở cho phép các lập trình viên trên toàn thế giới có thể tìm hiểu cách hoạt động của Firefox, tham gia quá trình phát triển, đưa ra ý kiến cải tiến sản phẩm. Quay lại với ví dụ về Vinfast trước đó, nếu Vinfast hoạt động theo hướng công khai toàn bộ quá trình làm việc và tài sản trí tuệ, các kỹ sư xe điện trên thế giới có thể tuỳ ý tìm hiểu và đóng góp ý kiến giúp xe Vinfast cải thiện. Mặt lợi của việc mã nguồn mở là có thể tận dụng được sức lực của cộng đồng với chi phí thấp, còn mặt hại là sẽ chẳng có cái gọi là bí mật kinh doanh (do mọi tài sản trí tuệ đều công khai, ai cũng có thể thoải mái sao chép ý tưởng) và sự giúp đỡ của cộng đồng không phải là thứ ổn định (vì cộng đồng không được trả thù lao).
Firefox thời kỳ đầu
Firefox thời kỳ đầu
Việc Firefox ra đời ra mở ra Chiến tranh Trình duyệt Thứ hai, kéo dài từ 2004 đến 2017. Thời gian thấm thoắt thoi đưa, Firefox chiếm thị phần của IE chậm mà chắc như tằm ăn dâu. Sau 5 năm, Firefox đạt đỉnh thị phần với 31%, trở thành một thế lực đáng gờm trong thế giới trình duyệt. Mình vẫn nhớ vào năm này, có lần mình sang nhà đứa bạn chơi game. Như một thói quen, mình bấm vào IE để lên mạng. Bố thằng bạn thấy vậy, ngay lập tức thể hiện sự uyên bác hết xảy và cập nhật tối tân về công nghệ, chỉ chỉ trỏ trỏ cho mình biểu tượng con cáo lửa uốn quanh trái đất, bảo rằng dùng cái này mới mốt, mới oách, mới xịn. Mình ồ à ố á trong sự kinh ngạc khôn xiết, cảm thấy rằng khi công nghệ tiến lên phía trước, chỉ có mình là bị bỏ lại phía sau.
Ở một diễn biến khác, năm 2006 là một năm cách mạng cho JavaScript, với sự xuất hiện của 2 công nghệ mạnh mẽ là Ajax và Jquery.
Ajax là một kỹ thuật giúp trang web có thể xử lý thông tin một cách bất đồng bộ. Trước khi có Ajax, nếu bạn muốn lấy dữ liệu mới về trang web, bạn sẽ phải tải lại cả trang web. Ví dụ như khi bạn đang mua hàng, bạn thấy có món đồ vừa ý, và bạn bấm vào nút “Hiện giá”. Lúc này, trình duyệt sẽ tải lại, để cho bạn thẫn thờ chờ đợi trong vô định, và nội dung sau khi tải lại chỉ khác nội dung trước đó là mục giá tiền thôi. Việc này tốn thời gian và phung phí dữ liệu một cách khủng khiếp, gây ra bao phiền hà cho người dùng. Ajax ra đời với mục đích giải quyết vấn đề nhức nhối này: Ajax cho phép trang web của bạn gọi tới máy chủ và chỉ lấy về thông tin cần thiết. Quay trở lại ví dụ, khi bạn bấm vào nút “Hiện giá”, trang web của bạn sẽ gọi đến máy chủ chỉ để lấy thông tin giá, và sau đó hiển thị thêm mục giá tiền lên trên trang web. Bạn chẳng cần phải đợi trang tải lại nữa. Có người bảo đợi chờ là hạnh phúc, nhưng sự đợi chờ này quả là muôn phần sai sót khi xét ở khía cạnh trải nghiệm người dùng. Việc này tiết kiệm được rất nhiều thời gian và dung lượng phải gửi qua gửi lại, ngoài ra còn làm trải nghiệm người dùng mượt mà hơn. Thời này, khái niệm ứng dụng web (Web Application) nổi lên với sự xuất hiện của trang Gmail và Google Maps. Hai trang này xài Ajax, khiến cho trải nghiệm mượt mà chẳng khác gì ứng dụng trên desktop, làm lay động trái tim của không biết bao nhiêu người dùng.
Cùng năm đó, Jquery được phát minh. Về bản chất, Jquery là một thư viện JavaScript.
Cho những độc giả đang thắc mắc khái niệm thư viện là gì, thì có thể hiểu như sau: nếu ví JavaScript là các khối Lego lẻ tẻ, thì thư viện là một bộ công cụ tiện lợi được lắp sẵn từ Lego như dao, kéo, búa, vân vân. Bạn có nhu cầu đập phá thì lấy búa xài luôn, chứ không cần ngồi lắp các mẩu nhỏ thành một cây búa hoặc dùng mấy mẩu Lego đem đi đập linh tinh, vừa kém hiệu quả lại tốn thời gian. Jquery là một bộ công cụ như thế.
Trước khi có Jquery, các trình duyệt không hề thống nhất trong cách chạy JavaScript, do đó mà 1 đoạn JavaScript có thể chạy ngon ở trình duyệt này lại có thể không hoạt động ở trình duyệt khác, giống như là các trình duyệt cùng nói tiếng Việt (JavaScript) nhưng lại dùng tiếng Việt của những vùng miền khác nhau. Các lập trình viên khi đó phải vất vả viết JavaScript phục vụ cho từng trình duyệt, giống như diễn tả quả roi cho người bắc thì viết là roi, người miền nam thì là mận, người tiểu vương quốc thì là bồng bồng. Thật trớ trêu, khi mà trong thời kỳ hỗn mang, sự bất đồng giữa các trình duyệt nằm ở việc sử dụng các ngôn ngữ lập trình khác nhau (JavaScript và JScript), và đã được ECMA giải quyết bằng bộ tiêu chuẩn ECMAScript, thì sau đó, lòi ra vấn đề bất đồng trong chính cách chạy JavaScript giữa các trình duyệt, khiến giới lập trình viên vò đầu bứt tai. Jquery ra đời, vừa biến việc viết JavaScript trở nên tiện lợi (vì Jquery là thư viện, hay bộ công cụ tiện lợi như đã nói ở trên), vừa đảm bảo viết 1 lần thì JavaScript sẽ chạy ngon lành ở mọi trình duyệt (vì Jquery đã xử lý hết việc đồng nhất roi-mận-bồng bồng cho người dùng), lại còn tích hợp Ajax. Từ đó mà các kỹ sư phần mềm bớt được rất nhiều thời gian làm những thứ lặp đi lặp lại, hướng trọng tâm vào giải quyết nhu cầu thực sự của người dùng. Jquery đã khai thông cái bế tắc trong lòng bao kỹ sư phần mềm, và một lần nữa, thiên hạ lại thái bình, giang sơn lại thống nhất.
Với sự phát triển của những công nghệ vừa kể, việc tạo ra trang web ngày càng tốn ít thời gian công sức và sản phẩm làm ra ngày càng chất lượng. Người dùng liên tục chứng kiến những ứng dụng web tân tiến sinh ra nhằm phục vụ những nhu cầu ngày càng phức tạp của họ.

Phần 4: Trăm hoa đua nở, trăm nhà đua tiếng

Năm 2008, khi cuộc đối đầu giằng co giữa Firefox và IE đang cao trào, bỗng có một nhân tố đột phá, thay đổi bức tranh trình duyệt đến tận ngày nay. Nhân tố ấy mang tên Chrome.
Được phát triển bởi Google, Chrome xuất hiện như một chú ngựa ô. Chrome nhanh chóng được cộng đồng yêu thích bởi giao diện thân thiện, trải nghiệm sử dụng mượt mà, tốc độ cao, tích hợp mạnh mẽ với các nền tảng trong hệ sinh thái của Google. Tận dụng việc công cụ tìm kiếm Google đã quá phổ biến, Chrome nhanh chóng tiếp cận được hàng triệu người dùng, giống như câu chuyện của IE năm xưa. Năm 2009, Firefox đạt 31% thị phần và từ từ giảm dần qua những năm sau đó. Còn Chrome thì vụt lên như vũ bão, dần dần đẩy Firefox và IE ra khỏi top đầu. Chỉ sau 4 năm, đến 2012, Chrome hiên ngang đội cho mình vương miện nhà vua với thị phần cao nhất, và vương miện ấy vẫn còn nằm trên đầu Chrome cho đến hôm nay, với hơn 60% thị phần.
Hướng cái nhìn về Việt Nam, năm 2013, một phiên bản anh em sinh đôi khác cha khác mẹ của Chrome xuất hiện, mang tên Cờ Rôm Cộng. Trình duyệt này quảng cáo rầm rộ trên các trang báo mạng và các trang chơi flash game, thu hút một lượng lớn người dùng trong nước. Cờ Rôm Cộng đã đổi tên thành Cốc Cốc, và vẫn hoạt động ổn định đến hôm nay.
Về mặt công nghệ làm ra ứng dụng web, giai đoạn từ 2010 đến nay chứng kiến sự nở rộ khủng khiếp của các công nghệ mới và sự lụi tàn nhanh chóng của những kẻ không còn phù hợp với thời cuộc. Thật dễ hiểu, mọi thứ rồi sẽ tồn tại và chuyển động theo con đường tiến hoá đúng đắn nhất. Công nghệ nào không kịp thích ứng và tiến hóa rồi sẽ có ngày chỉ còn tồn tại trong ký ức.
Ở địa hạt JavaScript, mặc dù đã có bộ công cụ mạnh mẽ mang tên Jquery, các lập trình viên vẫn đòi hỏi một thứ gì đó tiện lợi hơn để tạo ứng dụng web. Google đã cho họ câu trả lời vào năm 2010 bằng cách ra mắt Angular, một framework JavaScript để tạo ứng dụng web.
Hẳn là độc giả lại thắc mắc: framework là cái chi? Quay lại ví dụ vừa nãy, nếu coi JavaScript là các mẩu Lego, và bạn cần phải lắp một cái xe, thì bạn vẫn hoàn toàn có khả năng làm được, chỉ là bạn sẽ mất nhiều thời gian lắp từng mẩu nhỏ với nhau. Framework, như cái tên của nó, là một bộ khung. Bạn có thể coi framework như là tập hợp các linh kiện như bánh xe, cửa xe, ghế ngồi được lắp sẵn, và bạn chỉ việc ghép các linh kiện vào với nhau để tạo ra chiếc xe hoàn chỉnh với ít thời gian công sức phải bỏ ra hơn, ngoài ra bạn có thể nâng cấp thay đổi chiếc xe một cách dễ dàng, như là thay bánh, thay cửa, thêm ghế ngồi, thêm thùng chứa, gắn gương.
Việc các framework ra đời giúp giới lập trình viên dễ phát triển, bảo trì, mở rộng tính năng ứng dụng web. Không nằm ngoài xu thế, vào năm 2013, Facebook cho ra đời React, một framework giúp tạo ra ứng dụng web dễ dàng. Năm 2014, một cựu nhân viên Google tạo ra Vue, cũng là một framework cho ứng dụng web. Bộ ba Angular-React-Vue từ đó trở thành những công nghệ quan trọng cho ứng dụng web.
Năm 2015, phiên bản mới nhất của HTML trình làng, được gọi là HTML5. HTML5 cho phép chèn trực tiếp file video và audio vào trang web, ngoài ra còn bổ sung các tính năng cho biểu mẫu, làm cho trang web ngày càng tiện lợi. HTML5 vẫn đang là tiêu chuẩn cho tới nay.
Cùng năm đó, khi chứng kiến sự sụt giảm không phanh của IE, Microsoft quyết định cải tổ IE và cho ra đời trình duyệt Edge nhằm thay thế IE. Tuy vậy, từ đó đến nay, Edge vẫn chiếm thị phần khá nhỏ, mặc cho sự quảng bá hết mức của Microsoft. Lật đổ được ngôi vương của Chrome quả thật không dễ.
Năm 2017, với sự sụt giảm thị phần của Firefox, Edge, khi mà mỗi trình duyệt chỉ chiếm dưới 5% thị phần, và sự độc tôn của Chrome với hơn 60% thị phần, cựu giám đốc công nghệ của Mozilla (cty chủ quản của Firefox) đã tuyên bố rằng Chrome là kẻ chiến thắng. Hành động giương cờ trắng này đã kết thúc Chiến tranh Trình duyệt Thứ hai.
Chiến tranh Trình duyệt Thứ 2
Chiến tranh Trình duyệt Thứ 2
Trở lại một chút với JavaScript, không chỉ sự nổi lên của các framework mới là điều ấn tượng, mà còn là sự xuất hiện của các công cụ hỗ trợ giúp việc lập trình web ngày càng dễ dàng.
Năm 2009, NPM (Node Package Manager) ra đời. Hiểu nôm na thì NPM là một khu chợ cho các thư viện JavaScript: nếu bạn cất công tạo ra được một chiếc chảo Lego từ một đống mẩu Lego nhỏ lẻ, bạn có thể đem chiếc chảo của mình lên khu chợ NPM này, và mọi người trên thế giới có thể lấy về dùng mà không cần phải mất công nghiên cứu làm lại cái chảo tương tự. Điều này thúc đẩy sự chia sẻ kiến thức, tạo ra môi trường cạnh tranh lành mạnh, và là nguồn tài nguyên quý báu của các lập trình viên.
Năm 2011, Browserify xuất hiện. Cơ bản thì Browserify là công cụ cho phép đóng gói ứng dụng web thành một khối thống nhất và gọn nhẹ.
Lại phải nói thêm một chút để bạn đọc hiểu khái niệm đóng gói là gì. Ở trên ta đã có ví dụ về ba chàng hiệp sĩ mộng mơ HTML-CSS-JavaScript là ba thành phần đóng vai trò cốt yếu trong việc tạo nên trang web. Công cụ đóng gói sẽ kết hợp 3 thành phần này lại, sắp xếp chúng để tạo ra một ứng dụng web hoàn chỉnh. Có thể bạn đã từng đọc Doraemon, có tập truyện ngắn xuất hiện bảo bối Máy sản xuất con người. Với nguyên liệu là HTML (khung xương), CSS (bộ da), JavaScript (não), công cụ đóng gói sẽ hoạt động giống Máy sản xuất con người, sẽ bọc da ngoài xương cho đúng chỗ, lắp não vào đúng vị trí, lược bỏ những phần thừa thãi, rồi đưa ra sản phẩm cuối cùng là một con người hoàn thiện.
Ứng dụng web TRƯỚC khi có công cụ đóng gói
Ứng dụng web TRƯỚC khi có công cụ đóng gói
Ứng dụng web SAU khi có công cụ đóng gói
Ứng dụng web SAU khi có công cụ đóng gói
Mới chỉ hơn 30 năm từ lúc trình duyệt đầu tiên xuất hiện, và mới gần 20 năm từ lúc lần đầu tiên mình dùng internet, bức tranh thế giới công nghệ đã phát triển chóng mặt. Có thể với nhiều người, mấy trang web thì cũng chỉ là mấy trang web thôi, cũng chỉ là vài dòng chữ với vài mẩu ảnh không hơn không kém, nhưng đằng sau cánh gà, biết bao nhiêu tiến bộ về công nghệ đã giúp cái gọi là “chỉ là trang web” đó ngày càng nhanh, tiện lợi, mạnh mẽ, bảo mật, thân thiện, và phục vụ nhiều mục đích hơn của con người. Công nghệ đã, đang, và sẽ luôn có điểm yếu, nhưng còn điểm yếu là còn tiềm năng để phát triển, để rồi tiếp tục trưởng thành qua sóng gió của thời gian.