Chúng ta đã bắt đầu nghe rất nhiều về các nền tảng mã thấp (low-code) và nền tảng không mã (no-code). Các nền tảng no-code sẽ giúp phát triển phần mềm dễ dàng như sử dụng Word, Excel hoặc PowerPoint để người dùng doanh nghiệp bình thường cũng có thể tự thiết kế phần mềm mà không cần thuê một đội kỹ sư, lập trình viên giàu kinh nghiệm. Khác với các nền tảng no-code, các nền tảng low-code vẫn yêu cầu kỹ năng viết mã bậc cao (mã script, macro hoặc mã nhúng embed code). Lợi ích của low-code ở chỗ có thể đẩy nhanh quá trình phát triển phần mềm bằng cách cho phép các nhà phát triển làm việc với các thành phần mã viết sẵn, điều mà kỹ thuật này không thể thực hiện ở tầng no-code. Vậy chính xác no-code, low-code là gì và tại sao các nền tảng không mã và mã thấp lại gây chú ý đến vậy?
"No-Code" là gì?
Nền tảng no-code cung cấp các công cụ để tạo Web và ứng dụng di động mà không cần viết code. Nói một cách dễ hiểu, bạn muốn xây dựng một ứng dụng (di động, Web, v.v.) nhưng bạn không biết cách viết code, bạn có thể sử dụng một nền tảng để xây dựng và tích hợp các thành phần riêng lẻ thành một khối liên thông theo một workflow nào đó. Thay vì xây dựng ứng dụng của bạn bằng cách viết code, bạn kéo và thả các khối (block) hoặc nhúng vào các trường động (custom field), các bộ lọc (data filter), các biểu mẫu (reporting template), biểu đồ (chart).. tương tự như tạo biểu đồ từ các dữ liệu bảng tính Excel vậy.
Các giải pháp no-code tương tự như các nền tảng blog phổ biến (Wordpress, Drupal, Odoo Web Builder...) hoặc các công ty thiết kế trang Web thương mại điện tử có các trang được tạo sẵn mà bạn có thể sử dụng để khởi chạy blog hoặc Website doanh nghiệp của mình chỉ trong vài phút.
Đó chính là tương lai trò chơi của Lego trong thiết kế phần mềm, hay triết lý DYI (Do-It-Yourself) của hãng nội thất nổi tiếng thế giới IKEA.
IKEA là thương hiệu nổi tiếng toàn cầu về đồ nội thất có nguồn gốc tại Thụy Điển. Doanh số của IKEA tăng trưởng mạnh ở nhiều nước. Nhiều người nghĩ IKEA thành công vì sản phẩm của họ đẹp, đa dạng và giá phải chăng. Đó là nhận xét chính xác, song không phải là yếu tố khiến IKEA khác biệt so với những doanh nghiệp nội thất khác. Công thức bí mật để thành công của IKEA chẳng giống ai – đó chính là DIY - Do It Yourself (“bắt khách hàng làm việc”). Có thể nhiều người nghĩ đây là ý tưởng điên rồ. Thực tế, khách hàng lại rất yêu thích sản phẩm dù công ty lại bắt họ phải tự lắp ráp và tạo nên hiệu ứng IKEA giúp thương này luôn là thương hiệu tỷ đô trong ngành nội thất.
"Low-Code" là gì?
Low-code là cách để các nhà phát triển ở mọi cấp độ kỹ năng thiết kế ứng dụng một cách nhanh chóng bằng cách kéo và thả các khối mã trực quan hiện có vào quy trình làm việc để tạo ứng dụng và sử tối thiểu việc viết mã thủ công. Xây dựng phần mềm với mã thấp cũng giống như xây dựng phần mềm theo bất kỳ cách nào khác, với sự khác biệt chính là các loại phím tắt được cung cấp. Thay vì viết mã thủ công, tìm hiểu framework mới hoặc tập trung vào việc kiểm thử về một dòng mã của ứng dụng, bạn tiến thẳng đến việc tạo ra thứ gì đó mới và có giá trị.
Các nhà phát triển sẽ làm việc thông minh hơn và nhanh hơn với low-code vì họ không bị ảnh hưởng bởi việc coding lặp đi lặp lại hoặc công việc trùng lặp. Thay vào đó, họ tập trung vào việc tạo ra 10% ứng dụng khiến nó trở nên khác biệt, sử dụng kinh nghiệm phát triển và kỹ năng của họ để kiến trúc tất cả và để công việc khó khăn cho công cụ hoặc nền tảng mã thấp.
Tuy nhiên, việc phát triển low-code thường yêu cầu một số mức độ chuyên môn về mã hóa kỹ thuật. Một cách dễ dàng để nhớ tất cả điều này: Từ “thấp” (low) không ngụ ý “không có gì” . Mã thấp vẫn liên quan đến một số nỗ lực của các nhà phát triển.
Lập trình drag/drop - trái tim của Low-Code, No-Code
Hẳn các bạn còn nhớ môn lập trình Scratch dành cho học sinh cấp tiểu học. Các bé đã được tiếp cập lập trình bằng cách kéo thả các khối trong môi trường trực quan của Scratch (tương tự môi trường Visual Studio trong .NET hay Visual Basic trước đây).
Các khối này có đặc điểm là có thể ghép với các khối khác để tạo nên một workflow hay một hoạt cảnh trong game, kỹ thuật này tương tự như trong xây dựng: Các bức tường được đổ bê tông sẵn từ nhà máy, chỉ việc cẩu các bức tường lên các tầng để ghép nối thành căn hộ hoàn chỉnh.
Nếu như xem ngôn ngữ lập trình cấp thấp (viết code trực tiếp không qua nền tảng nào) là tầng thấp nhất của lòng đất (low-end), thì ngôn ngữ low-code nằm ở tầng cao nhất (high-end) nơi mà ai cũng có thể trồng trọt, chăn nuôi trên nền đất đã được cải tạo và bồi đắp bởi các chuyên gia nông nghiệp.
Hiện nay, trên thị trường đã xuất hiện nhiều nền tảng low-code vô cùng dễ sử dụng, tiện lợi cho quá trình phát triển phần mềm như là Odoo Studio, bubble.io, airdev.co, webflow.com, zapier.com, airtable.com,… hoặc Excel với ngôn ngữ script cấp cao Macro cũng là những nền tảng low-code, no-code sơ khởi và thân thuộc nhất – tuy nhiên, những nền tảng này chỉ giới hạn người dùng trong công cụ đó mà không thể mở rộng ra bên ngoài nền tảng.
Khi nào nên dùng nền tảng low-code, no-code?
Low-code rất tốt cho việc phát triển các ứng dụng Cổng thông tin điện tử (Web Portal), các ứng dụng tạo báo cáo (dựa trên template có sẵn) hoặc các module độc lập được thiết kế để tích hợp với các hệ thống khác cũng như trích xuất một số nguồn dữ liệu. Trên thực tế, low-code có thể được sử dụng cho rất nhiều mục đích khác nữa nếu như không bị hạn chế bởi các chính sách bảo mật nhiều lớp (thí dụ lấy dữ liệu từ các nguồn mà không "vướng" các thủ tục đi kèm với API). Ngược lại, no-code chỉ nên được sử dụng cho các trường hợp thiết kế giao diện người dùng.
Một số ví dụ về low-code platform
Có rất nhiều nền tảng low-code trong rất nhiều lĩnh vực. Dưới đây là 3 nền tảng ví dụ để bạn có thể hình dung:
Outsystems
OutSystems là nền tảng phát triển ứng dụng full-stack hoàn chỉnh nhất. Sử dụng các công cụ năng suất cao (high-productivity), được kết nối và hỗ trợ bởi AI, các nhà phát triển có thể xây dựng và triển khai đầy đủ các ứng dụng, từ ứng dụng dành cho người tiêu dùng đến các hệ thống kinh doanh quan trọng, nhanh chóng, phù hợp và cho tương lai.
Appian
Appian cung cấp một nền tảng phát triển phần mềm tự động hóa low-code hàng đầu cho phép các tổ chức phát triển nhanh chóng các ứng dụng mạnh mẽ và độc đáo. Các ứng dụng được tạo trên nền tảng của Appian giúp các công ty thúc đẩy chuyển đổi kỹ thuật số và tạo sự khác biệt trong cạnh tranh.
Mendix
Mendix là nền tảng low-code được xây dựng cho cả tốc độ và khả năng kiểm soát, đặt sự cộng tác vào trọng tâm của quá trình phát triển ứng dụng. Mendix cung cấp một bộ công cụ và dịch vụ nền tảng được tích hợp, toàn diện cho toàn bộ vòng đời ứng dụng, từ hình thành và phát triển đến triển khai và vận hành, dẫn đến các ứng dụng được tạo nhanh hơn 10 lần với tài nguyên ít hơn 70%. Được IBM và SAP chọn làm tiêu chuẩn để phát triển năng suất cao cho các đám mây tương ứng của họ.
Odoo Studio
Odoo Studio là một phân hệ trong số gần 40 phân hệ cốt lõi của nền tảng Odoo - hệ sinh thái ERP và khung phát triển (framework) hỗ trợ xây dựng các nghiệp vụ tùy chỉnh cho từng lĩnh vực kinh doanh.
Odoo Studio có phần "sinh sau đẻ muộn" so với các nền tảng khác, tuy nhiên Odoo Studio có lộ trính riêng cho những người yêu thích hệ sinh thái Odoo. Dễ dàng nhận thấy Odoo Studio cung cấp bộ công cụ riêng cùng kiến trúc thân thiện, dễ sử dụng hơn so với các bậc tiền bối.
Tìm hiểu thêm: So sánh OutSystems, QuickBase và Odoo Studio
Theo đánh giá của các chuyên gia kinh nghiệm của TIGO thì Odoo Studio thực sự là nền tảng mã thấp no-code vì giao diện của Odoo Studio khá trực quan, dễ hiểu. Trong khi các nền tảng khác (Outsystems, Appian...) thuộc về low-code vì giao diện khá nặng về thiết kế kỹ thuật, chỉ dành cho các nhà phát triển phần mềm có khả năng viết code hoặc xử lý các vấn đề liên quan cấu hình hệ thống.
Kết Luận
Với những khả năng mà low-code có thể mang đến cho người dùng hiện tại, nền tảng này có thể thực hiện những nhiệm vụ đơn giản, hỗ trợ tự động hóa quy trình làm việc.
Low-code là hướng tiếp cận phát triển phần mềm phù hợp với hầu hết mọi doanh nghiệp, từ doanh nghiệp quy mô nhỏ đến lớn, nhất là đối với những doanh nghiệp lớn.
Một ưu điểm vô cùng lớn là bất kỳ ai cũng có thể sử dụng các nền tảng low-code và no-code, kể cả người dùng có biết về code hay không. Trong số các khách hàng mà TIGO phát triển sản phẩm, từng có một "lãnh đạo cấp phòng" tại một cơ quan Nhà nước nhờ khả năng tự học mà có thể tự thiết kế các form lấy dữ liệu trực tiếp từ database, sau đó trực quan hóa thành biểu đồ, biểu mẫu dựa trên các công cụ có sẵn.
Low-code platform đã mở ra một cánh cửa mới cho tất cả những ai muốn phát triển sản phẩm. Nếu bạn là một startup đang suy nghĩ đến việc phát triển phần mềm cho doanh nghiệp của mình thì low-code sẽ hỗ trợ bạn rất nhiều. Các startup dễ dang tạo ra các sản phẩm tối thiểu (MVP) cho riêng mình mà không cần "outsource" cho công ty phần mềm. Trong tương lai, nhờ sự bùng nổ của robot, trí tuệ nhân tạo (Artificial Intelligence) và trí tuệ tăng cường (AugmentedIntelligence), chúng ta hoàn toàn có thể tự tin rằng ai cũng có thể lập trình, doanh nghiệp nào cũng có thể tự thiết kế các phần mềm. Đó là viễn cảnh của trò chơi lắp ghép "lego" dành cho doanh nghiệp.
Phạm Đình Trường
Software Architecture, TIGO Solutions
Email; truongpd@tigosolutions.com