Tác giả: Stephen Foy và Jagadeesh Chitikesi
Ngày phát hành: 10 MAR 2026
Chuyên mục: Kiro, Windows on AWS
Trong bài viết này, chúng tôi sẽ trình bày cách chúng tôi sử dụng Kiro, một IDE (Môi trường Phát triển Tích hợp) được hỗ trợ bởi AI từ AWS, để đơn giản hóa quá trình chuyển đổi một ứng dụng Windows Forms thành một ứng dụng web ASP.NET Core Blazor hiện đại.
Windows Forms đã là nền tảng của phát triển ứng dụng desktop .NET từ năm 2002, giúp dễ dàng xây dựng các ứng dụng Windows giàu đồ họa bằng cách sử dụng các tính năng trong Visual Studio. Hàng triệu ứng dụng nghiệp vụ (line-of-business) chạy trên framework này, xử lý mọi thứ từ quản lý kho hàng đến theo dõi quan hệ khách hàng. Windows Forms vẫn tiếp tục được hỗ trợ, và các doanh nghiệp vẫn tiếp tục xây dựng các ứng dụng mới bằng cách sử dụng triển khai mã nguồn mở trong các phiên bản .NET hiện đại. Tuy nhiên, một số ứng dụng mạnh mẽ này bị hạn chế bởi các giới hạn của Windows Forms: chúng yêu cầu Windows, cần cài đặt cục bộ và không thể truy cập từ xa nếu không có cơ sở hạ tầng bổ sung. Đối với nhiều doanh nghiệp, nhu cầu kinh doanh đang phát triển đang thúc đẩy sự chuyển dịch từ các ứng dụng desktop Windows sang phát triển dựa trên web trong một thế giới ưu tiên đám mây.
ASP.NET Core Blazor cung cấp một mục tiêu di chuyển lý tưởng cho các ứng dụng Windows Forms. Mô hình lưu trữ Blazor Server sử dụng C# và .NET giống như Windows Forms, điều này có nghĩa là logic nghiệp vụ hiện có thường có thể được chuyển trực tiếp. Mô hình component của Blazor ánh xạ tự nhiên với kiến trúc dựa trên form của Windows Forms, và mô hình render phía máy chủ duy trì mô hình lập trình có trạng thái mà các nhà phát triển Windows Forms hiểu rõ.
Di chuyển sang Blazor mang lại những lợi ích tức thì: truy cập đa nền tảng thông qua bất kỳ trình duyệt web nào, triển khai đơn giản hóa mà không cần cài đặt client, và khả năng lưu trữ trên cơ sở hạ tầng đám mây như AWS.
Thách thức
Con đường từ Windows Forms sang Blazor có một số thách thức; bạn cần xây dựng một ứng dụng mới từ đầu, đây có thể là một công việc khổng lồ. Mặc dù chia sẻ một ngôn ngữ và framework chung, hai công nghệ này khác biệt hoàn toàn trong cách chúng render UI, quản lý trạng thái và xử lý tương tác người dùng. Windows Forms dựa vào một thư viện điều khiển desktop giàu tính năng, hướng sự kiện với quyền truy cập trực tiếp vào tài nguyên hệ thống. Blazor hoạt động trong bản chất yêu cầu-phản hồi không trạng thái của web, render HTML và CSS thay vì các điều khiển hệ điều hành gốc. Điều này có nghĩa là mã UI hiếm khi được chuyển nguyên trạng — bạn phải tái hình dung các form dưới dạng component, các ràng buộc dữ liệu cần được làm lại, và các mẫu dành riêng cho desktop như hộp thoại modal, kéo và thả, và truy cập trực tiếp hệ thống tệp phải được thay thế bằng các lựa chọn thay thế thân thiện với web. Đối với các ứng dụng lớn với nhiều năm logic UI tích lũy được gắn chặt với các điều khiển Windows Forms, đây có thể là một công việc đáng kể và khó khăn.
Giải pháp
Trong các phần sau, chúng tôi sẽ trình bày cách Kiro thu hẹp khoảng cách đó bằng cách hướng dẫn chuyển đổi một ứng dụng theo dõi lỗi Windows Forms mã nguồn mở mẫu, MiniBug, thành một ứng dụng web hiện đại sử dụng Blazor.
MiniBug là một ứng dụng theo dõi vấn đề và tác vụ nhẹ được xây dựng bằng Windows Forms. Nó cho phép người dùng tạo dự án, theo dõi lỗi với mức độ ưu tiên và trạng thái, quản lý tác vụ và xuất dữ liệu sang CSV. Mặc dù có chức năng, nó cho thấy những thách thức mà nhiều tổ chức phải đối mặt với phần mềm desktop.

