Kỹ sư phần mềm cấp cao
Nhà phát triển
Remote Compose mang đến một cách mới để chiếu giao diện người dùng giàu biểu cảm và có tính tương tác lên các nền tảng từ xa như tiện ích. Bằng cách chuyển đổi tuần tự bố cục thành tải trọng nhị phân nhỏ gọn, RemoteCompose tách giao diện người dùng khỏi quá trình thực thi của máy chủ để mang lại những lợi thế đáng kể.
Các lợi ích chính bao gồm tính tương tác biên cho phép kết xuất hiệu suất cao thông qua quá trình thực thi cục bộ trên thiết bị từ xa, khả năng điều chỉnh tỷ lệ linh hoạt cho phép giao diện người dùng dàn lại trên nhiều kiểu dáng thông qua các hoạt động đánh giá thành phần từ xa và quy trình làm việc hợp nhất cho nhà phát triển, giúp loại bỏ nhu cầu về khung giao diện người dùng từ xa dành riêng cho nền tảng thông qua các API Jetpack Compose quen thuộc.
Phiên này sẽ trình bày chi tiết những lợi ích này và cung cấp các ví dụ thực tế về hoạt động sản xuất, bao gồm cả các Tiện ích hiện đại của Wear OS và trải nghiệm Trình theo dõi bài tập thể dục trên Wear dễ xem trong Runkeeper.
Bản chép lời
Chào các bạn.
Tôi là Nicolas Roard, Trưởng nhóm kỹ thuật của dự án Remote Compose.
Tôi là John Hoford.
Tôi là nhà phát triển của Remote Compose.
Tôi là John Zoeller, phụ trách quan hệ với nhà phát triển trên Wear OS.
Được rồi, hãy cùng bắt đầu nào.
Trước tiên, tôi sẽ giới thiệu nhanh về loại vấn đề mà chúng tôi đang cố gắng giải quyết bằng Remote Compose.
Vì vậy, thông thường khi bạn nói hoặc khi bạn nghĩ về giao diện người dùng trên Android, bạn nghĩ về giao diện người dùng như một phần của ứng dụng và quy trình ứng dụng của bạn, phải không?
Có nhiều trường hợp bạn muốn lấy giao diện người dùng, đóng gói và gửi đến một nơi khác, chẳng hạn như một nền tảng từ xa.
Vì vậy, giao diện từ xa có thể là những ví dụ như kiểu đồng hồ, tiện ích, thậm chí có thể là ứng dụng của riêng bạn hoặc một ứng dụng khác.
Và tất cả những bề mặt đó về cơ bản đều là ví dụ về bề mặt từ xa.
Vì vậy, ở một nơi nào đó, có thể là ứng dụng của bạn, có thể là máy chủ, một nơi nào đó biết nội dung cần gửi đến nền tảng từ xa đó.
Và…
Còn loa của tôi thì sao?
Giữa hai điều này, về cơ bản là có một khoảng cách.
Và khoảng cách đó có thể là khoảng cách thực tế, có thể là kết nối mạng, đúng không?
Cũng có thể chỉ là ranh giới quy trình.
Bạn có thể đang dùng cùng một thiết bị.
Nhưng dù là gì thì cũng phải trả phí.
Và cách đơn giản nhất mà bạn có thể nghĩ đến để lấy giao diện người dùng đó và gửi đi là chỉ cần chụp ảnh màn hình, đúng không, rồi gửi đi.
Vấn đề là, cách này không nhanh lắm, đúng không?
Vì vậy, thay vào đó, chúng tôi sử dụng Remote Compose để gửi một tài liệu đại diện cho giao diện người dùng đó.
Và hãy nhớ rằng, quy mô nhỏ có rất nhiều lợi thế.
Điều này rất quan trọng.
Chúng tôi đã thấy điều này trên chiếc điện thoại Pixel đầu tiên mà bạn gửi, nhưng thực ra điều này đúng với mọi loại nội dung cập nhật mà bạn muốn thực hiện trên nền tảng đó, phải không?
Bạn đã có vé khứ hồi.
Vì vậy, bạn sẽ nhận được một số thông tin trên nền tảng từ xa đó, chẳng hạn như một sự kiện, một lượt nhấp, một lượt chạm.
Bạn phải liên hệ lại với người tạo tệp để nhận phiên bản mới.
Và điều đó không tốt chút nào.
Vì vậy, theo nhiều cách, đó là những gì chúng tôi đang cố gắng giải quyết bằng Remote Compose.
Vậy là chúng ta đã thấy tài liệu được gửi đi.
Bên cạnh tài liệu, có một vài, bạn biết đấy, hai một vài lĩnh vực rất quan trọng.
Một là cách bạn tạo tài liệu đó.
Và điều thứ hai là cách bạn chơi.
Tôi đã đề cập rằng chúng ta đang tạo một tài liệu.
Chúng tôi không gửi bản sao màn hình và cũng không gửi ứng dụng.
Vì vậy, chúng tôi có 3 cách để giúp bạn tạo tài liệu đó.
Một là API Compose, hai là API Kotlin theo thủ tục, KMP và ba là định dạng JSON.
Tất cả đều phát ra cùng một byte.
Vì vậy, chúng tôi cung cấp một bộ công cụ để tạo các tài liệu đó và với API Compose, chúng ta thực sự có thể tận dụng công cụ hiện có trong Android Studio.
Ví dụ: bạn có thể sử dụng bản xem trước để xem trực tiếp nội dung bạn đang phát triển, ngay trong IDE.
Nhưng chúng tôi cũng đang phát triển một số công cụ mới mạnh mẽ như trình kiểm tra tài liệu.
Hãy cùng tìm hiểu nhanh về tài liệu này.
Về cơ bản, đây là danh sách các thao tác được mã hoá trong một bản trình bày nhị phân nhỏ gọn và các thao tác đó mô tả một giao diện người dùng độc lập có thể được gửi đến nền tảng từ xa đó.
Vì vậy, một đặc điểm rất quan trọng của các tài liệu đó là chúng có kích thước nhỏ.
Và theo chúng tôi thấy, nhỏ là tốt.
Vậy nên, thông thường chúng ta đang nói về một vài kilobyte, đúng không?
Nhưng ngay cả với giao diện người dùng phức tạp hơn có bố cục thích ứng cao, chúng ta vẫn đang nói về một vài có thể là hàng chục kilobyte, phải không?
Và chúng tôi đóng gói tất cả các thành phần vào tài liệu đó.
Vì vậy, nếu bạn nghĩ về điều đó, điều duy nhất thực sự có thể chiếm dung lượng trên tài liệu là nếu bạn bắt đầu đóng gói bitmap.
Vì vậy, hãy lưu ý điều này.
Đây chính là lý do chúng tôi gửi tài liệu chứ không phải bản sao màn hình.
Khi nói về việc nhỏ bé và quan trọng, không chỉ là giao tiếp.
Đây là một trường hợp đặc biệt quan trọng trong triết lý đằng sau Remote Compose.
Như chúng ta đã thấy, rõ ràng là nó có ảnh hưởng đến thời gian cần thiết để có được pixel đầu tiên trên màn hình, nhưng rất tiếc, xin lỗi.
Điều này cũng có nghĩa là chúng ta có thể sử dụng, với khả năng tương đương, dung lượng tương đương của bề mặt, chúng ta có thể sử dụng nhiều tài liệu hơn so với cách khác, đúng không, trong khi vẫn hiệu quả.
Và đó là điều chúng ta sẽ thấy khi tận dụng tiện ích.
Bản thân các trình phát cũng có xu hướng khá nhỏ và có rất ít phần phụ thuộc.
Và việc các phần phụ thuộc này nhỏ và ít có nghĩa là chúng ta có thể mở rộng phạm vi tiếp cận đến nơi thực sự có thể phát tài liệu Remote Compose.
Và điều đó đặc biệt quan trọng đối với các nền tảng bị ràng buộc, như bạn sẽ thấy.
Tôi đã nói nhiều về việc truyền tải và khoảng cách, nhưng bản thân Remote Compose không thực sự xử lý việc truyền tải.
Đó là trách nhiệm của bạn.
Chúng tôi đóng gói tất cả những thông tin đó vào một vùng đệm byte mà bạn có thể gửi bằng phương thức thích hợp đến nền tảng từ xa.
Đối với tiện ích, chúng tôi sẽ hỗ trợ bạn bằng cách cung cấp một trình kết nối.
Nhưng nhìn chung, bạn nên nhớ rằng bạn là người chịu trách nhiệm về việc vận chuyển.
Và khi người chơi nhận được tài liệu đó, bất kể bạn gửi bằng cách nào, thì tài liệu đó cũng có thể trích xuất danh sách các thao tác và chuyển đổi chúng thành lệnh vẽ, trong cây bố cục, biểu thức và tất cả những điều đó có thể tạo ra trải nghiệm người dùng thực sự phong phú.
Vì vậy, một điều cần lưu ý là khi trao cho bạn quyền quyết định cách bạn muốn chuyển tài liệu, điều đó có nghĩa là bạn có thể sử dụng lại Remote Compose làm công cụ trong nhiều trường hợp, một số trường hợp mà chúng tôi thậm chí có thể không nghĩ đến, phải không?
Sau khi được trình phát tải, tài liệu sẽ tự chạy.
Đó chính là ý tưởng của chúng tôi.
Chúng ta muốn tài liệu tạo ra một giao diện người dùng có phần tự động, không cần phải quay lại người đã tạo ra nó, đúng không?
Và tất cả những điều đó cùng nhau, chúng ta có thể hỗ trợ, bạn biết đấy, thay đổi kích thước, cuộn, sự kiện chạm, bạn biết đấy, quyết định hiển thị hoặc ẩn các thành phần, ảnh động, một số sự kiện chạm và một số xử lý chạm, tất cả đều có thể được thực hiện trong tài liệu mà không cần phải quay lại trình phát.
Và đôi khi, nếu cần quay lại, xin lỗi, quay lại bước tạo, bạn có thể yêu cầu một hành động như "Vui lòng cung cấp cho tôi một tài liệu mới".
Chúng tôi cung cấp 3 trình phát chính thức, chủ yếu thông qua các thư viện AndroidX trong Remote Compose.
Một là trình phát Compose, vì vậy, bạn có thể sử dụng trình phát này trong ứng dụng Compose.
Chúng tôi cũng có một trình phát View nếu bạn vẫn sử dụng View.
Chúng tôi cũng có một phương thức triển khai RemoteViews được cung cấp trong nền tảng Android kể từ API 36, cho phép bạn tạo các tiện ích Android chạy trên trình chạy bằng Remote Compose.
Chúng tôi cũng có một số trình phát thử nghiệm nếu bạn quan tâm, một số trình phát C++ chạy trên Skia, TypeScript và thậm chí là Compose Multiplatform.
Vì vậy, ý tưởng là cùng một công nghệ mà bạn đang sử dụng về cơ bản có thể được dùng để kết xuất trên nhiều nền tảng và giao diện khác nhau.
Tóm lại, khoảng cách mà tôi đã đề cập vẫn còn đó, nhưng chúng tôi đang cố gắng khiến khoảng cách này chỉ quan trọng khi thực sự cần thiết.
Vâng.
Vì vậy, hãy nói một chút về các chức năng mà bạn sẽ nhận được trong tài liệu Remote Compose.
Vì vậy, về cơ bản, có một Canvas và đó là tất cả các tính năng của Android Canvas.
Nhưng có thêm một vài API trong đó.
Nhưng một trong những điều đặc biệt là tất cả các số thực có trong Android Canvas đều có thể được thay thế bằng biểu thức.
Điều này cho phép bạn tạo ảnh động, như bạn thấy ở đây, điều chỉnh tỷ lệ linh hoạt, bố cục linh hoạt.
Bạn có thể làm nhiều việc với tính năng này.
Một chút thông tin khác về biểu thức.
Bạn có một tập hợp phong phú các toán tử từ toán học thông thường, lượng giác, truy cập mảng, nội suy spline.
Và một trong những điều thú vị là mọi giá trị thay đổi đều có thể tạo ảnh động, vì vậy, bạn có thể tạo ảnh động cho thay đổi trong trạng thái của bất kỳ giá trị nào.
Trong bản vẽ cụ thể mà bạn thấy ở đây, mỗi con lắc chọn một loại ảnh động khác nhau và tất cả các loại ảnh động đó đều có trong Remote Compose.
Ngoài ra, chúng ta có các thành phần cơ bản, những thứ liên quan đến Compose, những thứ bạn đã biết.
Nó tạo ra một API rất quen thuộc, hộp, hàng, cột, những thứ tương tự.
Nhưng ngoài ra, chúng ta còn có các thành phần thích ứng.
Một trong những điểm hay của việc này là vì bạn không kiểm soát tài liệu của mình tại thời điểm đó, nên các tài liệu này có thể xử lý các đối tượng biến mất, xuất hiện và biến mất, quay lại do đổi kích thước, v.v., tất cả mà không cần quay lại nguồn của tài liệu.
Ngoài ra, chúng ta còn có ảnh động thành phần.
Tất cả các thay đổi đều có thể tạo ảnh động, vì vậy, nếu có nội dung nào đó biến mất, bạn có thể tạo ảnh động cho nội dung đó.
Bạn cũng có thể viết ảnh động tuỳ chỉnh của riêng mình.
Trong trường hợp này, bạn thấy một số trong số đó đang sử dụng chương trình đổ bóng, đủ thứ.
Một trong những điều khác mà chúng tôi có thể làm là tương tác khi ở trên đó, vì vậy, không chỉ có những bức ảnh đẹp.
Bạn có thể nhấp vào các mục, có sự kiện chạm, cuộn, v.v.
Khả năng hỗ trợ tiếp cận cũng rất quan trọng, vì vậy, tất cả các API hỗ trợ tiếp cận đều có trong đó.
Một trong những điều bạn thấy ở đây là tôi đang xây dựng một đồng hồ bấm giờ hoàn chỉnh với giao diện người dùng khá thú vị và tất cả những điều này đều diễn ra ở phía người chơi.
Tất cả đều có trong tài liệu.
Mọi thứ bạn thấy đều không cần quay lại máy chủ.
Bây giờ, nếu bạn xây dựng nó trong một ứng dụng, trong trường hợp này, các phần màu xanh dương là một ứng dụng và các phần màu đen là một tài liệu Remote Compose.
Bạn thực sự có thể tương tác giữa hai người.
Ở đây, tôi đang tăng giá trị và bạn thấy các giá trị này được ứng dụng (chúng tôi gọi là máy chủ lưu trữ) nhận. Tôi cũng có thể di chuyển thanh trượt và thanh trượt này sẽ thay đổi các giá trị bên trong tài liệu.
Vì vậy, tôi có thể đi theo cả hai hướng.
Giờ thì hãy cùng tìm hiểu cách tạo một tài liệu như vậy.
Thực sự có ba API: Compose, Kotlin và JSON.
Bạn đã biết phần nào về Compose API.
Có một vài điểm khác biệt và chúng ta sẽ tìm hiểu chi tiết.
Kotlin API có tính thủ tục cao.
Bạn sắp xếp một lệnh trong tài liệu, vì vậy, lệnh này giống như một-một.
JSON là một cú pháp JSON mà bạn có thể Chúng tôi có các trình chuyển đổi sẽ chuyển đổi cú pháp này thành Remote Compose.
Điều này cũng hữu ích nếu bạn đang làm việc với một LLM vì chúng có thể đọc và viết tài liệu.
Bây giờ, hãy cùng tìm hiểu về Compose và xây dựng một ứng dụng.
Trong trường hợp này, bạn sẽ thấy rằng đây là một composable và một composable từ xa.
Chúng ta có một canva-- không phải canvas, mà là canvas từ xa và đối tượng sửa đổi từ xa, nhưng bản thân các đối tượng sửa đổi này cũng giống nhau, những thứ bạn biết và yêu thích.
Giờ đây, tất cả lệnh bên trong thực sự đang tạo lệnh từ xa cho tài liệu Remote Compose khi lệnh này được thực thi.
Trong trường hợp này, hãy vẽ một hình tròn rồi thêm một số số thực và biểu thức sử dụng thời gian trong các biểu thức đó.
Và khi tôi bật tính năng này trong ảnh động, hãy lưu ý rằng đây là bản xem trước trực tiếp từ Android Studio và tính năng này sẽ thực sự chạy trực tiếp cho bạn.
Bạn thấy những biểu thức đó ở đó.
Hãy cùng tìm hiểu một chút về nội dung và cách hoạt động của tính năng này.
Ở bên trái, bạn sẽ thấy một bảng trông giống như bảng tính.
Đây là bảng chứa các giá trị dưới dạng số thực.
Và nó cũng có một cây phụ thuộc, vì vậy bạn biết nơi một thứ kết nối với thứ khác.
Bất cứ khi nào có thay đổi, các phần phụ thuộc của nó sẽ được đánh dấu là không hợp lệ để dọn dẹp và điều chỉnh.
Và khi chạy, nó sẽ dọn dẹp tất cả các phần phụ thuộc và chỉ đánh giá những phần phụ thuộc thay đổi.
Vì vậy, việc này rất hiệu quả và trong trường hợp giả sử một đối tượng như kích thước thay đổi, thì phần phụ thuộc đó sẽ thay đổi và phải phản ánh điều đó.
Điều này giúp cho việc tính toán trở nên rất hiệu quả, vì bạn không cần phải đi từ trên xuống dưới, và bạn sẽ thực hiện rất hiệu quả.
Vì vậy, hãy mở rộng một chút về chiếc đồng hồ đó để cho thấy rằng chúng ta có thể xây dựng những thứ thực tế, những thứ hơi thực tế.
Trong trường hợp này, chúng ta sẽ thêm một số dấu kiểm trên các cạnh và bạn sẽ thấy một số vòng lặp for, vì vậy, bạn thực sự có thể sắp xếp vòng lặp for trong đó cục bộ và đúng.
Sau đó, chúng ta thêm một số kim giờ và kim phút, rồi tiếp tục thêm kim giây, sau đó thêm một vài nút khác để hoàn tất và chúng ta có một chiếc đồng hồ đang hoạt động.
Bạn biết đấy, thực ra nó đang hiển thị thời gian.
Một điều thú vị khác là bạn có thể viết cùng một nội dung bằng JSON. Nếu dùng JSON, bạn có thể dễ dàng tương tác với LLM bằng cách nói: "Đổi kim phút thành màu xanh lục" và LLM sẽ hiểu ý bạn.
Vì vậy, điều đó rất tốt.
Được rồi.
Phải.
Hy vọng rằng điều này giúp bạn hiểu được các tính năng của Remote Compose.
Tôi xin phép giới thiệu một chút về dịch vụ hỗ trợ nhà phát triển mà chúng tôi cung cấp cho bạn.
Như tôi đã đề cập, đó chủ yếu là các thư viện AndroidX, nên mọi thứ đều có trên DAC, bạn biết nơi để tìm rồi đấy.
Bạn sẽ nhận được các bản phát hành mới nhất, tài liệu và tất cả những thứ đó.
Như thường lệ, chúng ta đã thấy John minh hoạ những việc có thể làm trong Android Studio.
Tôi nghĩ điều thú vị nhất đối với tôi là bản xem trước trực tiếp thực sự giúp đẩy nhanh thời gian phát triển.
Một điều chúng tôi cũng đang thực hiện là một loại thông số kỹ thuật mở công khai thực tế cho định dạng, phải không?
Chúng tôi không cố gắng che giấu điều gì, mọi thứ đều rõ ràng.
Bạn có thể xem cách hoạt động, cách xây dựng và mã hoá thực tế của mô hình này.
Một trong những thành phần phổ biến mà bạn đang sử dụng trong ứng dụng là ảnh động drawable vector, và bạn biết đấy, thành phần này rất tiện lợi.
Và hãy nhớ những gì tôi đã đề cập về bitmap.
Chúng tôi rất muốn bạn gửi vectơ chứ không phải bitmap, đúng không?
Vì vậy, chúng tôi đang xây dựng một số công cụ để giúp bạn lấy một tệp Lottie, chẳng hạn như có thể là định dạng khác, và chuyển đổi tệp đó thành một thành phần RemoteCompose mà bạn có thể sử dụng trong tệp RemoteCompose của mình.
Như tôi đã đề cập trước đó, chúng tôi cũng đang phát triển các công cụ bổ sung, cụ thể là công cụ kiểm tra trực tiếp cho tài liệu, vì việc có trải nghiệm của nhà phát triển để tạo là một chuyện, nhưng việc có thể kiểm tra kết quả của quá trình tạo đó lại là một chuyện khác.
Trong trường hợp của chúng ta, đó là một tài liệu.
Sau đây là thông tin hé lộ nhanh, bản xem trước về công cụ mà chúng tôi đang phát triển.
Đây là trình kiểm tra tài liệu RemoteCompose, cho phép bạn kiểm tra tài liệu như tên gọi và áp dụng một số công cụ cũng như hình ảnh trực quan hữu ích cho tài liệu đó.
Một ví dụ hay là bạn có thể mở một tài liệu và thực hiện từng bước các thao tác khác nhau trong tài liệu đó để cố gắng hiểu rõ hơn về cách mọi thứ liên kết với nhau.
Nhưng chúng tôi có thêm công cụ.
Ví dụ: tôi rất thích tính năng này, giúp trực quan hoá ngay tài liệu của bạn ở nhiều mật độ và kích thước khác nhau, nhờ đó, bạn có thể nhanh chóng biết được liệu nội dung bạn đang xây dựng có thích ứng tốt với các thay đổi về kích thước hay không.
Một trong những điều mới nhất mà chúng tôi đang thực hiện là một Layout Inspector thực sự hoàn chỉnh, vì vậy, loại khả năng kiểm tra bố cục mà bạn quen dùng trong Android Studio, nhưng ở đây, được áp dụng cho các thao tác và tài liệu, phải không?
Và chúng ta có thể tiến xa hơn nữa về mặt 3D.
Như tôi đã đề cập trước đó, và hy vọng đến giờ, tôi đã thuyết phục được bạn rằng nhỏ gọn là một tính năng.
Điều này rất quan trọng.
Chúng tôi thực sự muốn có tài liệu nhỏ.
Điều này giúp ích cho mọi người.
Vui lòng thực hiện.
Vậy chúng ta có thể làm gì để giải quyết vấn đề này?
Hãy lấy một ví dụ phổ biến về giao diện người dùng.
Một bảng có nhiều hàng.
Các hàng này, bạn biết đấy, có tên, một biểu đồ nhỏ và có thể là một nút.
Khá điển hình.
Kích thước của giao diện người dùng đó đã khá nhỏ.
Chúng ta đang nói về khoảng 25 kB, nhưng chúng ta có nhiều chức năng trong RemoteCompose để thực sự giúp bạn làm cho tệp này nhỏ hơn nữa.
Hãy cùng tìm hiểu về các bước này.
Điều đầu tiên chúng tôi làm và điều này hoàn toàn miễn phí, chúng tôi sẽ làm cho bạn, nếu bạn đang gửi cùng một chuỗi, chúng tôi sẽ nhận thấy điều đó.
Chúng ta có thể giảm bớt một số byte bằng cách trỏ đến cùng một chuỗi.
Nhưng chúng tôi cung cấp nhiều thứ hơn, chẳng hạn như vòng lặp.
Vì vậy, ở đây, tôi đã sử dụng thao tác lặp này để vẽ biểu đồ nhỏ của mình, phải không?
Và điều đó giúp tiết kiệm thêm vài byte.
Chúng ta cũng có các hàm.
Vì vậy, bạn có thể tạo một hàm và ở đây, tôi sẽ làm lại việc đó cho biểu đồ đó và sau đó, tôi có thể chỉ cần gọi biểu đồ đó nhiều lần.
Và một lần nữa, việc này sẽ giúp tôi tiết kiệm một số byte.
Và đối với thành phần, chúng ta có các mẫu, đúng không?
Ý tưởng tương tự như đối với các hàm, nhưng phù hợp hơn với thành phần, phải không?
Vì vậy, tôi có thể thay thế tất cả các thành phần khác nhau, tất cả các hàng khác nhau đó bằng cách gọi mẫu đó với các tham số chính xác và điều đó giúp tiết kiệm rất nhiều cho tài liệu.
Và điều cuối cùng chúng tôi hỗ trợ ngay từ đầu là nén tài liệu.
Nhìn chung, bạn có thể tiết kiệm khoảng một nửa kích thước của tài liệu theo cách này.
Một điều thú vị là tiêu đề của tài liệu này hơi đặc biệt.
Chúng tôi không nén tệp đó.
Điều này rất hữu ích nếu bạn muốn nhanh chóng sàng lọc một lượng lớn tài liệu mà không cần giải nén.
Tóm lại, tài liệu có kích thước nhỏ, bạn biết đấy, ngay từ đầu, nhưng bạn cũng có thể làm cho chúng nhỏ hơn rất nhiều.
Và bạn có thể thấy, với ví dụ nhỏ này, việc giảm kích thước theo thứ tự độ lớn dễ dàng như thế nào, vì kích thước nhỏ là một tính năng.
Tôi đã nói về các tiện ích, cụ thể là tiện ích trình chạy trong nền tảng Android.
Vì vậy, hãy cùng tìm hiểu một chút về những việc chúng tôi đang làm và những gì đã có.
Vì vậy, việc đầu tiên chúng ta có thể làm là sao chép một tiện ích hiện có, chẳng hạn như đồng hồ, hoàn toàn trong RemoteCompose và về cơ bản, tiện ích này sẽ hoạt động giống như vậy, chỉ trong RemoteCompose.
Nhưng chúng ta có thể làm nhiều hơn thế, đúng không?
Vì vậy, nếu bạn muốn tạo giao diện người dùng thích ứng hơn, các tiện ích có thể đổi kích thước và tạo ảnh động chính xác, thì giờ đây chúng ta có thể làm được điều đó, đúng không?
Vì chúng tôi có các dữ liệu gốc phù hợp để thực hiện việc này, trái ngược với những gì bạn có thể làm với các thành phần hiển thị từ xa.
Về cơ bản, chúng tôi mang đến cho bạn sự linh hoạt và khả năng kiểm soát cao hơn nhiều.
Và nói về sức mạnh, đây là một ví dụ nhanh về những điều điên rồ mà bạn có thể làm, phải không?
Thao tác này sẽ cho bạn thấy toàn bộ trò chơi trong một tiện ích.
Và tôi sẽ trỏ đến kích thước thực tế của tiện ích đó.
Chúng ta đang nói về 4 KB.
Tôi đã đề cập rằng phương thức truyền tải không phải là thứ chúng ta trực tiếp xử lý trong Remote Compose.
Mặc dù đối với các tiện ích cụ thể, chúng tôi cung cấp một lớp trình kết nối Tiện ích RemoteCompose cho phép bạn dễ dàng lấy tài liệu và gửi tài liệu đó đến trình chạy.
Tuy nhiên, nếu đã có tiện ích, bạn nên tiếp tục sử dụng Glance vì phiên bản mới nhất của Glance tự động cung cấp một phần phụ trợ để phát hành Remote Compose trên nền tảng.
Giờ hãy cùng nói về Wear OS.
Cảm ơn Nico.
Chào mọi người!
Tôi là John Zoeller.
Tôi sẽ chia sẻ với bạn về Wear OS.
Tôi đã viết khoảng 30 câu chuyện cười cho bài thuyết trình này, nhưng tôi đã kể hết cho mẹ tôi nghe và bà nói rằng tôi sẽ bị sa thải nếu kể bất kỳ câu chuyện nào trong số đó.
Vì vậy, tôi sẽ bỏ qua phần đó và chỉ trình bày thôi.
Giờ hãy cùng tìm hiểu về Remote Compose và một số lợi ích tuyệt vời của tính năng này trên Wear OS.
Trước tiên, chúng ta sẽ nói về Trình theo dõi hoạt động tập luyện mới của Wear OS.
Chúng tôi đã sử dụng Remote Compose để xây dựng ứng dụng này và chúng tôi biết rằng việc xây dựng một ứng dụng theo dõi hoạt động tập thể dục đầy đủ tính năng và chất lượng cao là rất khó đối với Wear.
Quá trình này có thể mất chút thời gian.
Vì vậy, chúng tôi đã làm điều đó cho bạn và bổ sung một số tính năng tập luyện mới, hiện đại và thực sự hữu ích, chẳng hạn như chỉ số theo thời gian thực và khả năng điều khiển nội dung nghe nhìn.
Nhờ Remote Compose, chúng tôi có thể tách giao diện người dùng khỏi tất cả quá trình thực thi, nhờ đó, giao diện người dùng có thể chạy rất hiệu quả và không làm hao pin của người dùng.
Nếu không có Remote Compose, tức là nếu chỉ dùng Compose thông thường, chúng ta sẽ không thể làm mới các chỉ số theo thời gian thực trên màn hình theo từng giây.
Trên thực tế, việc này sẽ mất một phút vì bạn phải đánh thức đồng hồ ở chế độ môi trường xung quanh chỉ để hiển thị một chỉ số.
Vì vậy, đây là một lợi thế rất lớn.
Và thực ra, đây là một ảnh GIF, tin hay không tuỳ bạn.
Đây không phải là ảnh.
Tôi biết là nó chưa di chuyển, nhưng nó sẽ di chuyển sau khoảng 45 giây khi chúng ta chuyển sang lần cập nhật chỉ số tiếp theo.
Nhưng đó là lợi thế của tính năng Soạn thư từ xa.
Và bạn biết gì không?
Thực ra, ứng dụng Wear Workout Tracker đã có sẵn.
Ứng dụng ASICS Runkeeper đã xây dựng ứng dụng mới bằng Health Connect. Bạn có thể dùng thử ngay hôm nay bằng cách nhấp vào đường liên kết này và tham gia thử nghiệm beta công khai.
Tiếp theo là Tiện ích Wear OS.
Đây là một ví dụ tuyệt vời khác về cách hoạt động của tính năng Soạn thư từ xa.
Các thành phần này thay thế thư viện Thẻ thông tin ProtoLayout cũ, vì vậy, bạn không cần hỗ trợ hai loại khung giao diện người dùng khác nhau cho các thiết bị khác nhau nữa.
Bạn có thể làm mọi việc bằng tính năng Soạn thư từ xa.
Và vì là một phần của Jetpack Glance, nên các tiện ích trên Wear OS cũng thuộc hệ sinh thái Android hợp nhất.
Đúng vậy, và trong hệ sinh thái này, giao diện người dùng của tiện ích RemoteCompose hoàn toàn tách biệt với mọi quy trình ứng dụng cụ thể, nên có thể được chuyển đổi tuần tự và kết xuất một cách an toàn trên các thiết bị Wear OS bằng cùng một công nghệ như phần còn lại của ngăn xếp Android.
Remote Compose cũng mang đến đồ hoạ hiện đại và bố cục thích ứng cho các tiện ích, đồng thời hoạt động rất hiệu quả và tiết kiệm pin.
Ngoài ra, với Wear OS 7, các nhà sản xuất phần cứng đã áp dụng khay cuộn dọc.
Đây là Samsung Galaxy Watch và bạn có thể thấy cách các tiện ích cuộn dọc qua các khay tại đây.
Nếu muốn tìm hiểu thêm về cách di chuyển thẻ thông tin sang tiện ích, bạn có thể xem đường liên kết này.
Trên các thiết bị cũ sử dụng băng chuyền ngang cho thẻ thông tin, các tiện ích sẽ tự động hiển thị dưới dạng thẻ thông tin toàn màn hình.
Ngoài ra, các tính năng này cũng hoàn toàn tương thích ngược với Wear OS 4.
Ngoài ra, đường liên kết này sẽ giúp bạn tìm hiểu thêm về khả năng tương thích ngược.
Ngoài ra, chúng tôi cũng có một số đối tác khác đã sử dụng tiện ích.
Bạn có thể xem qua.
Đó là tất cả những gì tôi muốn chia sẻ.
Vâng, xin mời Nico tiếp tục.
Cảm ơn bạn.
Được rồi.
Đến đây là kết thúc bài nói chuyện của chúng ta.
Chúng ta đã xem xét một số tính năng của Remote Compose.
Còn một vài điều nữa mà chúng ta chưa nói đến.
Đây là một khung rất phong phú.
Bạn nên xem tài liệu hiện có và tài liệu sắp ra mắt.
Tôi cho rằng mục tiêu của chúng tôi là xây dựng một tương lai mà bạn có thể thực sự sử dụng Remote Compose để giải quyết tất cả các nền tảng từ xa đó.
Và bạn đã thấy một số trong số đó, đúng không, như Wear, tiện ích.
Nhưng còn nhiều điều thú vị khác sắp ra mắt.
Tôi cũng muốn nói rằng đây là một dự án đang diễn ra.
Tính năng này đang trong quá trình phát triển.
Chúng tôi phát triển tất cả những điều đó một cách công khai.
Bạn có thể xem những việc chúng tôi đang làm.
Nhưng tôi muốn nói rằng chúng tôi thực sự muốn lắng nghe ý kiến của các nhà phát triển, đúng không?
Chúng tôi đang xây dựng tính năng đó cho bạn.
Vì vậy, nếu bạn có thêm ý tưởng hoặc điều gì đó bạn đang thiếu, hãy cho chúng tôi biết.
Chúng tôi rất vui khi biết điều đó.
Tôi sẽ kết thúc phần này bằng cách cho bạn biết rằng toàn bộ bản trình bày mà bạn vừa xem đều được thực hiện trong Remote Compose, bao gồm cả ảnh động.