Nền của tôi: một vài năm trước, tôi đã làm việc trên một plugin NPAPI đa nền tảng, cross-browser đã sử dụng OpenGL để thực hiện hiển thị hình ảnh. Tôi đã chú ý đến không gian kể từ đó, nhưng nó không phải là những gì tôi làm ngày nay. Tôi đã viết các phần mở rộng không phải plugin cho Firefox nhưng không phải là Safari hoặc Chrome.
Rất nhiều phụ thuộc vào chính xác những gì bạn muốn tiện ích của mình thực hiện và loại giao diện người dùng nào bạn muốn hiển thị. Các trình duyệt khác nhau có ý tưởng khác nhau về những tiện ích có thể và không thể thực hiện được.
Nếu bạn chỉ muốn hiển thị hình ảnh hoặc video theo định dạng tùy chỉnh, NPAPI có lẽ là lựa chọn tốt nhất của bạn. NPAPI về cơ bản là một trình bao bọc mỏng xung quanh các API nền tảng gốc. Như vậy, mã NPAPI đa nền tảng phải xử lý các quirks nền tảng cá nhân, cũng như các mức hỗ trợ khác nhau cho NPAPI từ trình duyệt. Google có một dự án có tên là Pepper để khắc phục một số vấn đề của NPAPI, nhưng Pepper chưa có hỗ trợ từ bất kỳ trình duyệt nào ngoài Chrome.
Dự án Native Client của Google cung cấp giải pháp thay thế cho NPAPI để chạy mã gốc, nhưng nó áp đặt các hạn chế đối với mã gốc. Ví dụ, pthreads được cho phép, nhưng truy cập mạng thì không. Có một tiểu dự án NaCL có tên là c_salt xuất hiện để giải quyết loại HTML/JS UI + tích hợp mã gốc mà bạn tìm kiếm. Thật không may nó vẫn còn trong giai đoạn thiết kế, và do đó không phải là terribly hữu ích cho việc viết phần mở rộng ngày hôm nay.
Hiểu biết của tôi là, hiện tại, tiện ích mở rộng trên nhiều trình duyệt tích hợp với giao diện người dùng trình duyệt và cũng tích hợp với mã gốc không khả thi. Safari và Chrome đều hạn chế các tiện ích mở rộng nhiều hơn Firefox và chỉ cho phép các tiện ích được viết bằng JavaScript. Tôi không biết liệu có thể có tiện ích mở rộng trong Safari hoặc Chrome tương tác với plugin trình duyệt được viết bằng NPAPI hay không. Tôi đoán nó hoặc là không thể hoặc vô cùng đau đớn.
Nhìn chung, bạn sẽ thấy cuộc sống dễ dàng hơn nhiều nếu bạn cẩn thận hạn chế trình duyệt và nền tảng nào cần nhắm mục tiêu. Chính xác trình duyệt và nền tảng nào để chọn là thứ mà chỉ bạn mới có thể quyết định.
Nguồn
2010-09-26 04:03:59
Diễn đàn phù hợp. Câu hỏi hay. – sje397
Nhưng không có phản hồi cho đến nay! – user220201