Hình 1: Màn hình chính và giao diện người dùng của MiniBug
Giới thiệu Kiro cho phát triển theo định hướng đặc tả
Kiro là một IDE được hỗ trợ bởi AI, nhấn mạnh phát triển theo định hướng đặc tả. Thay vì tạo mã ngay lập tức, Kiro hướng dẫn các nhà phát triển thông qua một quy trình có cấu trúc: xác định yêu cầu, tạo thiết kế kỹ thuật và sau đó tạo kế hoạch triển khai với các tác vụ riêng biệt. Ở mỗi bước, bạn có cơ hội xem xét và điều chỉnh đầu ra, bằng tay hoặc thông qua các lời nhắc bổ sung.

Hình 2: Phát triển theo định hướng đặc tả trong Kiro
Cách tiếp cận này đặc biệt có giá trị khi giải quyết các nỗ lực lớn, phức tạp — như tái cấu trúc các ứng dụng Windows Forms. Tùy thuộc vào phạm vi, các dự án này có thể liên quan đến công việc phát triển rộng lớn bao gồm thiết kế lại UI, di chuyển logic nghiệp vụ và thay đổi kiến trúc. Bằng cách áp dụng cách tiếp cận lặp đi lặp lại dựa trên các đặc tả được xác định rõ ràng, các nhà phát triển duy trì các điểm kiểm tra và giám sát có ý nghĩa trong suốt quá trình trong khi vẫn tận dụng AI để tăng tốc việc phân phối.
Đây là cách tiếp cận được thực hiện trong bài đăng blog này. Thay vì cố gắng chuyển đổi toàn bộ ứng dụng cùng một lúc, Kiro đã giúp chúng tôi phân tách công việc thành các phần có thể quản lý được với các tiêu chí chấp nhận rõ ràng. Chúng tôi đã sử dụng quy trình làm việc phát triển theo định hướng đặc tả của Kiro kết hợp với Claude Opus 4.5 cho quá trình di chuyển này.
Lời nhắc: Thiết lập để thành công
Bước đầu tiên là clone repo MiniBug bằng cách mở một terminal và chạy lệnh sau.
git clone https://github.com/RickZeeland/MiniBug-2.git
Tiếp theo, bạn có thể tải xuống Kiro từ https://kiro.dev/ sau khi cài đặt, khởi chạy Kiro và chọn File > Open Folder và mở thư mục nơi bạn đã clone MiniBug.
Đầu tiên, chọn chế độ phát triển theo định hướng đặc tả — điều này có nghĩa là khi bạn đưa ra một lời nhắc, Kiro sẽ bắt đầu xây dựng các yêu cầu, thiết kế của bạn và cuối cùng tạo ra một danh sách tác vụ. Nó di chuyển giữa các giai đoạn này với sự đóng góp của bạn, đảm bảo bạn hài lòng với đầu ra ở mỗi giai đoạn trước khi tiến tới giai đoạn tiếp theo.

