Tài liệu này dành cho những nhà phát triển đã phân nhánh Blockly trước đây và đang tìm cách cập nhật lên bản phát hành gần đây của Blockly mà không cần vá thư viện. Mặc dù đây có vẻ là một nhiệm vụ khó khăn, nhưng bạn có thể thực hiện một vài bước để giúp quá trình này dễ quản lý hơn.
Tìm hiểu về việc huỷ phân nhánh
Việc sử dụng Blockly chính tuyến có nghĩa là bạn đang sử dụng phiên bản Blockly mới phát hành và tất cả các tuỳ chỉnh của bạn đều sử dụng API Blockly công khai mà không cần sửa đổi mã nguồn. Bạn cần phải huỷ phân nhánh để triển khai chức năng tuỳ chỉnh của nhánh bằng các API chính.
Các trường hợp đơn giản về việc huỷ phân nhánh
Dưới đây là hai lý do phổ biến khiến bạn có thể đã phân nhánh và giải pháp về cách quay lại nhánh chính:
- Bạn đã tạo các khối và trình tạo của riêng mình mà không thay đổi bất kỳ mã Blockly nào: Để huỷ phân nhánh trong trường hợp này, bạn chỉ cần di chuyển các khối và trình tạo tuỳ chỉnh ra khỏi kho lưu trữ Blockly và vào mã của ứng dụng của riêng bạn. Sau đó, bạn có thể cập nhật phiên bản Blockly.
- Bạn đã thêm chức năng tuỳ chỉnh vào không gian tên Blockly mà không thay đổi bất kỳ mã Blockly nào: Ví dụ: bạn đã thêm các trường tuỳ chỉnh hoặc phương thức trợ giúp chỉ được ứng dụng của riêng bạn sử dụng. Để huỷ phân nhánh trong trường hợp này, hãy di chuyển mã tuỳ chỉnh này sang ứng dụng của riêng bạn bên ngoài kho lưu trữ Blockly. Sau đó, bạn có thể cập nhật phiên bản Blockly.
Trường hợp phân tách rộng
Xác định chức năng phân nhánh
Lý do cuối cùng khiến người dùng phân nhánh là để vá Blockly nhằm tạo chức năng tùy chỉnh mà họ cho là không có trong phần ngược dòng tại thời điểm đó. Nếu nhánh của bạn đã lỗi thời đáng kể, thì chúng tôi có thể đã thêm chức năng bạn cần dưới dạng trình bổ trợ hoặc trong lõi. Việc biết những tính năng bạn đã thêm vào nhánh có thể cung cấp lộ trình cho những tính năng bạn cần cập nhật.
Tìm hiểu cấu trúc
Sau khi bạn hiểu các tính năng sử dụng API dành riêng cho nhánh, hãy cân nhắc:
- Đối với mỗi tính năng sử dụng nhánh, có cách nào để sao chép tính năng đó bằng API Blockly không?
- Nếu có vẻ như bạn không thể sao chép tính năng này bằng cách sử dụng các API Blockly, vui lòng liên hệ với chúng tôi thông qua diễn đàn hoặc gửi vấn đề trên GitHub. Sau đó, nhóm của chúng tôi sẽ điều tra việc thêm API để cho phép bạn tuỳ chỉnh.
Xác định đường dẫn không phân nhánh
Bước tiếp theo là bắt đầu quá trình triển khai cấu trúc mới dựa trên Blockly cho các tính năng bằng cách sử dụng nhánh. Bạn có thể sử dụng hai phương pháp chính:
- Nâng cấp Blockly và xem lỗi: Bạn sẽ thấy ngay các phần trong mã cần cập nhật. Bạn có thể sử dụng thông tin này kết hợp với hành vi tuỳ chỉnh mà bạn đã biết để định hướng quá trình phát triển.
- Tái cấu trúc mã để tách các tính năng của bạn khỏi Blockly: Để làm được điều này, bạn cần hiểu rõ những tính năng nào là tuỳ chỉnh cho nhánh của mình và những tính năng nào đến từ Blockly. Sau khi mã được tách hoàn toàn, hãy thay thế phiên bản Blockly cũ bằng phiên bản mới nhất, sau đó khắc phục mọi vấn đề tích hợp còn lại.
Tiếp tục
Sau đây là một số quy tắc mà bạn nên tuân thủ khi làm nhà phát triển Blockly trong tương lai:
- Nhìn chung, bạn không nên thêm các lớp mới vào không gian tên Blockly. Bạn có thể đăng ký các trường tuỳ chỉnh hoặc các lớp có thể đăng ký khác mà không cần khai báo các trường đó bên trong kho lưu trữ Blockly hoặc trên không gian tên Blockly.
- Bạn không nên dựa vào các công cụ xây dựng của Blockly để biên dịch ứng dụng của riêng mình. Chúng tôi không coi các công cụ xây dựng là một phần của API công khai, vì vậy, chúng tôi có thể thực hiện các thay đổi đối với các công cụ này khiến ứng dụng của bạn gặp lỗi. Bạn chịu trách nhiệm biên dịch ứng dụng nếu muốn.
Liên hệ
Bạn có thể liên hệ với nhóm Blockly thông qua Diễn đàn Blockly! Nếu bạn gặp vấn đề nào trong quá trình tách nhánh, hãy đăng vấn đề đó lên đó để chúng tôi có thể trợ giúp.