Một nhà phát triển đã phát hành wrapper mã nguồn mở cho thư viện vẽ sơ đồ Isoflow phổ biến, giúp người dùng dễ dàng tạo và quản lý các sơ đồ kỹ thuật đẳng cự hơn. Dự án ban đầu có tên OpenFLOW, cung cấp một Progressive Web App (PWA) sẵn sàng sử dụng chạy hoàn toàn trên trình duyệt với hỗ trợ offline và tính năng lưu tự động.
Ngăn xếp công nghệ:
- React - Framework giao diện người dùng
- TypeScript - Đảm bảo an toàn kiểu dữ liệu
- Isoflow - Engine tạo sơ đồ đẳng cự
- PWA - Ứng dụng web ưu tiên hoạt động ngoại tuyến
Trùng tên gây ra vấn đề khám phá
Dự án ngay lập tức gặp phải vấn đề về tên gọi trong cộng đồng công nghệ. Nhiều người dùng chỉ ra rằng OpenFlow đã là một giao thức telemetry mạng được thiết lập từ lâu mà mọi kỹ sư mạng đều biết. Sự nhầm lẫn còn được gia tăng khi Snowflake ra mắt sản phẩm có tên Openflow chưa đầy một tháng trước khi dự án này được phát hành.
Đọc tiêu đề, tôi mong đợi những sơ đồ mạng dễ thương từ dữ liệu telemetry OpenFlow tổng hợp!
Nhà phát triển nhanh chóng thừa nhận sự thiếu sót và đổi tên dự án thành FOSSFlow chỉ trong vài giờ sau khi nhận được phản hồi. Điều này nhấn mạnh tầm quan trọng của việc nghiên cứu các tên đã tồn tại trong lĩnh vực mục tiêu trước khi ra mắt một dự án.
Cộng đồng tìm kiếm các tính năng tích hợp nâng cao
Người dùng thể hiện sự quan tâm mạnh mẽ đến việc mở rộng khả năng của công cụ vượt ra ngoài việc tạo sơ đồ cơ bản. Nhiều người yêu cầu tích hợp với các hệ thống tài liệu phổ biến, đặc biệt là hỗ trợ Markdown tương tự như những gì Mermaid.js cung cấp. Khả năng nhúng các sơ đồ đẳng cự này trực tiếp vào các trình tạo trang web tĩnh sẽ tăng đáng kể việc áp dụng.
Một số nhà phát triển cũng bày tỏ sự quan tâm đến việc kết nối các sơ đồ với dữ liệu cơ sở hạ tầng trực tiếp. Các ý tưởng bao gồm lấy dữ liệu từ các tệp state Terraform, manifest Kubernetes, và các hệ thống khám phá dịch vụ để tạo tài liệu sống luôn đồng bộ với các triển khai thực tế. Điều này sẽ biến đổi các sơ đồ từ những tạo phẩm tĩnh thành những biểu diễn động của các hệ thống thực.
Các tính năng được yêu cầu:
- Tích hợp Markdown cho các trình tạo trang web tĩnh
- Tích hợp tệp trạng thái Terraform
- Hỗ trợ manifest Kubernetes
- Các định dạng xuất hình ảnh (PNG, JPG)
- Xuất đồ họa vector
- Hỗ trợ biểu tượng SVG tùy chỉnh
Triển khai kỹ thuật và hạn chế
Wrapper về cơ bản cung cấp giao diện thân thiện với người dùng xung quanh phiên bản cộng đồng Isoflow hiện có. Mặc dù nhà phát triển ban đầu đã minh bạch về điều này, một số thành viên cộng đồng cảm thấy cách trình bày ban đầu có thể rõ ràng hơn về công nghệ cơ bản đang thực hiện phần lớn công việc.
Công cụ lưu trữ các sơ đồ cục bộ trong localStorage của trình duyệt, có giới hạn 5-10MB. Người dùng phải thường xuyên xuất các sơ đồ quan trọng dưới dạng tệp JSON để sao lưu. PWA yêu cầu HTTPS để có đầy đủ chức năng, mặc dù nó hoạt động trên localhost cho việc phát triển.
Giới hạn Lưu trữ:
- localStorage của trình duyệt: giới hạn ~5-10MB
- Tự động lưu: Mỗi 5 giây
- Yêu cầu sao lưu: Khuyến nghị xuất JSON thường xuyên
- Yêu cầu HTTPS cho các tính năng PWA (trừ localhost)
Yêu cầu định dạng xuất thúc đẩy phát triển tương lai
Phản hồi từ cộng đồng tiết lộ nhu cầu mạnh mẽ về các định dạng xuất bổ sung ngoài JSON. Người dùng đặc biệt yêu cầu các định dạng hình ảnh như PNG và JPG, cũng như hỗ trợ đồ họa vector. Khả năng thêm các biểu tượng SVG tùy chỉnh cũng được đề cập thường xuyên, với một số người dùng muốn tích hợp công cụ với các hệ thống AI có thể tự động tạo JSON sơ đồ.
Dự án chứng minh cách bao bọc các thư viện hiện có với trải nghiệm người dùng tốt hơn có thể tạo ra giá trị cho cộng đồng, ngay cả khi chức năng cốt lõi đến từ nơi khác. Tuy nhiên, nó cũng cho thấy tầm quan trọng của việc nghiên cứu tên gọi phù hợp và giao tiếp rõ ràng về công nghệ nào cung cấp sức mạnh cho giải pháp của bạn.
Tham khảo: OpenFLOW - Isometric Diagramming Tool