Hình 3: Lời nhắc và lựa chọn mô hình của Kiro IDE
Chúng tôi bắt đầu với lời nhắc sau.
You are an expert software engineer. Your task is to re-imagine an existing C# WindowsForms application into a modern Blazor web application.Source Application Details:Location: The code is in the Minibug folder under sample-app.Functionality: Read the minibug source code and readme to understand the logic and flowof application and what it does. In a nutshell it is a simple interface to create andtrack issues within projects.Target Application Details:Technology: Blazor Server hosting model.Framework: .NET 10.Style: Apply a professional style theme, avoid inline CSS and instead create the relevantCSS files, should be professional and clean layout with common bootstrap style componentsthat will be required for app.Output Folder: The new project should be created in the MiniBug-Blazor folder.Scope and Constraints:Functionality Equivalence: The new Blazor app must replicate all the core functionalityof the source WinForms application, which involves managing issues and projects. Do notinclude functionality that is not part of the source WinForms application.Exclusions: Exclude functionality related to windows forms specific features, formtransition and formatting etc, however understand functional formatting of the nonwindows form specific content related to the core functionality and purpose of appand implement it.Structure:Separate the core business logic and data models into a class library project for betterseparation of concerns, if they aren't already. Create a Blazor Server project for the UI layer that references the core logic project.Output Format: Provide the complete, ready-to-use project structure and code files forthe new MiniBug-Blazor solution, including any necessary configuration filesCompletion Criteria: Full coverage of business logic in application, complete unit testsand passing, run the application with selenium and find any runtime errors and resolve.
Phân tích lời nhắc
Lời nhắc bắt đầu bằng việc thiết lập một vai trò: “Bạn là một kỹ sư phần mềm chuyên gia.” Khung đơn giản này đặt ra kỳ vọng về chất lượng và chiều sâu phân tích mà bạn muốn Kiro mang lại cho nhiệm vụ. Tiếp theo, các chi tiết về ứng dụng nguồn chỉ Kiro đến cơ sở mã hiện có và giải thích những gì cần phân tích. Bằng cách chỉ định vị trí thư mục và tóm tắt mục đích của ứng dụng, chúng tôi cung cấp cho Kiro ngữ cảnh cần thiết để hiểu hệ thống trước khi cố gắng chuyển đổi nó.
Các chi tiết về ứng dụng đích loại bỏ sự mơ hồ về ngăn xếp kỹ thuật. Chúng tôi chỉ định Blazor Server làm mô hình lưu trữ, .NET 10 làm framework và Bootstrap để tạo kiểu với các tệp CSS riêng biệt. Chỉ thị thư mục đầu ra đảm bảo dự án mới nằm đúng vị trí.
Phạm vi và ràng buộc hoạt động như các rào chắn. Lời nhắc nêu rõ rằng ứng dụng mới phải tái tạo chức năng cốt lõi trong khi loại trừ các tính năng dành riêng cho Windows Forms như chuyển đổi form. Sự phân biệt này quan trọng vì nó ngăn Kiro cố gắng tạo lại các mẫu UI không thể dịch sang các ứng dụng web.
Phần cấu trúc hướng dẫn các quyết định kiến trúc. Bằng cách yêu cầu tách logic nghiệp vụ thành một dự án thư viện lớp được tham chiếu bởi dự án UI Blazor, chúng tôi đảm bảo quá trình di chuyển tạo ra mã sạch, dễ bảo trì thay vì một bản dịch nguyên khối.
Cuối cùng, Tiêu chí Hoàn thành định nghĩa “hoàn thành” trông như thế nào. Phạm vi bao phủ logic nghiệp vụ đầy đủ, các bài kiểm tra đơn vị vượt qua và xác thực Selenium cung cấp các kết quả có thể đo lường được để xác nhận quá trình di chuyển đã thành công.
Do tính chất không xác định của AI tạo sinh và cách các mô hình ngôn ngữ lớn này hoạt động, đầu ra chính xác mà bạn nhận được từ Kiro trong quá trình chạy của bạn có thể hơi khác so với những gì chúng tôi nhận được. Tuy nhiên, vì tất cả chúng ta đều bắt đầu từ cùng một lời nhắc, kết quả vẫn có thể sai lệch nhưng cấu trúc và ý định sẽ vẫn giữ nguyên.
Bước 1 – Tạo yêu cầu
Sau khi gửi lời nhắc của chúng tôi, Kiro đã phân tích mã nguồn Windows Forms và tạo một tài liệu yêu cầu. Đây là cách giai đoạn này diễn ra.
1.1 Bắt đầu quy trình làm việc đặc tả
Chúng tôi chọn Spec thay vì vibe coding và dán lời nhắc của chúng tôi vào cuộc trò chuyện, và Kiro bắt đầu phân tích mã nguồn. Kiro sẽ ngay lập tức bắt đầu xây dựng các yêu cầu dựa trên lời nhắc này, nếu bạn chọn vibe coding cho việc này, trong một số trường hợp Kiro sẽ phát hiện nhiệm vụ là lý tưởng cho phát triển theo định hướng đặc tả và nhắc bạn nếu bạn muốn tạo một đặc tả thay thế.
1.2. Những gì Kiro đã tạo ra
Tài liệu yêu cầu cuối cùng đã tổ chức chức năng thành 10 nhóm yêu cầu logic:
| Yêu cầu | Mục đích |
|---|---|
| Project Data Model | Định nghĩa các thực thể cốt lõi (Project, Issue, Task) và các thuộc tính của chúng |
| Project Persistence | JSON serialization với xác thực round-trip |
| Project Management | Tạo, mở, chỉnh sửa dự án với tính năng theo dõi các dự án gần đây |
| Issue Management | Các thao tác CRUD với ID tự tăng và dấu thời gian |
| Task Management | Các thao tác CRUD với ID tự tăng và dấu thời gian Các thao tác CRUD tương tự cho các mục công việc |
| Data Grid Display | Các cột có thể sắp xếp, chỉ báo trạng thái, chọn nhiều mục |
| Issue Filtering | Hiển thị/ẩn các vấn đề đã đóng, tìm kiếm văn bản |
| CSV Export | Xuất sang CSV bằng thư viện CsvHelper |
| User Interface Layout | Bootstrap 5, modal, thông báo toast |
| Application Architecture | Phân tách rõ ràng giữa các dự án Core và Blazor |
1.3 Yêu cầu và Tiêu chí chấp nhận
Mỗi yêu cầu bao gồm các tiêu chí chấp nhận cụ thể. Dưới đây là một ví dụ từ yêu cầu Quản lý Vấn đề (Issue Management).
### Requirement 4: Issue Management**User Story:** As a user, I want to create, edit, delete, and clone issues,so that I can track bugs and problems.#### Acceptance Criteria1. WHEN a user creates a new issue, THE Issue_Service SHALL assign the nextavailable ID from IssueIdCounter and increment the counter2. WHEN a new issue is created, THE Issue_Service SHALL set DateCreated andDateModified to the current timestamp3. WHEN an issue is edited, THE Issue_Service SHALL update DateModified tothe current timestamp4. WHEN a user deletes one or more issues, THE Issue_Service SHALL removethem from the project's Issues dictionary
Lưu ý ngôn ngữ chính xác: “SHALL,” “WHEN,” “IF/THEN.” Định dạng có cấu trúc này giảm sự mơ hồ. Sau này, các tiêu chí này dịch trực tiếp thành các trường hợp kiểm thử — nếu một tiêu chí chấp nhận nói “SHALL assign the next available ID,” sẽ có một bài kiểm thử tương ứng xác minh chính xác hành vi đó.
1.4 Tinh chỉnh và Hoàn thiện Yêu cầu
Ở giai đoạn này, chúng tôi đã thực hiện một số điều chỉnh đối với các yêu cầu của mình thông qua các lời nhắc để củng cố các tiêu chí chấp nhận xung quanh thiết kế Blazor, đặc biệt đảm bảo rằng không có thành phần Windows Forms gốc nào được tạo lại trong Blazor và các yếu tố thiết kế web phổ biến được sử dụng thay thế. Sau khi hài lòng, chúng tôi đã chọn Move to design phase để khóa các yêu cầu và tiến lên. Tài liệu yêu cầu vẫn có thể chỉnh sửa được trong suốt quá trình — chúng tôi có thể quay lại và tinh chỉnh nó nếu giai đoạn thiết kế tiết lộ bất kỳ khoảng trống nào.

