Khoảng 15 năm trước, tôi đang làm việc tại một công ty nơi chúng tôi xây dựng ứng dụng cho các đại lý du lịch, nhân viên sân bay và các công ty hàng không. Chúng tôi cũng đã xây dựng khung nội bộ của riêng mình cho các thành phần giao diện người dùng và khả năng của ứng dụng một trang. Chúng tôi có các thành phần cho mọi thứ: trường, nút, tab, phạm vi, bảng dữ liệu, menu, bộ chọn ngày, bộ chọn và nhiều bộ chọn. Chúng tôi thậm chí còn có thành phần div. Nhân tiện, thành phần div của chúng tôi rất tuyệt vời, nó cho phép chúng tôi thực hiện các góc tròn trên tất cả các trình duyệt, điều này dù bạn có tin hay không, không phải là một điều dễ dàng thực hiện vào thời điểm đó.

Công việc của chúng tôi diễn ra vào một thời điểm trong lịch sử khi JS, Ajax và HTML động được coi là một cuộc cách mạng đưa chúng tôi đến tương lai. Đột nhiên, chúng tôi có thể cập nhật trang một cách linh hoạt, lấy dữ liệu từ máy chủ và tránh phải điều hướng đến các trang khác, điều này được coi là chậm và nhấp nháy một hình chữ nhật lớn màu trắng trên màn hình giữa hai trang. Có một cụm từ được phổ biến bởi Jeff Atwood (người sáng lập StackOverflow): “Bất kỳ ứng dụng nào có thể viết bằng JavaScript cuối cùng cũng sẽ được viết bằng JavaScript.” – Jeff Atwood

Đối với chúng tôi vào thời điểm đó, điều này giống như một sự dám thực sự dám tạo ra những ứng dụng đó. Cảm giác giống như một sự chấp thuận chung để làm mọi thứ với JS. Vì vậy, chúng tôi đã làm mọi thứ với JS và chúng tôi không thực sự dành thời gian để nghiên cứu các cách làm khác. Chúng tôi không thực sự cảm thấy có động lực để tìm hiểu đúng những gì HTML và CSS có thể làm. Chúng tôi không thực sự coi web là một nền tảng ứng dụng đang phát triển. Chúng tôi chủ yếu coi đó là điều chúng tôi cần phải giải quyết, đặc biệt là khi liên quan đến hỗ trợ trình duyệt. Chúng ta có thể sử dụng thêm JS để hoàn thành công việc. Việc dành thời gian để tìm hiểu thêm về cách hoạt động của web và những gì có sẵn trên nền tảng này có giúp ích được cho tôi không? Chắc chắn rồi, tôi có thể đã loại bỏ một loạt mã không thực sự cần thiết. Nhưng vào thời điểm đó, có lẽ không nhiều đến thế. Bạn thấy đấy, hồi đó sự khác biệt về trình duyệt khá đáng kể. Đây là thời điểm Internet Explorer vẫn là trình duyệt thống trị, Firefox đứng thứ hai nhưng bắt đầu mất thị phần do Chrome nhanh chóng trở nên phổ biến. Mặc dù Chrome và Firefox khá giỏi trong việc thống nhất các tiêu chuẩn web, nhưng môi trường mà ứng dụng của chúng tôi đang chạy có nghĩa là chúng tôi phải hỗ trợ IE6 trong một thời gian dài. Ngay cả khi được phép hỗ trợ IE8, chúng tôi vẫn phải giải quyết rất nhiều điểm khác biệt giữa các trình duyệt. Không chỉ vậy, web thời đó còn không có nhiều khả năng được tích hợp ngay trên nền tảng.

