Phát triển web

Việc phát triển ứng dụng web trên ChromeOS gần giống như việc phát triển ứng dụng web trên bất kỳ hệ điều hành nào khác. Mọi trình chỉnh sửa mã, IDE, công cụ hoặc ngôn ngữ sẽ chạy trong Linux đều chạy trên ChromeOS. ChromeOS thậm chí còn có các tính năng được thiết kế riêng để hỗ trợ phát triển web.

Trình chỉnh sửa mã và IDE

Mọi trình chỉnh sửa mã hoặc IDE chạy trên Linux đều sẽ chạy trên ChromeOS. Linux trên ChromeOS là một bản cài đặt Debian, còn trình chỉnh sửa mã và IDE cho Debian thường được cài đặt theo một trong ba cách. Ví dụ: Visual Studio Code cung cấp một.debtệp mà bạn có thể nhấp đúp để cài đặt từ ứng dụng Tệp. Mặt khác, IntelliJ yêu cầu bạn tải một tệp tar xuống chứa tệp thực thi của ứng dụng mà bạn có thể trích xuất vào vùng chứa Linux và chạy. Bạn có thể cài đặt Sublime Text từapt.

Ngôn ngữ và công cụ

Cho dù ngăn xếp của bạn là JAM hay LAMP, hoặc bạn là người dùng Python hay Gopher, nếu ngăn xếp đó chạy trên Linux, thì bạn có thể chạy ngăn xếp đó trên ChromeOS. Khi cài đặt ngôn ngữ và công cụ, bạn nên sử dụng trình quản lý phiên bản ngôn ngữ để đơn giản hoá quy trình cài đặt và nâng cấp, đồng thời cho phép bạn chuyển đổi giữa nhiều phiên bản ngôn ngữ cho từng dự án mà bạn đang thực hiện. RVM (trình quản lý phiên bản Ruby) là một trong những ví dụ lâu đời và hay nhất về trình quản lý phiên bản ngôn ngữ, cho phép bạn quản lý cả Ruby và các phần phụ thuộc (gọi là gem) cho nhiều phiên bản Ruby. Hầu hết các ngôn ngữ khác đều có trình quản lý phiên bản tương tự. Trang web này được xây dựng trên Node.js, hỗ trợ VoltaNVM để quản lý phiên bản Node. Nếu muốn quản lý ngôn ngữ và công cụ thông qua Docker, bạn cũng có thể làm như vậy.

Đường hầm máy chủ cục bộ và chuyển tiếp cổng

Mặc dù Linux cho ChromeOS đang chạy trong một máy ảo, nhưng các máy chủ chạy trong môi trường Linux sẽ tự động được chuyển tiếp đến trình duyệt Chrome chính. Điều này có nghĩa là bạn có thể sử dụng tất cả các công cụ yêu thích của Chrome để phát triển ứng dụng web mà không phải lo lắng về cách kiểm thử những gì bạn đang xây dựng. Tuy nhiên, đôi khi bạn muốn chia sẻ một cổng trên máy tính với các thiết bị khác trên cùng một mạng. Khi cần làm việc đó, hãy đọc cách thiết lập chuyển tiếp cổng.

Chrome mà bạn yêu thích

Tất cả các công cụ phát triển mà bạn biết và yêu thích trên Chrome cũng có trên ChromeOS. Vì các cổng Linux chuyển tiếp đến Chrome, nên bạn có thể sử dụng tất cả sức mạnh của Công cụ của Chrome cho nhà phát triển, bao gồm cả Lighthouse để phát triển ứng dụng, cùng với các tiện ích tuyệt vời của Chrome, chẳng hạn như Accessibility Insights for Web. Để thực hiện việc này, hãy khởi động máy chủ web trong môi trường Linux rồi chuyển đến localhost:PORT (thay PORT bằng số cổng của máy chủ) trong trình duyệt Chrome chính. Bạn cũng có thể dùng penguin.linux.test làm phương án dự phòng cho localhost nếu cần.

Nhiều hơn cả Chrome

Phát triển ứng dụng web trên ChromeOS có một điểm mạnh mà không hệ điều hành máy tính nào khác có được, đó là khả năng hỗ trợ ở cấp nền tảng cho các trình duyệt di động thực. Khi phát triển ứng dụng web trên ChromeOS, bạn không chỉ bị giới hạn trong việc kiểm thử trên Chrome. Với Cửa hàng Google Play, bạn có thể cài đặt các trình duyệt di động thực và sử dụng chúng để kiểm thử ứng dụng web của mình. Bạn thậm chí có thể cài đặt các trình duyệt máy tính đầy đủ khác chạy trên Linux và kiểm thử cả ở đó. Mặc dù người dùng ChromeOS sẽ sử dụng ứng dụng web của bạn trong Chrome, nhưng chúng tôi hiểu tầm quan trọng của việc xây dựng các ứng dụng web tiếp cận mọi người, bất kể họ chọn trình duyệt nào.

Việc kiểm thử ứng dụng web trong các trình duyệt Linux khác khá đơn giản: hãy cài đặt các trình duyệt đó theo hướng dẫn cài đặt Linux của trình duyệt và sử dụng chúng như bình thường, hoàn tất bằng quyền truy cập vào localhost. Tuy nhiên, các trình duyệt được cài đặt thông qua Cửa hàng Google Play cần được coi như thể chúng đang ở trên một thiết bị bên ngoài. Để máy chủ của bạn có thể truy cập được trong những trình duyệt đó, hãy tìm địa chỉ IP bằng cách chạy hostname -I trong Terminal và sử dụng địa chỉ IP thu được thay cho localhost khi điều hướng, đồng thời nhớ thêm cả cổng.