Việc giới thiệu XMLUI, một framework mới mang phát triển giao diện người dùng dựa trên XML đến các ứng dụng web hiện đại, đã châm ngòi cho những cuộc thảo luận sôi nổi giữa các nhà phát triển về việc liệu các công nghệ cũ có xứng đáng được cơ hội thứ hai hay không. Dự án này nhằm mục đích đơn giản hóa phát triển web bằng cách bao bọc các component React trong markup XML, hứa hẹn sẽ làm cho việc tạo giao diện người dùng trở nên đơn giản như thời đại Visual Basic.
Tiếng vọng của các công nghệ quá khứ
Thông báo này đã kích hoạt một làn sóng hoài niệm giữa các nhà phát triển có kinh nghiệm, những người còn nhớ các công nghệ tương tự từ đầu những năm 2000. Nhiều người bình luận ngay lập tức rút ra những điểm tương đồng với XUL ( XML User Interface Language ) của Mozilla, công nghệ đã cung cấp sức mạnh cho giao diện Firefox và cho phép các nhà phát triển xây dựng ứng dụng desktop sử dụng công nghệ web. Những người khác nhớ lại Adobe Flex, XAML của Microsoft, và các tệp .ui của Qt - tất cả đều là những cách tiếp cận dựa trên XML từng hứa hẹn cách mạng hóa việc phát triển giao diện.
Chủ đề lặp lại trong các cuộc thảo luận cộng đồng tập trung vào việc liệu XMLUI có đại diện cho sự đổi mới thực sự hay chỉ đơn giản là tái tạo lại những giải pháp đã bị từ bỏ vì những lý do chính đáng. Một số nhà phát triển lưu ý rằng những cách tiếp cận dựa trên XML này đã không còn được ưa chuộng khi phát triển web tiến hóa hướng tới những lựa chọn thay thế linh hoạt và mạnh mẽ hơn.
Các Công Nghệ Giao Diện XML Lịch Sử Được Đề Cập:
- XUL (XML User Interface Language) - Công nghệ giao diện của Mozilla Firefox
- XAML - Ngôn ngữ đánh dấu của Microsoft cho các ứng dụng .NET
- Adobe Flex/MXML - Framework ứng dụng dựa trên Flash
- Qt .ui files - Định nghĩa giao diện dựa trên XML cho các ứng dụng Qt
- OpenLaszlo - Nền tảng ứng dụng web thời kỳ đầu sử dụng XML
Cuộc tranh luận giữa sự đơn giản và quyền kiểm soát
Một phần đáng kể của cuộc thảo luận tập trung vào sự căng thẳng cơ bản giữa tính dễ sử dụng và quyền kiểm soát của nhà phát triển. Những người ủng hộ lập luận rằng XMLUI có thể dân chủ hóa phát triển web bằng cách làm cho nó trở nên dễ tiếp cận với các lập trình viên cảm thấy thoải mái với các công cụ phát triển desktop truyền thống nhưng bị choáng ngợp bởi sự phức tạp của các framework JavaScript hiện đại.
Tuy nhiên, những người chỉ trích đặt câu hỏi liệu sự đơn giản hóa này có đến với cái giá quá cao hay không. Họ chỉ ra rằng các nhà phát triển web hiện đại mong đợi quyền kiểm soát chính xác đối với styling, layout và behavior - điều mà các cách tiếp cận XML khai báo trong lịch sử đã gặp khó khăn trong việc cung cấp. Cuộc tranh luận phản ánh một cuộc thảo luận rộng lớn hơn trong ngành về việc liệu việc theo đuổi sự đơn giản có nên ghi đè lên nhu cầu kiểm soát chi tiết hay không.
Mối quan ngại về kiến trúc kỹ thuật
Việc triển khai kỹ thuật của XMLUI đã làm nhiều nhà phát triển quen thuộc với triết lý thiết kế của React phải nhướn mày. Framework này về cơ bản thêm một lớp XML lên trên React, điều mà một số người lập luận là mâu thuẫn với các nguyên tắc cốt lõi của React. React được thiết kế để mang các khái niệm immediate-mode UI đến trình duyệt, cho phép các nhà phát triển mô tả giao diện như các hàm của state thay vì quản lý các hệ thống phân cấp đối tượng phức tạp.
Điều này phủ định raison d'être của React, đó là mang phong cách phát triển của immediate mode UI đến trình duyệt—đó là yếu tố thúc đẩy cơ bản đằng sau việc tạo ra React.
Những người chỉ trích cho rằng việc xây dựng các abstraction XML trên React tạo ra sự phức tạp không cần thiết thay vì giảm bớt nó. Họ lập luận rằng các nhà phát triển sẽ được phục vụ tốt hơn bằng cách học các tiêu chuẩn web như custom elements và shadow DOM, những thứ cung cấp chức năng giống như component mà không có overhead framework bổ sung.
Câu hỏi về hiệu suất và tính thực tiễn
Những người sử dụng sớm đã báo cáo những trải nghiệm trái chiều với các đặc tính hiệu suất của XMLUI. Kích thước 4.23 MB minified của framework và 90 dependencies đã làm dấy lên mối quan ngại về việc liệu nó có thực hiện được lời hứa về sự đơn giản hay không. Một số nhà phát triển lưu ý rằng trang web tài liệu chính thức, được xây dựng bằng chính XMLUI, hoạt động kém trên các thiết bị di động.
Những vấn đề hiệu suất này làm nổi bật một thách thức phổ biến với các lớp abstraction: chúng thường tạo ra overhead trong khi cố gắng đơn giản hóa phát triển. Cuộc thảo luận cộng đồng tiết lộ sự hoài nghi về việc liệu XMLUI có thể đạt được cả sự đơn giản và hiệu suất trong các ứng dụng thực tế hay không.
Thông số kỹ thuật của XMLUI :
- Kích thước framework: 4.23 MB (đã nén tối thiểu)
- Phụ thuộc: 90 phụ thuộc trực tiếp (931 được giải quyết đầy đủ)
- Được xây dựng trên hệ sinh thái React
- Sử dụng markup XML để định nghĩa component
- Hỗ trợ data binding và cập nhật reactive
- Bao gồm khả năng theming và styling
Di sản Visual Basic
Có lẽ khía cạnh thú vị nhất của cuộc thảo luận XMLUI là cách nó đã khơi lại các cuộc trò chuyện về cách tiếp cận phát triển ứng dụng nhanh của Visual Basic. Nhiều nhà phát triển bắt đầu sự nghiệp với VB nhớ lại họ có thể xây dựng các ứng dụng chức năng nhanh chóng như thế nào với giao diện kéo-thả và xử lý sự kiện đơn giản.
Sự hoài niệm đối với mô hình phát triển này cho thấy rằng bất chấp hàng thập kỷ tiến bộ trong công nghệ web, nhiều nhà phát triển vẫn cảm thấy rằng có điều gì đó đã bị mất trong quá trình chuyển đổi từ phát triển desktop sang web. Nỗ lực của XMLUI trong việc thu hẹp khoảng cách này gây được tiếng vang với các nhà phát triển tin rằng phát triển web hiện đại đã trở nên phức tạp một cách không cần thiết đối với các trường hợp sử dụng phổ biến.
Mặc dù XMLUI có thể không cách mạng hóa phát triển web, nó đã thành công trong việc khơi dậy những cuộc trò chuyện quan trọng về sự cân bằng giữa sức mạnh và sự đơn giản trong các công cụ phát triển. Việc liệu nó có được chú ý hay không có thể sẽ phụ thuộc vào khả năng thực hiện lời hứa cốt lõi của nó: làm cho phát triển web trở nên dễ tiếp cận mà không hy sinh các khả năng mà các ứng dụng hiện đại yêu cầu.
Tham khảo: Introducing XMLUI