Chuyển nhanh đến ngày hôm nay. Mọi thứ đã thay đổi rất nhiều. Chúng ta không chỉ có nhiều khả năng này hơn bao giờ hết mà tốc độ sử dụng chúng cũng tăng lên. Vậy hãy để tôi đặt lại câu hỏi: Việc dành thời gian để tìm hiểu thêm về cách hoạt động của web và những gì có sẵn trên nền tảng này có giúp ích gì cho bạn ngày hôm nay không? Hoàn toàn có. Học cách hiểu và sử dụng nền tảng web ngày nay mang lại cho bạn lợi thế rất lớn so với các nhà phát triển khác. Cho dù bạn làm việc về hiệu suất, khả năng truy cập, khả năng phản hồi, tất cả chúng cùng nhau hay chỉ cung cấp các tính năng giao diện người dùng, nếu bạn muốn làm điều đó với tư cách là một kỹ sư có trách nhiệm, việc biết các công cụ có sẵn sẽ giúp bạn đạt được mục tiêu của mình nhanh hơn và tốt hơn. Một số thứ bạn có thể không cần đến thư viện nữa Biết được những trình duyệt nào hiện nay hỗ trợ, câu hỏi đặt ra là: Chúng ta có thể bỏ đi những gì? Chúng ta có cần thành phần div để làm tròn các góc vào năm 2025 không? Tất nhiên là không. Thuộc tính bán kính đường viền đã được hỗ trợ bởi tất cả các trình duyệt hiện đang sử dụng trong hơn 15 năm tính đến thời điểm này. Và hình dạng góc cũng sắp ra mắt, dành cho những góc thậm chí còn đẹp hơn. Chúng ta hãy xem xét các tính năng tương đối gần đây hiện có sẵn trong tất cả các trình duyệt chính và bạn có thể sử dụng để thay thế các phần phụ thuộc hiện có trong cơ sở mã của mình. Vấn đề không phải là loại bỏ ngay lập tức tất cả các thư viện yêu thích của bạn và viết lại cơ sở mã của bạn. Đối với mọi thứ khác, trước tiên bạn cần tính đến hỗ trợ của trình duyệt và quyết định dựa trên các yếu tố khác cụ thể cho dự án của bạn. Các tính năng sau được triển khai trong ba công cụ trình duyệt chính (Chromium, WebKit và Gecko), nhưng bạn có thể có các yêu cầu hỗ trợ trình duyệt khác khiến bạn không thể sử dụng chúng ngay lập tức. Tuy nhiên, bây giờ vẫn là thời điểm tốt để tìm hiểu về các tính năng này và có thể dự định sử dụng chúng vào một lúc nào đó. Cửa sổ bật lên và hộp thoại API Popover, phần tử HTML