Hình 4: Chuyển sang giai đoạn thiết kế
Bước 2 – Thiết kế kỹ thuật
Kiro đã phân tích các yêu cầu của chúng tôi và đề xuất một kiến trúc sạch với hai dự án: một thư viện lớp MiniBug.Core chứa tất cả các mô hình miền và logic nghiệp vụ, và một dự án MiniBug.Blazor cho UI web. Sự phân tách này không phải là tùy tiện — nó trực tiếp giải quyết yêu cầu Architecture đã chỉ định rằng logic cốt lõi không nên có bất kỳ phụ thuộc nào vào các framework UI.
Ứng dụng MiniBug Windows Forms gốc tuân theo một mẫu phổ biến: logic nghiệp vụ được trộn trực tiếp vào các tệp code-behind của form. Tệp MainForm.cs một mình chứa hơn 2.500 dòng xử lý mọi thứ từ điền lưới đến JSON serialization đến quản lý các dự án gần đây.
MiniBug-Blazor/├── MiniBug.Core/ # Domain models, services, no UI dependencies│ ├── Models/ # Project, Issue, TaskItem│ ├── Enums/ # Priority and Status enumerations│ └── Services/ # ProjectService, IssueService, TaskService├── MiniBug.Blazor/ # Web application│ ├── Pages/ # Razor pages for routing│ └── Components/ # Reusable UI components└── MiniBug.Core.Tests/ # Unit and property-based tests
Hãy xem xét một số quyết định thiết kế mà Kiro đã đưa ra khi xây dựng tài liệu thiết kế. Cho đến thời điểm này, chúng tôi chưa phải tự viết bất kỳ mã nào — mọi thứ đều được tự động hóa, ngoại trừ việc điều chỉnh các lời nhắc cho các yêu cầu và thiết kế.
Khi bạn mở design.md, bạn sẽ tìm thấy thiết kế được bố trí xung quanh các nguyên tắc Clean Architecture, được chia thành hai dự án: MiniBug.Core cho logic nghiệp vụ độc lập với UI và MiniBug.Blazor cho phần trình bày. Thiết kế sử dụng Repository Pattern để trừu tượng hóa quyền truy cập dữ liệu thông qua các dịch vụ như IProjectService và IIssueService, chúng phơi bày IReadOnlyDictionary cho các thao tác đọc và các phương thức thay đổi rõ ràng cho các thao tác ghi. Dependency injection thúc đẩy sự ghép nối lỏng lẻo bằng cách tiêu thụ các dịch vụ cốt lõi thông qua các giao diện, trong khi Result Pattern (OperationResult<t>) gói gọn các kết quả để xử lý thành công/thất bại rõ ràng thay vì dựa vào các ngoại lệ. Tài liệu cũng bao gồm một bảng xử lý lỗi toàn diện ánh xạ các điều kiện với các thông báo thân thiện với người dùng và định nghĩa 13 thuộc tính đúng đắn chính thức dự định trở thành các bài kiểm thử dựa trên thuộc tính bằng cách sử dụng FsCheck — cung cấp các đảm bảo mạnh mẽ hơn so với kiểm thử dựa trên ví dụ.
Sau khi bạn chấp thuận thiết kế, chọn Move to Implementation plan hoặc cung cấp một lời nhắc có hiệu lực.

