Trong vài tháng qua, chúng tôi đã có cơ hội nói chuyện với nhiều chuyên gia kỹ thuật, kỹ sư và nhà quản lý hàng đầu từ nhiều công ty công nghệ lớn khác nhau nhờ có Disrupt và các sự kiện công nghệ khác trên khắp Bay Area. Khá nhiều người trong công chúng đã quen thuộc với thuật ngữ tạo mã nguồn và cách phần mềm thường được xây dựng. Nhưng khi nói chuyện với dân công nghệ, đặc biệt là những người theo dõi quá trình phát triển phần mềm hiện đại, chúng tôi nhận được câu hỏi rằng AppMaster khác với GitHub Copilot như thế nào. Đó là một câu hỏi khá thú vị.
Nếu bạn đang đọc bài viết của tôi, có lẽ bạn đã nghe nói về Copilot - một công cụ AI để hoàn thành và tạo mã nguồn nâng cao. Copilot đã là một công cụ khá tốt để lập trình hỗ trợ khi nhà phát triển chỉ viết một phần mã nguồn và AI cung cấp tính năng hoàn thiện mã, thậm chí toàn bộ chức năng. Copilot đặc biệt giỏi trong việc hoàn thành các mẫu và từ điển: viết một vài mục và phần còn lại sẽ được tạo tự động. Theo phản hồi của cộng đồng và các bài đăng gần đây của CEO GitHub, Copilot đang phát triển với tốc độ tốt.
Không giống như Copilot, AppMaster tập trung vào việc tạo dự án phần mềm hoàn chỉnh thay vì các phần nhỏ. AppMaster tích lũy các yêu cầu cho toàn bộ dự án: ứng dụng máy chủ (phụ trợ), ứng dụng web, ứng dụng di động và tất cả nội dung bổ sung. Nói chung, chúng tôi thu thập từ lược đồ mô hình dữ liệu kỹ sư, logic ứng dụng, điểm cuối, phần tử giao diện người dùng và tất cả các yêu cầu tiêu chuẩn cho ứng dụng trong tương lai ở định dạng drag-and-drop trực quan. Cách tiếp cận tất cả trong một cho phép các kỹ sư phần mềm làm ít hơn để thu được nhiều hơn.
Để hiểu rõ hơn, tôi sẽ đưa ra một ví dụ nhỏ.
Thực hiện lệnh gọi API từ web hoặc ứng dụng di động đến máy chủ/phụ trợ là một trong những tác vụ phổ biến nhất. Thông thường, kỹ sư phải xem xét tài liệu API của máy chủ và tạo cấu trúc của yêu cầu/phản hồi và tất cả mã tương ứng. Tác vụ tương tự có thể đạt được với một thao tác dran&drop trong AppMaster. Vì nền tảng này biết mọi thứ về mô hình dữ liệu và điểm cuối, nên nó sẽ tự động tạo trước các khối trực quan để thực hiện các yêu cầu API dễ dàng, bao gồm cả cấu trúc đối tượng tương ứng. Và hơn thế nữa: sau mỗi lần thay đổi mô hình dữ liệu, logic nghiệp vụ hoặc nền tảng điểm cuối sẽ tự động cập nhật các thành phần giao diện người dùng phụ thuộc mà không cần sự can thiệp của kỹ sư.
Nhìn từ bên ngoài, có vẻ như AppMaster và Copilot đang cố gắng giải quyết các vấn đề khác nhau, chúng tôi đang giải quyết cùng một vấn đề kỹ thuật phần mềm, nhưng cách tiếp cận của chúng tôi khá khác nhau. Trong khi Copilot quyết định giúp các kỹ sư phần mềm viết nhiều mã nhanh hơn và dễ dàng hơn, chúng tôi tập trung vào việc chuyển mô hình phát triển phần mềm từ tạo phần mềm bằng cách viết mã chương trình sang chỉ xác định các yêu cầu cấp cao. Có các yêu cầu mang lại cho chúng tôi lợi ích to lớn về khả năng tạo lại toàn bộ cơ sở mã dự án từ đầu. Chúng tôi có thể thực hiện tái tạo vì bất kỳ lý do gì: khi các yêu cầu được thay đổi, khi có các thuật toán tạo mã cải tiến, để cập nhật các phiên bản ngôn ngữ lập trình hoặc thư viện hoặc thậm chí để thay đổi toàn bộ ngăn xếp công nghệ!
Chúng tôi tin tưởng vào tương lai với cách tiếp cận " Không chạm vào mã nguồn " và các yêu cầu cấp cao đối với công nghệ phần mềm.
Bạn nghĩ sao? Quá tốt để trở thành sự thật? Không tưởng?
PS Nếu quan tâm đến lĩnh vực này, hãy xem podcast mới nhất của Lex Fridman với Andrei Karpathy, cựu Giám đốc AI của Tesla, về Phần mềm 2.0 và tạo mã.