1 Tổngquan 3 1.1 NguồngốccủaNoCodevàLowCode . . . . . . . . . . . . . . . . . . 3 1.2 TạisaoNocodevàLowcodelạiđangtrởthànhxuhướngmới? . . . . 3 1.3 Cấutrúccủabàibáo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2 Kháiniệmvàđịnhnghĩa 5 2.1 NoCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2 LowCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3 ƯuđiểmvànhượcđiểmcủaNoCodevàLowCode 6 3.1 NoCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.2 LowCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4 Cácthuậttoánchínhđượcsửdụng 8 4.1 DragandDropInterface . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4.2 CodeGeneration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.3 DataBinding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4.4 IntegrationAlgorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.5 WorkflowAutomationAlgorithm . . . . . . . . . . . . . . . . . . . . . 14 5 Tháchthứcvàrủiro 16 5.1 Tháchthứcchonhàpháttriển. . . . . . . . . . . . . . . . . . . . . . . 16 5.2 Rủi rochodoanhnghiệp . . . . . . . . . . . . . . . . . . . . . . . . . . 16 5.3 TháchthứcchoNhânsự . . . . . . . . . . . . . . . . . . . . . . . . . . 16 5.4 HiệuquảvàChất lượngứngdụng . . . . . . . . . . . . . . . . . . . . . 17 5.5 Quảnlývàhỗtrợ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 6 Tươnglaivàxuhướng 18 6.1 TriểnvọngcủacôngnghệNocodevàLowcode . . . . . . . . . . . . . 18 6.2 LiệuNocodevàLowcodecóthểthaythếlậptrìnhviên?. . . . . . . . 18 7 Ứngdụngthựctếvàvídụ 20 7.1 NoCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 7.2 LowCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 7.3 SựkhácbiệtgiữaNoCodevàLowCode . . . . . . . . . . . . . . . . . 21 8 Kết luận 24
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ - ĐHQGHN KHOA CÔNG NGHỆ THÔNG TIN No-Code And Low-Code: The Future Of Software Development Tên môn học: Nguyên lý hệ điều hành Mã học phần: INT2214 Sinh viên thực hiện: Phạm Đức Thành - 21020401 Đặng Trí Nhân - 21020371 Giảng viên: TS Nguyễn Thị Hậu Tháng 11 Năm 2023 Mục lục Tổng quan 1.1 Nguồn gốc No-Code Low-Code 1.2 Tại No-code Low-code lại trở thành xu hướng ? 1.3 Cấu trúc báo 3 Khái niệm định nghĩa 2.1 No-Code 2.2 Low-Code 5 Ưu điểm nhược điểm No-Code Low-Code 3.1 No-Code 3.2 Low-Code 6 Các 4.1 4.2 4.3 4.4 4.5 thuật toán sử dụng Drag and Drop Interface Code Generation Data Binding Integration Algorithms Workflow Automation Algorithm 8 10 11 13 14 16 16 16 16 17 17 Tương lai xu hướng 6.1 Triển vọng công nghệ No code Low code 6.2 Liệu No-code Low-code thay lập trình viên? 18 18 18 Ứng dụng thực tế ví dụ 7.1 No-Code 7.2 Low-Code 7.3 Sự khác biệt No-Code Low-Code 20 20 20 21 Kết luận 24 Thách thức rủi ro 5.1 Thách thức cho nhà phát triển 5.2 Rủi ro cho doanh nghiệp 5.3 Thách thức cho Nhân 5.4 Hiệu Chất lượng ứng dụng 5.5 Quản lý hỗ trợ Chương Tổng quan Trong thời đại chúng ta, công nghệ phát triển mạnh mẽ, nhu cầu phát triển phần mềm ngày tăng cao Tuy nhiên, để phát triển phần mềm chun nghiệp, địi hỏi người lập trình viên phải có kiến thức kỹ chuyên sâu lập trình Điều hạn chế khả tiếp cận phần mềm nhiều người, đặc biệt người khơng có kiến thức lập trình Chính no-code low-code trở thành xu hướng công nghệ nổi, nhiều doanh nghiệp cá nhân quan tâm Các tảng no-code low-code cho phép người dùng xây dựng ứng dụng phần mềm mà không cần viết mã cần viết mã Điều mở hội cho nhiều người tham gia vào trình phát triển phần mềm, khơng giới hạn lập trình viên chuyên nghiệp 1.1 Nguồn gốc No-Code Low-Code No-code low-code có nguồn gốc từ năm 1980, với đời tảng HyperCard Visual Basic for Applications Tuy nhiên, phải đến năm gần đây, công nghệ phát triển mạnh mẽ, tảng no-code low-code trở nên phổ biến nhiều người sử dụng HyperCard tảng phát triển ứng dụng phần mềm dành cho Mac OS, Apple phát hành vào năm 1987 HyperCard sử dụng thẻ liên kết để tạo ứng dụng tương tác Visual Basic for Applications (VBA) ngơn ngữ lập trình kịch tích hợp vào ứng dụng Microsoft Office VBA cho phép người dùng thêm tính tùy chỉnh vào ứng dụng Office Trong năm gần đây, phát triển cơng nghệ trí tuệ nhân tạo (AI), máy học (ML) điện toán đám mây (cloud computing) thúc đẩy phát triển no-code low-code Các công nghệ giúp tảng no-code low-code trở nên dễ sử dụng mạnh mẽ 1.2 Tại No-code Low-code lại trở thành xu hướng ? • Thứ nhu cầu phát triển phần mềm ngày tăng Trong thời đại chúng ta, công nghệ phát triển mạnh mẽ, nhu cầu phát triển phần mềm ngày tăng cao Điều doanh nghiệp cá nhân cần ứng dụng phần mềm để phục vụ cho hoạt động kinh doanh sống • Thứ hai khan nguồn nhân lực lập trình Lập trình ngành nghề địi hỏi kiến thức kỹ chuyên sâu Tuy nhiên, nguồn nhân lực lập trình lại khan hiếm, đặc biệt nước phát triển • Cuối công nghệ ngày phát triển cách vượt bậc tiên tiến Sự phát triển cơng nghệ trí tuệ nhân tạo (AI), máy học (ML) điện toán đám mây (cloud computing) giúp tảng no-code low-code trở nên dễ sử dụng mạnh mẽ 1.3 Cấu trúc báo Bài báo có cấu trúc sau Trong Mục 2, em trình bày khái niệm định nghĩa No-code Low-code Tiếp sau đó, Mục phân tích ưu nhược điểm chúng Chi tiết thuật tốn mà No-code Low-code sử dụng thể mục Mục trình bày thách thức rủi ro tương lai xu hướng Chúng ta thấy ví dụ trang web tạo No-code em nghiên cứu tạo mục Cuối cùng, kết thúc báo với phần kết luận tài liệu tham khảo mục Chương Khái niệm định nghĩa 2.1 No-Code Định Nghĩa: No-code phương pháp phát triển phần mềm cho phép người dùng tạo ứng dụng, trang web, quy trình kinh doanh loại nội dung kỹ thuật số khác mà không cần viết mã Các tảng no-code cung cấp giao diện người dùng trực quan cho phép người dùng kéo thả thành phần để tạo ứng dụng chức Lịch Sử Xu Hướng: No-code phát triển theo thời gian, từ cơng cụ đơn giản ban đầu tạo ứng dụng đến tảng phức tạp tạo ứng dụng đầy đủ tính No-code trở thành xu hướng cơng nghệ quan trọng Gartner dự đốn vào năm 2023, 50% doanh nghiệp quy mô vừa đến lớn sử dụng mã thấp không mã làm tảng ứng dụng chiến lược họ 2.2 Low-Code Định Nghĩa: Low-code phương pháp phát triển phần mềm sử dụng công cụ tảng trực quan để giảm thiểu loại bỏ hoàn tồn việc viết mã Thay vào đó, người dùng sử dụng thành phần mẫu có sẵn để tạo ứng dụng Cũng giống no-code tảng Low-code cung cấp giao diện người dùng trực quan cho phép người dùng kéo thả thành phần để tạo ứng dụng chức Lịch Sử Xu Hướng: Low-code có từ năm 1980, trở nên phổ biến năm gần Gartner dự đoán đến năm 2024, phong trào xây dựng app low-code đạt xấp xỉ 65% số lượng app lưu hành 60% cơng ty lớn phát huy mơ hình rộng rãi hệ thống doanh nghiệp Forrester nhận định thị trường tảng low-code tăng trưởng thường niên mức 40%, chạm mốc 21,2 tỷ USD đến năm 2022 (tăng từ mức 3,8 tỷ USD năm 2017) Điều phát triển công nghệ mới, chẳng hạn trí tuệ nhân tạo (AI) học máy (ML), giúp cải thiện hiệu khả sử dụng tảng low-code Chương Ưu điểm nhược điểm No-Code Low-Code 3.1 No-Code Ưu điểm: • Tăng tốc độ phát triển: No-code giúp giảm thời gian chi phí phát triển phần mềm Điều người dùng tạo ứng dụng nhanh dễ dàng mà không cần phải viết mã từ đầu • Tăng khả tiếp cận: No-code giúp mở rộng khả phát triển phần mềm cho nhiều người hơn, bao gồm người kiến thức lập trình Điều giúp doanh nghiệp tổ chức nhỏ vừa phát triển ứng dụng đáp ứng nhu cầu họ • Dễ bảo trì nâng cấp: Khi có yêu cầu sửa chữa nâng cấp, cần thay đổi cập nhật thành phần sản phẩm giao diện, thay phải thực thay đổi mã lập trình Nhược điểm: • Giới hạn tích hợp: Có thể hạn chế việc tích hợp với hệ thống dịch vụ phức tạp, đặc biệt trường hợp yêu cầu tích hợp đa dạng • Giới hạn tùy chỉnh: Khơng linh hoạt việc tùy chỉnh ứng dụng theo yêu cầu đặc thù, đặc biệt trường hợp ứng dụng phức tạp địi hỏi tính cá nhân hóa cao • Hiệu suất hạn chế: Có thể gây hiệu suất ứng dụng phức tạp tải lớn, việc sử dụng khung làm việc tự động • Bảo mật: Các ứng dụng no-code dễ bị công ứng dụng viết mã Doanh nghiệp cần thực bước để đảm bảo tính bảo mật ứng dụng no-code họ 3.2 Low-Code Ưu điểm: • Tăng tốc độ phát triển: Low-code giúp giảm thời gian chi phí phát triển phần mềm Điều người dùng tạo ứng dụng nhanh dễ dàng mà không cần phải viết mã từ đầu • Tăng khả tiếp cận: Low-code giúp mở rộng khả phát triển phần mềm cho nhiều người hơn, bao gồm người khơng có kiến thức lập trình Điều giúp doanh nghiệp tổ chức nhỏ vừa phát triển ứng dụng đáp ứng nhu cầu họ • Tăng khả tùy chỉnh: Low-code cho phép người dùng tùy chỉnh ứng dụng để đáp ứng nhu cầu cụ thể Điều làm cho low-code trở thành lựa chọn linh hoạt cho ứng dụng có yêu cầu cao • Trình soạn thảo WYSIWYG: Người dùng xem trực tiếp kết thay đổi mà thực giao diện người dùng, giúp tiết kiệm thời gian giảm thiểu lỗi Nhược điểm: • Yêu cầu đào tạo: Low-code yêu cầu đào tạo để sử dụng hiệu Điều khiến khơng phù hợp cho người khơng có thời gian khả đào tạo • Chi phí: Các tảng low-code đắt cơng cụ phát triển phần mềm truyền thống • Bảo mật tin cậy: Khi làm việc với Low-code, bạn phải chịu số rủi ro định bạn khơng có tồn quyền kiểm sốt, dễ có vi phạm bảo mật Chương Các thuật toán sử dụng 4.1 Drag and Drop Interface Đây thuật toán đơn giản hiệu cho phép người dùng tạo trang web cách kéo thành phần từ công cụ thả chúng vào vị trí mong muốn Các thành phần bao gồm phần tử giao diện người dùng (UI), chẳng hạn nút, hộp văn hình ảnh, thành phần chức năng, chẳng hạn kết nối sở liệu quy trình kinh doanh Bây ta demo thuật tốn ví dụ cụ thể kéo thả hình ảnh lên vng tạo sẵn sử dụng html, css js Đầu tiên tạo ô vuông hình mã html css Hình 4.1: Ảnh chụp hình mã html css để demo thuật toán kéo thả Tiếp theo viết mã js để tạo hiệu ứng kéo thả sau link vào mã html để hiển thị lên hình Hình 4.2: Ảnh chụp hình mã js để demo thuật tốn kéo thả Hai dòng code đầu dùng để khai báo hai biến: boxes target boxes lưu trữ danh sách phần tử HTML có lớp CSS box cịn target lưu trữ phần tử HTML có lớp CSS target Tiếp theo thêm hai kiện lắng nghe vào phần tử target: dragstart dragend Sự kiện dragstart kích hoạt người dùng bắt đầu kéo phần tử target Sự kiện dragend kích hoạt người dùng thả phần tử target Cuối lặp qua danh sách phần tử boxes thêm hai kiện lắng nghe vào hai phần tử dragover ,drop thêm phần tử target vào phần tử box kiện dragover drop kích hoạt Sự kiện dragover kích hoạt phần tử target di chuyển đến phía phần tử box Sự kiện drop kích hoạt phần tử target thả lên phần tử box Kết cuối nhận Hình 4.3: Ảnh chụp hình kết demo thuật tốn kéo thả 4.2 Code Generation Thuật toán Code Generation thuật toán quan trọng no-code low-code platform Nó giúp chuyển đổi hoạt động thực giao diện người dùng (như kéo thả thành thành phần) thành mã nguồn ứng dụng trang web Nó sử dụng mẫu mã định nghĩa tạo mã tùy chỉnh dựa ngữ cảnh cụ thể ứng dụng Các tảng no-code low-code platform thường sử dụng nhiều ngơn ngữ lập trình khác bên để thực Code Generation Các ngôn ngữ thường ngơn ngữ lập trình phổ biến JavaScript, Python, Java, Ruby, nhiều ngôn ngữ khác.Cụ thể, số tảng no-code low-code sử dụng JavaScript để tạo mã nguồn cho ứng dụng web, tảng khác sử dụng Python Java để tạo ứng dụng di động Sự lựa chọn ngơn ngữ lập trình cụ thể phụ thuộc vào mục tiêu ứng dụng, môi trường mà ứng dụng chạy, cách mà tảng xây dựng cơng cụ máy móc Ở xem demo ví dụ đơn giản thuật tốn Code Generation viết ngơn ngữ python trả mã html sau drag drop phần tử 10 Hình 4.4: Hình ảnh code kết demo thuật tốn Code Generation ngôn ngữ python Trong đoạn mã trên, có ba lớp chính: CodeGenerator, Model, Element, chúng đại diện cho trình tạo mã HTML từ mơ hình trừu tượng • Lớp Model đại diện cho mơ hình (model) trang web ứng dụng Nó chứa tiêu đề (title) trang danh sách phần tử (elements) trang • Lớp Element đại diện cho phần tử trang, bao gồm loại phần tử (type), nội dung (text), mức độ (level) • Lớp CodeGenerator có hai phương thức: init (phương thức khởi tạo) generate html (phương thức tạo mã HTML) Phương thức generate html tạo mã HTML dựa thông tin có sẵn mơ hình (model) Nó bắt đầu việc tạo chuỗi mã HTML với thẻ , , , sau duyệt qua danh sách phần tử mơ hình để thêm chúng vào mã HTML tương ứng Mã HTML tạo có thẻ tiêu đề (, , vv.) thẻ đoạn văn () tùy thuộc vào loại phần tử Cuối cùng, mã HTML kết thúc thẻ đóng tương ứng trả Sau xây dựng mơ hình phần tử, bạn sử dụng lớp CodeGenerator để tạo mã HTML từ mơ hình in mã HTML tạo 4.3 Data Binding Thuật toán Data Binding (Kết nối liệu) phần quan trọng tảng no-code low-code, thường sử dụng để liên kết liệu với giao diện người dùng Nó cho phép kết nối liệu từ nguồn liệu, chẳng hạn sở liệu, với giao diện người dùng Thuật toán giúp tự động cập nhật giao diện người dùng liệu nguồn thay đổi 11 Có nhiều loại thuật toán data binding khác nhau, tất hoạt động theo cách tương tự Thuật toán bắt đầu việc xác định nguồn liệu giao diện người dùng cần kết nối Sau đó, thuật toán tạo mối quan hệ hai thành phần Mối quan hệ biểu thị tham chiếu, hàm phương thức.Khi liệu nguồn thay đổi, thuật toán cập nhật giao diện người dùng cách sử dụng mối quan hệ tạo Điều thực cách thay đổi giá trị thành phần giao diện người dùng cách thêm xóa thành phần khỏi giao diện người dùng Dưới ví dụ cách thuật tốn data binding hoạt động: Hình 4.5: Hình ảnh code demo thuật tốn Data Binding Trong ví dụ này, nguồn liệu danh sách đối tượng người dùng Giao diện người dùng bao gồm hai trường văn bản: trường cho tên trường cho địa Thuật toán data binding sử dụng để kết nối nguồn liệu với giao diện người dùng cách sử dụng hàm bind() Hàm bind() nhận hai tham số: nguồn liệu thuộc tính liệu mà giao diện người dùng muốn kết nối.Ở có hai mối quan hệ tạo: mối quan hệ nguồn liệu trường văn name mối quan hệ nguồn liệu trường văn address Cuối cùng, thuật toán data binding thêm kiện lắng nghe để cập nhật giao diện người dùng liệu nguồn thay đổi Sự kiện lắng nghe kích hoạt thuộc tính liệu thay đổi Khi trang web tải, thuật toán data binding cập nhật giao diện người dùng cách sử dụng mối quan hệ tạo Trong trường hợp này, trường văn điền liệu từ hai đối tượng người dùng 12 danh sách.Khi đối tượng người dùng thay đổi, thuật toán data binding cập nhật giao diện người dùng tương ứng Trong trường hợp này, tên đối tượng người dùng thay đổi, trường văn name cập nhật Tương tự, địa đối tượng người dùng thay đổi, trường văn address cập nhật 4.4 Integration Algorithms Thuật tốn tích hợp (Integration Algorithm) tảng no-code low-code cho phép kết hợp sử dụng dịch vụ ứng dụng bên ứng dụng bạn mà không cần viết mã lập trình phức tạp Nhà sản xuất mơi trường no-code low-code thường sử dụng ngơn ngữ lập trình JavaScript, Python Java để code thuật tốn tích hợp Các ngôn ngữ cung cấp thư viện công cụ cần thiết để tạo kết nối hệ thống khác Dưới đây, ví dụ mức độ tổng quan Python thư viện “requests” để gửi yêu cầu HTTP đến mộtdịch vụ bên ngồi (ví dụ: OpenWeatherMap API) để lấy thơng tin thời tiết Hình 4.6: Hình ảnh code demo thuật tốn Integration Algorithms Ở đoạn code gửi yêu cầu HTTP đến dịch vụ OpenWeatherMap API để lấy thông tin thời tiết thành phố cụ thể.Sau Chúng ta sử dụng thư viện “requests” để thực yêu cầu HTTP nhận liệu trả về.Và cuối hiển thị chúng lên hình 13 4.5 Workflow Automation Algorithm Thuật toán Workflow Automation (Tự động hóa quy trình cơng việc) tập hợp quy tắc quy trình thiết kế để tự động hóa tối ưu hóa hoạt động quy trình tổ chức doanh nghiệp Thuật tốn thường bao gồm bước luồng cơng việc xác định trước để xử lý tác vụ quy trình cơng việc cách tự động, tiết kiệm thời gian tối ưu hóa hiệu suất.Nó thường sử dụng nhiều lĩnh vực, chẳng hạn quản lý dự án, quản lý tài sản, quản lý tài liệu, nhiều lĩnh vực công việc khác Hình 4.7: Hình ảnh code demo thuật tốn Workflow Automation Algorithm Trong ví dụ này, thuật tốn tự động hóa quy trình làm việc thực nhiệm vụ sau: Nhận u cầu tốn, kiểm tra thẻ tín dụng, xử lý tốn thành cơng, cập nhật trạng thái đơn hàng Các nhiệm vụ thực theo thứ tự Lớp WorkflowAutomationAlgorithm định nghĩa thuật toán tự động hóa quy trình làm việc Lớp có hai thuộc tính: tasks() run() Thuộc tính tasks danh sách nhiệm vụ cần thực Phương thức run() thực thi nhiệm vụ danh sách tasks theo thứ tự Hàm task1(),task2(),task3()vàtask4()‘ nhiệm vụ cần thực Các hàm in thông báo cho biết nhiệm vụ hoàn thành Trong phần main(), tạo đối tượng workflow automation algorithm Chúng ta thêm nhiệm vụ task1(), task2(), task3() task4() vào danh sách tasks đối tượng Cuối cùng, gọi phương thức run() để thực thi 14 nhiệm vụ Trong ví dụ này, giả sử nhiệm vụ thực thành công Tuy nhiên, thực tế, nhiệm vụ thất bại Trong trường hợp này, sử dụng logic điều kiện để xử lý lỗi Ví dụ: nhiệm vụ task2() thất bại, gọi nhiệm vụ task5() để thông báo cho người dùng lỗi Chúng ta sử dụng thuật tốn tự động hóa quy trình làm việc để xử lý tốn theo nhiều cách khác Ví dụ: sử dụng thuật tốn để xử lý nhiều yêu cầu toán lúc Chúng ta sử dụng thuật tốn để xử lý yêu cầu toán từ nguồn khác nhau, chẳng hạn thẻ tín dụng, thẻ ghi nợ toán trực tiếp 15 Chương Thách thức rủi ro 5.1 Thách thức cho nhà phát triển • Giới Hạn Kiến Thức Chuyên Sâu: Khi sử dụng no-code low-code, nhà phát triển không cần phải biết đến code, họ cần phải có kiến thức chuyên sâu lĩnh vực mà họ phát triển ứng dụng • Tùy Chỉnh Linh Hoạt: Các giải pháp low code no code thường giới hạn khả tùy chỉnh ứng dụng Điều tạo giới hạn việc phát triển ứng dụng phức tạp đặc biệt 5.2 Rủi ro cho doanh nghiệp • An tồn bảo mật: Các tảng low-code no-code khơng cung cấp tiêu chuẩn an toàn bảo mật tương tự ứng dụng phát triển nhà phát triển chuyên nghiệp Điều tăng nguy bị công mạng lưu trữ thơng tin cá nhân • Phụ thuộc vào nhà cung cấp: Sử dụng công cụ no-code low-code đồng nghĩa với việc doanh nghiệp phụ thuộc lớn vào nhà cung cấp tảng Nếu nhà cung cấp đóng cửa thay đổi sách, doanh nghiệp gặp khó khăn đáng kể 5.3 Thách thức cho Nhân • Thất nghiệp chuyển đổi nghề nghiệp: Việc tự động hóa nhiều cơng việc dẫn đến giảm cần thiết lao động lĩnh vực phát triển phần mềm, gây thất nghiệp cho nhà phát triển truyền thống yêu cầu họ chuyển đổi nghề nghiệp • Kỹ cần thiết: Ngày nay, kỹ lập trình khơng cịn coi cần thiết sử dụng tảng no-code low-code Tuy nhiên, kỹ tư logic thiết kế quan trọng nên nuôi dưỡng 16 5.4 Hiệu Chất lượng ứng dụng • Hiệu phát triển: Mặc dù giúp giảm thời gian phát triển, việc sử dụng tảng khơng tạo ứng dụng với hiệu cao ứng dụng phát triển từ đầu chuyên gia 5.5 Quản lý hỗ trợ • Quản lý dự án: Việc tự động hóa q nhiều cơng việc dẫn đến giảm cần thiết lao động lĩnh vực phát triển phần mềm, gây thất nghiệp cho nhà phát triển truyền thống yêu cầu họ chuyển đổi nghề nghiệp • Hỗ trợ sửa lỗi: Việc sửa lỗi cải thiện ứng dụng sử dụng low code no code trở nên khó khăn, đặc biệt khơng có kiến thức sâu mã nguồn Để vượt qua thách thức này, việc kết hợp việc sử dụng công nghệ no-code low-code với kiến thức lập trình chuyên sâu, tư logic, quản lý dự án quan trọng Điều giúp tận dụng lợi ích công cụ mà không bị hạn chế rủi ro liên quan đến chất lượng an toàn ứng dụng 17 Chương Tương lai xu hướng 6.1 Triển vọng công nghệ No code Low code Công nghệ No-code Low-code mở triển vọng đầy hứa hẹn tương lai ngành công nghệ Khả tạo ứng dụng mà khơng u cầu kiến thức lập trình sâu đưa No-code trở thành công cụ mạnh mẽ cho người dùng không chuyên môn Việc cần kéo thả thành phần trực quan giúp người tạo ứng dụng đơn giản cách nhanh chóng hiệu Low-code, với kết hợp viết mã sử dụng công cụ trực quan, thu hút ý Nó giúp tối ưu hóa q trình phát triển ứng dụng, giảm thời gian công sức cần thiết Sự linh hoạt Low code cho phép tùy chỉnh ứng dụng theo yêu cầu cụ thể dự án, đồng thời kết hợp tốt với cơng nghệ tiên tiến khác trí tuệ nhân tạo Trên thị trường ngày nay, No-code Low-code không đơn công cụ phát triển ứng dụng mà đánh bại rào cản người dùng thông thường giới công nghệ Cả hai công nghệ thay đổi cách tưởng việc xây dựng triển khai ứng dụng Chúng mở hội mới, từ việc giúp doanh nghiệp nhỏ khởi nghiệp tiết kiệm chi phí đến việc tạo nên ứng dụng độc đáo sáng tạo giới số Tuy nhiên, để thực định hình tương lai cơng nghệ này, cần tập trung vào việc giải thách thức đảm bảo tính bảo mật, chất lượng độ tin cậy ứng dụng, đồng thời lắng nghe ý kiến người dùng để đáp ứng nhu cầu mong muốn họ Với tiếp tục phát triển cải thiện này, No-code Low-code hứa hẹn chứng minh sức mạnh việc biến ý tưởng thành thực cách nhanh chóng hiệu 6.2 Liệu No-code Low-code thay lập trình viên? Low-code No-code có tác dụng tốt ngắn hạn lâu dài khơng Thật ra, với xuất Low-code, lập trình viên có thêm thời gian làm việc thật cần thiết có sức sáng tạo cao cịn tác vụ đơn 18 giản hồn tồn tận dụng mạnh Low-code Một người lập trình viên “săn đón” khơng phải khả code anh hay cô tuyệt hảo đến mà cịn giá trị khác, khả linh hoạt, tư phân tích, bóc tách xử lý vấn đề mà người không chuyên nắm vững được, kể mơ hình AI khơng thể có khả xử lý vấn đề lập trình viên Ví dụ như, khách hàng gặp vấn đề, người lập trình viên biết vấn đề nằm đâu, họ người hiểu rõ code base Từ đó, vấn đề khách hàng giải nhanh chóng Lật ngược tình huống, để người không chuyên kỹ thuật sử dụng tảng Low- code gặp phải vấn đề, khó cho họ để hiểu nguồn gốc vấn đề nằm đâu Và điều nguy hiểm khơng hiểu khách hàng gặp vấn đề hiểu khơng sửa Đồng thời, với nhược điểm có nêu phần trước, Low- code đóng vai trị hỗ trợ trình xây dựng sản phẩm khó hồn tồn thay lập trình viên Khi cơng việc đơn giản hóa, lập trình viên lúc làm việc giống kiến trúc sư hệ thống – họ suy nghĩ việc thiết kế module nào, nối với nào, Nhìn chung, khối óc thời gian lập trình viên “giải phóng” khỏi cơng việc hỗ trợ tảng Low-code, họ ngày sáng tạo hơn, xây dựng chưa có, đem đến đột phá công việc 19 Chương Ứng dụng thực tế ví dụ Hiện có nhiều tảng no-code low-code hoạt động.Các doanh nghiệp cá nhân tùy theo nhu cầu để chọn tảng ưng ý Một số ứng dụng thực tế ví dụ no-code low-code: 7.1 No-Code • Ứng dụng thực tế – Tạo trang web ứng dụng web: No-code sử dụng để tạo trang web ứng dụng web mà khơng cần viết mã Điều hữu ích cho doanh nghiệp nhỏ cá nhân khơng có kỹ lập trình – Tự động hóa quy trình làm việc: No-code sử dụng để tự động hóa quy trình làm việc kinh doanh Điều giúp tiết kiệm thời gian tiền bạc cho doanh nghiệp – Tạo trình bày đồ họa: No-code sử dụng để tạo trình bày đồ họa trực quan Điều hữu ích cho doanh nghiệp cá nhân cần tạo nội dung trực quan • Ví dụ: – WordPress: WordPress tảng no-code cho phép người dùng tạo quản lý trang web blog – Wix: Wix tảng no-code khác cho phép người dùng tạo trang web ứng dụng web – Canva: Canva tảng no-code cho phép người dùng tạo trình bày, đồ họa nội dung trực quan khác 7.2 Low-Code • Ứng dụng thực tế 20 – Tạo ứng dụng di động web: Low-code sử dụng để tạo ứng dụng di động web phức tạp so với no-code Điều hữu ích cho doanh nghiệp cá nhân cần tạo ứng dụng có chức cao – Tự động hóa quy trình làm việc phức tạp: Low-code sử dụng để tự động hóa quy trình làm việc kinh doanh phức tạp Điều giúp cải thiện hiệu hiệu suất cho doanh nghiệp – Tạo ứng dụng doanh nghiệp: Low-code sử dụng để tạo ứng dụng doanh nghiệp dành riêng cho ngành cụ thể Điều giúp doanh nghiệp cải thiện hoạt động kinh doanh họ • Ví dụ: – OutSystems: OutSystems tảng low-code cho phép người dùng tạo ứng dụng di động web – Appian: Appian tảng low-code khác cho phép người dùng tạo ứng dụng doanh nghiệp – Mendix: Mendix tảng low-code cho phép người dùng tạo ứng dụng di động web 7.3 Sự khác biệt No-Code Low-Code • No-code low-code phương pháp phát triển ứng dụng mà không cần viết mã Tuy nhiên, có số điểm khác biệt hai phương pháp này: – Mức độ tự động hóa: No-code cung cấp mức độ tự động hóa cao Người dùng tạo ứng dụng mà không cần viết mã Low-code cung cấp mức độ tự động hóa thấp Người dùng cần viết số mã để tạo ứng dụng – Khả tùy chỉnh: No-code có khả tùy chỉnh thấp so với lowcode Người dùng tạo ứng dụng với tính chức Low-code có khả tùy chỉnh cao Người dùng tạo ứng dụng với tính chức phức tạp – Chi phí: No-code thường có chi phí thấp so với low-code • Lựa chọn phương pháp ? – Phương pháp tốt để phát triển ứng dụng phụ thuộc vào nhu cầu cụ thể doanh nghiệp cá nhân Nếu bạn cần tạo ứng dụng mà khơng cần viết mã, no-code lựa chọn tốt Nếu bạn cần tạo ứng dụng phức tạp với khả tùy chỉnh cao, low-code lựa chọn tốt • Demo áp dụng thực hành 21 – Sau tìm hiểu áp dụng thân em làm blog liên quan đến no-code low-code cách sử dụng Wix.com - tảng no-code Dưới số hình ảnh demo trang web em link trang web https://pvlong68.wixsite.com/nlh-h 22 23 Chương Kết luận Công nghệ No code Low code hai xu hướng đột phá việc phát triển ứng dụng mà không yêu cầu kiến thức lập trình sâu No code cho phép người dùng tạo ứng dụng cách kéo thả thành phần trực quan, Low code cung cấp cách tiếp cận đơn giản cho việc viết mã, giúp giảm thời gian công sức cần thiết Cả hai công nghệ có lợi ích nhược điểm riêng Lợi ích No code giúp người dùng tạo ứng dụng đơn giản mà không cần kiến thức lập trình, đồng thời giảm phụ thuộc vào nhà phát triển Tuy nhiên, No code có hạn chế giới hạn tính linh hoạt, tùy chỉnh mở rộng ứng dụng Low code cung cấp giải pháp trung gian việc viết mã từ đầu sử dụng No code, giúp giảm thiểu thời gian công sức cần thiết cho việc phát triển ứng dụng Ngoài ra, Low code cịn giúp trì tính linh hoạt kiểm soát mã nguồn ứng dụng Tuy nhiên, nhược điểm Low code giới hạn tính độc đáo tùy chỉnh giao diện người dùng làm giảm sáng tạo phát triển ứng dụng Tổng kết lại, công nghệ No code Low code mở tương lai tiềm cho ngành công nghiệp phát triển ứng dụng, giúp người dùng tạo ứng dụng đơn giản hiệu mà khơng cần kiến thức lập trình sâu Tuy nhiên, để lựa chọn công nghệ phù hợp với dự án cụ thể, cần nhận thức rõ nhược điểm hai công nghệ Sự phát triển No code Low code cần tuân thủ quy trình kiểm tra chất lượng đảm bảo tính bảo mật ứng dụng để đem lại giá trị đáp ứng nhu cầu người dùng TÀI LIỆU THAM KHẢO [1] No-code and Low-code app Development [2] Data Binding [3] Sự khác biệt No-code Low-code [4] Low-code ? [5] No-code Low-code : Xu hướng thiết kế website 24