Hình 5: Chuyển sang triển khai
Bước 3: Lập kế hoạch triển khai
Kiro sau đó đã chuyển đổi thiết kế thành một danh sách tác vụ có thể thực hiện được. Mỗi tác vụ tham chiếu các yêu cầu cụ thể để truy xuất nguồn gốc và bao gồm các điểm kiểm tra tại các điểm chiến lược để xác thực. Bạn cũng sẽ nhận thấy các tác vụ được đánh dấu là tùy chọn theo mặc định — chẳng hạn như các bài kiểm thử dựa trên thuộc tính — mặc dù bạn có tùy chọn thay đổi bất kỳ tác vụ nào trong số đó thành bắt buộc. Giữ chúng tùy chọn cho phép bạn di chuyển nhanh hơn đến một MVP mà không phải hy sinh khả năng thêm chúng trở lại sau này.

Hình 6: Kế hoạch triển khai
Kế hoạch triển khai tuân theo cách tiếp cận từ dưới lên trên 12 giai đoạn chính, bắt đầu với thiết lập giải pháp và các mô hình dữ liệu cốt lõi, tiến qua các dịch vụ cốt lõi và vào các lớp UI Blazor, và kết thúc bằng kiểm thử tích hợp. Một số quyết định quan trọng định hình kế hoạch này: xây dựng và kiểm thử thư viện cốt lõi trước khi bất kỳ công việc UI nào bắt đầu, đảm bảo logic nghiệp vụ vững chắc trước khi xây dựng dựa trên nó; các điểm kiểm tra chiến lược ở các giai đoạn cụ thể cung cấp các điểm dừng để xác thực tiến độ và phát hiện các vấn đề sớm. Kế hoạch duy trì cấu trúc song song cho các vấn đề và tác vụ để giữ cho cơ sở mã dễ đoán, truy vết mọi tác vụ phụ trở lại các yêu cầu cụ thể để kiểm toán, và sử dụng Selenium cho kiểm thử tích hợp end-to-end để phát hiện các vấn đề kết nối mà các bài kiểm thử đơn vị một mình sẽ bỏ lỡ.
Bước 4: Thực hiện kế hoạch
Với đặc tả hoàn chỉnh, chúng tôi đã hướng dẫn Kiro thực hiện các tác vụ. Kiro đã làm việc một cách có hệ thống thông qua từng tác vụ, viết mã, chạy kiểm thử và chuyển sang mục tiếp theo chỉ sau khi xác thực đã vượt qua. Trong ví dụ của chúng tôi, sau nhiều lần chạy, thời gian trung bình để Kiro thực hiện kế hoạch là 1 giờ.

