- Tôi có quan điểm hoài nghi về low-code
- Khi làm tư vấn phần mềm, tôi thường gặp các khách hàng bị thu hút bởi quảng cáo hứa hẹn thời gian phát triển nhanh và chi phí bảo trì thấp của low-code
- Có một số lý do khiến khách hàng không hài lòng
Giới hạn của tính năng tùy biến
- Các giải pháp low-code đáp ứng khoảng 80% yêu cầu của doanh nghiệp, nhưng 20% còn lại không thể giải quyết bằng tính năng mặc định
- Những người tiếp thị công cụ low-code khẳng định 20% còn lại có thể được xử lý dễ dàng, nhưng trên thực tế lại cần mức độ tùy biến đáng kể và đôi khi là không thể
- Doanh nghiệp phải chọn giữa việc liệu các tính năng mặc định của công cụ có đủ gần với nhu cầu hay không, hoặc cố gắng hack công cụ để khớp chính xác với trường hợp sử dụng của mình
Hạn chế của nguồn nhân lực lập trình viên
- Doanh nghiệp đôi khi cố hack công cụ low-code để đáp ứng 100% yêu cầu
- Kết quả là phải viết rất nhiều mã tùy biến bằng một công cụ cụ thể hoặc ngôn ngữ độc quyền, đến mức số lập trình viên có thể hiểu được là cực kỳ ít
- Khi đó, thay vì tuyển từ nguồn lập trình viên dùng các ngôn ngữ mã nguồn mở phổ biến, công ty phải tìm người bảo trì có chuyên môn rất sâu với chính công cụ này
Vấn đề khi nâng cấp nền tảng
- Việc nâng cấp phần mềm mà vẫn không làm hỏng các tích hợp liên quan là rất khó
- Công cụ low-code phải xử lý mã tùy ý cho những trường hợp sử dụng mà bản thân công cụ không được thiết kế để phục vụ
- Lý thuyết thì điều này phải thực hiện được thông qua các hợp đồng API chặt chẽ, nhưng thực tế tôi đã thấy rất nhiều mã tùy biến làm đủ mọi trò ở bên trong
Sự hỗn loạn trong cấu trúc cơ sở dữ liệu
- Tôi từng thấy các doanh nghiệp dùng công cụ low-code cho những quy trình mà phân tích chính xác là điều bắt buộc
- Nhưng khi nhìn vào mô hình dữ liệu nền tảng thì mọi thứ trở nên khó hiểu:
user_attribute_47 nghĩa là gì? Chỉ cần chuyển một trường từ trang 1 sang trang 2 của ứng dụng là dữ liệu lại nằm ở một trường riêng khác?
Ý kiến của GN⁺
- Low-code là một công cụ đầy hứa hẹn có thể giúp tăng tốc phát triển và giảm chi phí bảo trì, nhưng khi sử dụng thực tế có thể phát sinh những vấn đề ngoài dự kiến.
- Đặc biệt, khi cần tính năng tùy biến hoặc phải phụ thuộc vào ngôn ngữ phát triển gắn với một công cụ low-code cụ thể, nguồn lập trình viên sẽ bị thu hẹp và việc bảo trì trở nên khó khăn hơn.
- Việc nâng cấp công cụ low-code và sự phức tạp trong cấu trúc cơ sở dữ liệu là những điểm cần cân nhắc quan trọng trong quản lý dự án dài hạn.
- Bài viết này chỉ ra những điều cần lưu ý khi sử dụng công cụ low-code và mang lại góc nhìn đáng chú ý bằng cách khuyến nghị đánh giá thận trọng các trường hợp sử dụng phù hợp.
5 bình luận
Cho đến nay, tôi cho rằng khái niệm no-code chỉ được áp dụng một cách giới hạn trong những lĩnh vực nhất định.
Tôi nghĩ trước hết là khi xuất hiện những dịch vụ well-made sử dụng LLM, thì trend của no-code? dòng chảy? xu thế? dù sao thì khái niệm này cũng sẽ thay đổi.
Tôi biết một trường hợp đã tận dụng MS Access khá hữu ích vào khoảng 10 năm trước.
Trong hệ thống thông tin của tổ chức có một cơ sở dữ liệu được thiết kế tương đối tốt và triển khai trên MS Sql Server,
và các tác vụ OLTP hằng ngày cũng được triển khai tương đối ổn.
Tuy nhiên, sự bất mãn đã tích tụ trước cách phản hồi chậm chạp và thiếu tích cực của bộ phận IT đối với các yêu cầu truy vấn dữ liệu không thường xuyên và in báo cáo.
Một nhân viên của bộ phận nghiệp vụ rất thành thạo MS Excel và Access đã cho thấy rằng bằng cách import dữ liệu Excel được tải xuống từ hệ thống thông tin vào Access, họ có thể triển khai các chức năng truy vấn dữ liệu và in báo cáo cần thiết bằng Access chỉ trong vài giờ, hoàn toàn không cần viết mã.
Bộ phận nghiệp vụ yêu cầu có thể kết nối trực tiếp từ Access vào DB, còn bộ phận IT thì phản đối việc để lộ DB của hệ thống thông tin ra mạng bên ngoài. Tuy vậy, vì yêu cầu từ bộ phận nghiệp vụ quá mạnh nên cuối cùng đã tạo riêng một DB được mirror chỉ với một phần dữ liệu rồi cho phép truy cập.
Những nhân viên thành thạo các tính năng dữ liệu của Excel chỉ sau vài ngày đào tạo đã bắt đầu sử dụng Access cho công việc.
Tôi khá đồng cảm với bài viết này. Đây là suy nghĩ cá nhân của tôi thôi,
Nếu dùng cú pháp đặc thù -> sẽ cần thời gian học và việc bảo trì trở nên khó khăn hơn
Nếu chỉ đơn thuần thay thế code bằng UI -> nhiều khi cứ lập trình trực tiếp còn tiện hơn
Nếu trở thành công cụ no-code hoàn chỉnh -> sẽ có nhiều ràng buộc và dễ khiến người dùng phải "hack" lách luật. Tần suất người dùng tạo ra hành vi ngoài dự định cũng tăng mạnh
Kết quả: nó trở thành một công cụ không thể làm hài lòng bất kỳ ai.
Khoảng cách giữa khâu lên kế hoạch, phát triển và người dùng quá lớn, nên đây có vẻ là một lĩnh vực khó làm tốt hơn tưởng tượng.
Ý kiến trên Hacker News
Góc nhìn của một nhà phát triển nền tảng low-code
Góc nhìn của một SRE (kỹ sư độ tin cậy hệ thống)
Góc nhìn về nền tảng low-code của Microsoft
Kinh nghiệm kinh doanh chuyển đổi các giải pháp cơ sở dữ liệu/biểu mẫu MS-Access
Góc nhìn của nhà phát triển website builder SQLPage
Ý kiến phản đối các công cụ low-code cấp doanh nghiệp
Góc nhìn về low-code và các tầng trừu tượng
Kinh nghiệm xây dựng MVP bằng Bubble/Airtable
Câu chuyện kinh hoàng khi phát triển khóa học học low-code
Câu hỏi về khả năng quản lý phiên bản của triển khai low-code