và phần tử giả ::backdrop có thể giúp bạn loại bỏ sự phụ thuộc vào cửa sổ bật lên,chú giải công cụ và thư viện hộp thoại, chẳng hạn như UI nổi, Tippy.js, Tether hoặc React Tooltip. Chúng xử lý khả năng truy cập và quản lý tiêu điểm cho bạn ngay lập tức, có khả năng tùy chỉnh cao bằng cách sử dụng CSS và có thể dễ dàng tạo hoạt ảnh. đàn accordion Phần tử
, thuộc tính name của nó dành cho các phần tử loại trừ lẫn nhau và phần tử giả ::details-content loại bỏ sự cần thiết của các thành phần accordion như thành phần Bootstrap Accordion hoặc thành phần React Accordion. Chỉ cần sử dụng nền tảng ở đây có nghĩa là những người biết HTML/CSS sẽ dễ dàng hiểu mã của bạn hơn mà không cần phải học cách sử dụng một thư viện cụ thể trước tiên. Điều đó cũng có nghĩa là bạn không bị ảnh hưởng bởi những thay đổi vi phạm trong thư viện hoặc việc ngừng sử dụng thư viện đó. Và tất nhiên, điều đó có nghĩa là sẽ có ít mã hơn để tải xuống và chạy. Các phần tử chi tiết loại trừ lẫn nhau không cần JS để mở, đóng hoặc tạo hoạt ảnh. Cú pháp CSS Các lớp xếp tầng, để có cơ sở mã CSS có tổ chức hơn, lồng CSS, để có CSS nhỏ gọn hơn, các hàm màu mới, màu tương đối và phối màu, các hàm Toán học mới như abs(), sign(), pow() và các hàm khác giúp giảm sự phụ thuộc vào bộ xử lý trước CSS, các thư viện tiện ích như Bootstrap và Tailwind hoặc thậm chí cả các thư viện CSS-in-JS thời gian chạy. Công cụ thay đổi trò chơi :has(), một trong những tính năng được yêu cầu nhiều nhất trong một thời gian dài, loại bỏ nhu cầu về các giải pháp dựa trên JS phức tạp hơn. Tiện ích JS Các phương thức Mảng hiện đại như findLast() hoặc at(), cũng như các phương thức Set như Difference(), giao nhau(), union() và các phương thức khác có thể giảm sự phụ thuộc vào các thư viện như Lodash. Truy vấn vùng chứa Truy vấn vùng chứa làm cho các thành phần giao diện người dùng phản hồi với những thứ khác ngoài kích thước khung nhìn và do đó làm cho chúng có thể tái sử dụng nhiều hơn trong các ngữ cảnh khác nhau. Không cần sử dụng thư viện UI nặng về JS cho việc này nữa và cũng không cần sử dụng polyfill. Bố cục Lưới, lưới con, flexbox hoặc nhiều cột đã xuất hiện từ lâu, nhưng nhìn vào kết quả khảo sát Trạng thái CSS, rõ ràng là các nhà phát triển có xu hướng rất thận trọng khi áp dụng những điều mới và chờ đợi rất lâu trước khi họ làm điều đó. Các tính năng này đã là Baseline từ lâu và bạn có thể sử dụng chúng để loại bỏ sự phụ thuộc vào những thứ như hệ thống lưới của Bootstrap, tiện ích flexbox của Foundation Framework, lưới cố định Bulma, lưới Materialize hoặc cột Tailwind. Tôi không nói rằng bạn nên bỏ khuôn khổ của mình. Nhóm của bạn đã áp dụng nó vì một lý do nào đó và việc loại bỏ nó có thể là một dự án lớn. Nhưng nhìn vào những gì nền tảng web có thể cung cấp mà không cần sự hỗ trợ của bên thứ ba sẽ mang lại rất nhiều lợi ích. Những thứ bạn có thể không cần nữa trong tương lai gần Bây giờ, chúng ta hãy xem nhanh một số thứ bạn sẽ không cần thư viện trong tương lai gần. Điều đó có nghĩa là, những thứ dưới đây chưa hoàn toàn sẵn sàng để áp dụng đại trà, nhưng việc nhận thức được chúng và lập kế hoạch cho việc sử dụng tiềm năng sau này có thể hữu ích. Định vị neo Định vị neo CSS xử lý việc định vị các cửa sổ bật lên và chú giải công cụ so với các thành phần khác và đảm bảo giữ chúng ở chế độ xem, ngay cả khi di chuyển, cuộn hoặc thay đổi kích thước trang. Đây là sự bổ sung tuyệt vời cho API Popover đã đề cập trước đó, điều này sẽ giúp việc di chuyển khỏi các giải pháp JS đòi hỏi nhiều hiệu suất hơn trở nên dễ dàng hơn. API điều hướng API Điều hướng có thể được sử dụng để xử lý điều hướng trong các ứng dụng một trang và có thể là sự bổ sung tuyệt vời hoặc thậm chí là sự thay thế cho các tác vụ Định tuyến React, định tuyến Next.js hoặc Định tuyến góc. Xem API chuyển tiếp API chuyển tiếp chế độ xem có thể hoạt ảnh giữa các trạng thái khác nhau của trang. Trên ứng dụng một trang, điều này giúp việc chuyển đổi mượt mà giữa các trạng thái trở nên rất dễ dàng và có thể giúp bạn loại bỏ các thư viện hoạt ảnh như Anime.js, GSAP hoặc Motion.dev. Tuyệt vời hơn nữa, API còn có thể được sử dụng với các ứng dụng nhiều trang. Hãy nhớ trước đó, khi tôi nói rằng lý do chúng tôi xây dựng các ứng dụng một trang tại công ty nơi tôi đã làm việc 15 năm trước là để tránh hiện tượng nhấp nháy màu trắng khi tải lại trang khi điều hướng? Nếu API đó có sẵn vào thời điểm đó, chúng tôi đã có thể đạt được các hiệu ứng chuyển trang đẹp mắt mà không cần khung một trang cũng như không cần tải xuống toàn bộ ứng dụng ban đầu với số lượng lớn. Hoạt ảnh điều khiển cuộn Hoạt ảnh điều khiển cuộn chạy ở vị trí cuộn của người dùng, thay vì theo thời gian, khiến chúng trở thành giải pháp tuyệt vời để kể chuyện và giới thiệu sản phẩm. Một số người đã hơi quá tay với nó, nhưng khi sử dụng tốt, đây có thể là một công cụ thiết kế rất hiệu quả và có thể giúp loại bỏ các thư viện như: ScrollReveal, GSAP Scroll hoặcWOW.js. Lựa chọn có thể tùy chỉnh Lựa chọn có thể tùy chỉnh là một phần tử

No spam. Join 138,000+ creators. Unsubscribe anytime.

Create Your Free Bio Page

Join 138,000+ creators on Seemless.

Get Started Free