Hình 7: Thực hiện kế hoạch
Bước 5: Chạy ứng dụng
Sau khi hoàn thành tất cả các tác vụ, Kiro đã cung cấp một ứng dụng Blazor đầy đủ chức năng, bảo toàn thành công tất cả các chức năng gốc trong khi giới thiệu những lợi thế của việc truy cập dựa trên web.
Mặc dù chúng tôi mong đợi đầu ra cuối cùng từ Kiro sẽ xây dựng và chạy liền mạch, các vấn đề nhỏ có thể yêu cầu sự chú ý của bạn. Bắt đầu bằng cách cố gắng xây dựng và chạy ứng dụng như đã được cung cấp. Nếu bạn gặp lỗi xây dựng hoặc các vấn đề thời gian chạy mà bạn không chắc chắn cách giải quyết, chỉ cần mô tả vấn đề cho Kiro bằng ngôn ngữ tự nhiên để nhận được các khuyến nghị phù hợp. Bạn cũng có thể hướng dẫn Kiro trực tiếp điều tra và giải quyết các vấn đề này thay mặt bạn, hợp lý hóa quá trình khắc phục sự cố.

Hình 8: Ứng dụng Blazor cuối cùng chạy trong trình duyệt hiển thị lưới vấn đề
Kết quả
Quá trình di chuyển đã biến một ứng dụng desktop Windows Forms được ghép nối chặt chẽ thành một ứng dụng web Blazor hiện đại, có thể kiểm thử với các ranh giới kiến trúc rõ ràng. Hơn 2.500 dòng logic UI và nghiệp vụ hỗn hợp của ứng dụng gốc trong một tệp duy nhất đã được tách thành các dự án Core và Blazor riêng biệt, giúp cơ sở mã dễ bảo trì và cho phép logic nghiệp vụ và UI phát triển độc lập. Giải pháp bao gồm các bài kiểm thử dựa trên thuộc tính, kiểm thử đơn vị và kiểm thử end-to-end Selenium để bao phủ toàn diện. Giao diện Blazor mới thay thế các điều khiển Windows Forms bằng các thành phần Bootstrap phản hồi hoạt động trên các thiết bị và trình duyệt mà không yêu cầu cài đặt client.

