Tài liệu này dành cho các nhà phát triển trước đây đã phát triển Blockly 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á lỗi 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.
Hiểu về Unfork
Khi sử dụng dòng chính Blockly, bạn đang dùng phiên bản Blockly mới phát hành gần đây, đồng thời mọi tuỳ chỉnh của bạn đều sử dụng API công khai Blockly mà không cần vá lỗi. Unfork là công việc bạn cần thực hiện để triển khai chức năng tuỳ chỉnh của nhánh phát triển bằng các API dòng chính.
Hộp dụng cụ tháo dỡ đơn giản
Dưới đây là hai lý do phổ biến có thể khiến bạn đã phát triển nhánh và giải pháp để quay lại dòng 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 mã Blockly nào: Để huỷ phát triển 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. Sau đó, bạn có thể cập nhật phiên bản Blockly của mình.
- Bạn đã thêm chức năng tuỳ chỉnh trên 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 mà chỉ ứng dụng của bạn sử dụng. Để huỷ phát triển trong trường hợp này, hãy di chuyển mã tuỳ chỉnh này vào ứ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.
Hộp mở rộng cỡ lớn
Xác định chức năng được phân tách
Lý do cuối cùng mà chúng tôi thấy người dùng phát hiện nhánh này là bản vá Blockly để tạo chức năng tuỳ chỉnh mà họ nhận thấy không được đưa vào phiên bản trước. Nếu nhánh phát triển của bạn đã lỗi thời đáng kể, có thể chúng tôi đã thêm chức năng mà bạn cần dưới dạng trình bổ trợ hoặc trong lõi. Việc biết được tính năng nào bạn đã thêm vào nhánh phát triển của mình có thể giúp bạn có lộ trình cho những tính năng cần cập nhật.
Tìm hiểu cấu trúc
Sau khi hiểu rõ các tính năng sử dụng API dành riêng cho nhánh phát triển, hãy cân nhắc:
- Đối với mỗi tính năng sử dụng nhánh phát triển, có cách nào để nhân bản bằng API Blockly không?
- Nếu có vẻ như bạn không thể sao chép tính năng bằng API Blockly, vui lòng liên hệ với chúng tôi thông qua diễn đàn hoặc báo cáo sự cố trên GitHub. Sau đó, nhóm chúng tôi sẽ điều tra việc thêm API để cho phép chế độ tuỳ chỉnh của bạn.
Xác định lộ trình khám phá
Bước tiếp theo là bắt đầu quá trình triển khai kiến trúc dựa trên Blockly mới cho các tính năng sử dụng nhánh phát triển. Có 2 phương pháp chính mà bạn có thể thực hiện:
- Nâng cấp khối và xem những gì bị lỗi: Bạn sẽ thấy ngay các vùng trong mã cần cập nhật. Bạn có thể sử dụng tính năng này kết hợp với những gì đã biết là hành vi tuỳ chỉnh để định hướng cho 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: Bạn phải hiểu rõ những tính năng nào tuỳ chỉnh cho nhánh phát triển của bạn và những tính năng nào thuộc về Blockly. Sau khi mã được tách riêng 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 theo
Sau đây là một vài quy tắc mà bạn nên tuân thủ với vai trò là 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 của mình là một phần của API công khai, vì vậy, chúng tôi có thể thay đổi những công cụ đó để phá vỡ ứng dụng của bạn. Bạn chịu trách nhiệm biên dịch ứng dụng nếu muốn.
Liên hệ
Chặn luôn có sẵn thông qua Diễn đàn Blockly! Nếu bạn gặp bất kỳ vấn đề nào trong quá trình gỡ bỏ, vui lòng đăng vấn đề đó lên đó để chúng tôi có thể trợ giúp.