Hình 9: Sơ đồ kiến trúc cuối cùng
Các bước tiếp theo
Ứng dụng MiniBug-Blazor cung cấp nền tảng cho các cải tiến và thêm chức năng mới vào dự án. Trước đây, điều này sẽ bị hạn chế hơn với Windows Forms và phiên bản .NET cũ, nhưng với một ứng dụng hiện đại và Kiro, có thể giải quyết các tác vụ phức tạp này.
Quá trình tái hình dung ứng dụng MiniBug thành một ứng dụng Blazor chức năng là giai đoạn đầu tiên trong quá trình. Bằng cách chuyển khỏi .NET Framework và Windows Forms, nó cho phép xây dựng một ứng dụng hiện đại hơn — điều mà trước đây rất khó khăn. Một số cải tiến có thể được thực hiện là:
Triển khai lên đám mây
- Triển khai lên AWS Elastic Beanstalk hoặc AWS App Runner để lưu trữ tập trung với khả năng mở rộng và giám sát tích hợp
- Đóng gói ứng dụng vào container để triển khai nhất quán trên các môi trường
Hiện đại hóa cơ sở dữ liệu
- Thay thế lưu trữ JSON dựa trên tệp bằng Amazon DynamoDB để truy cập đồng thời đa người dùng thực sự
- Tận dụng giao diện
IProjectServicehiện có làm điểm trừu tượng hóa rõ ràng—không yêu cầu thay đổi UI
Xác thực và đa người thuê
- Tích hợp Amazon Cognito để quản lý người dùng và xác thực an toàn
- Kích hoạt kiểm soát truy cập chi tiết cho các dự án và vấn đề trên các nhóm
Cộng tác thời gian thực
- Thêm SignalR để cập nhật trực tiếp khi các thành viên nhóm tạo, chỉnh sửa hoặc giải quyết vấn đề
- Kích hoạt chỉ báo hiện diện hiển thị ai đang xem hoặc chỉnh sửa các mục
Các cơ hội tích hợp bổ sung
- Phơi bày thư viện Core thông qua REST APIs cho các ứng dụng di động hoặc tích hợp bên thứ ba
- Thêm các công cụ CLI tiêu thụ cùng logic nghiệp vụ mà không trùng lặp mã
- Tích hợp với các dịch vụ thông báo cho việc phân công vấn đề và thay đổi trạng thái
Kết luận
Chúng tôi đã chỉ ra rằng hiện đại hóa ứng dụng cũ không còn yêu cầu lựa chọn giữa tốc độ và chất lượng. Cách tiếp cận theo định hướng đặc tả của Kiro cung cấp cấu trúc trong khi tự động hóa việc tạo mã và kiểm thử. Ba yếu tố đã thúc đẩy thành công: quy trình làm việc có cấu trúc ngăn chặn sự trôi dạt phạm vi, kiểm thử toàn diện bao gồm các bài kiểm thử dựa trên thuộc tính đã xác thực tính đúng đắn, và phân tách kiến trúc rõ ràng đã tạo ra một nền tảng dễ bảo trì thay vì chỉ đơn giản là dịch mã desktop sang web.
Phát triển được hỗ trợ bởi AI kết hợp với các đặc tả nghiêm ngặt thay đổi kinh tế của việc hiện đại hóa. Những gì từng yêu cầu các nhóm chuyên trách và hàng tháng làm việc, giờ đây di chuyển nhanh hơn đáng kể, thường với sự chú ý nhất quán hơn đến các chỉ số chất lượng — phạm vi kiểm thử, phân tách kiến trúc và khả năng truy xuất nguồn gốc yêu cầu.
Những lợi ích năng suất có ý nghĩa không chỉ xuất hiện từ việc áp dụng AI mà còn từ việc kết hợp một cách chu đáo các công cụ, mô hình và kỹ thuật AI phù hợp cho vấn đề đang được giải quyết.
Để khám phá cách Kiro có thể tăng tốc các dự án hiện đại hóa của bạn, hãy truy cập kiro.dev.
Về tác giả

Stephen Foy
Stephen là Kiến trúc sư Giải pháp Chuyên gia với hơn 15 năm kinh nghiệm làm nhà phát triển .NET, anh tập trung sâu vào việc hiện đại hóa các workload cho AWS. Với chuyên môn trên nhiều công nghệ khác nhau như SQL Server, Windows, Game Technology và hơn thế nữa.

Jagadeesh Chitikesi
Jagadeesh là Kiến trúc sư Giải pháp Chuyên gia Microsoft cấp cao tại AWS. Anh đã làm nhà phát triển và kiến trúc sư cho các doanh nghiệp thuộc mọi quy mô trong các lĩnh vực chăm sóc sức khỏe, tài chính, bán lẻ, tiện ích và chính phủ trong 20 năm qua. Anh đam mê về đám mây và tất cả những đổi mới đang diễn ra tại AWS.