Đóng quảng cáo

Apple tuần trước đã trình bày, trong số những thứ khác Apple TV mới với hệ điều hành tvOS. Việc các ứng dụng từ App Store có thể được cài đặt trong hộp đen mới chắc chắn khiến các nhà phát triển hài lòng nhất.

Các nhà phát triển có hai lựa chọn. Họ có thể viết một ứng dụng gốc có toàn quyền truy cập vào phần cứng Apple TV. SDK có sẵn (bộ thư viện dành cho nhà phát triển) rất giống với những gì các nhà phát triển đã biết từ iPhone, iPad và ngôn ngữ lập trình giống nhau - Objective-C và Swift trẻ hơn.

Nhưng đối với các ứng dụng đơn giản hơn, Apple cung cấp cho các nhà phát triển tùy chọn thứ hai dưới dạng TVML - Ngôn ngữ đánh dấu truyền hình. Nếu bạn cảm thấy tên TVML trông giống HTML một cách đáng ngờ thì bạn đã đúng. Nó thực sự là một ngôn ngữ đánh dấu dựa trên XML và rất giống với HTML, chỉ có điều nó đơn giản hơn nhiều và có cú pháp chặt chẽ hơn. Nhưng nó hoàn toàn hoàn hảo cho các ứng dụng như Netflix. Và người dùng cũng sẽ được hưởng lợi vì tính nghiêm ngặt của TVML sẽ làm cho các ứng dụng đa phương tiện trông và hoạt động giống nhau.

Đường dẫn đến ứng dụng đầu tiên

Vì vậy, điều đầu tiên tôi phải làm là tải xuống phiên bản beta mới của môi trường phát triển Xcode (có sẵn phiên bản 7.1 đây). Điều này cho phép tôi truy cập vào SDK tvOS và có thể bắt đầu một dự án mới nhắm mục tiêu cụ thể đến Apple TV thế hệ thứ tư. Ứng dụng này có thể chỉ dành cho tvOS hoặc mã có thể được thêm vào ứng dụng iOS hiện có để tạo ra một ứng dụng “phổ quát” – một mô hình tương tự như các ứng dụng iPhone và iPad ngày nay.

Vấn đề thứ nhất: Xcode chỉ cung cấp khả năng tạo ứng dụng gốc. Nhưng tôi đã nhanh chóng tìm thấy một phần trong tài liệu sẽ giúp các nhà phát triển thay đổi bộ khung này và chuẩn bị nó cho TVML. Về cơ bản, đó là một vài dòng mã trong Swift, chỉ trên Apple TV, tạo một đối tượng toàn màn hình và tải phần chính của ứng dụng đã được viết bằng JavaScript.

Vấn đề thứ hai: Các ứng dụng TVML thực sự rất giống một trang web và do đó tất cả mã được tải từ internet. Bản thân ứng dụng này thực chất chỉ là một "bộ nạp khởi động", nó chỉ chứa tối thiểu mã và các yếu tố đồ họa cơ bản nhất (biểu tượng ứng dụng và những thứ tương tự). Cuối cùng, tôi đã đưa thành công mã JavaScript chính trực tiếp vào ứng dụng và ít nhất có khả năng hiển thị thông báo lỗi tùy chỉnh khi Apple TV không được kết nối với Internet.

Vấn đề nhỏ thứ ba: iOS 9 và cùng với nó là tvOS yêu cầu nghiêm ngặt rằng mọi giao tiếp với Internet phải diễn ra được mã hóa thông qua HTTPS. Đây là một tính năng được giới thiệu trong iOS 9 cho tất cả các ứng dụng và lý do là gây áp lực lên quyền riêng tư và bảo mật dữ liệu của người dùng. Vì vậy, việc triển khai chứng chỉ SSL trên máy chủ web là cần thiết. Nó có thể được mua với giá ít nhất là $5 (120 vương miện) mỗi năm hoặc bạn có thể sử dụng, chẳng hạn như dịch vụ CloudFlare, dịch vụ này sẽ tự xử lý HTTPS, tự động và không cần đầu tư. Tùy chọn thứ hai là tắt hạn chế này đối với ứng dụng, hiện tại có thể thực hiện được, nhưng tôi chắc chắn không khuyến nghị điều đó.

Sau vài giờ đọc tài liệu, đôi khi vẫn còn một số lỗi nhỏ, tôi đã tạo ra một ứng dụng rất cơ bản nhưng hoạt động được. Nó hiển thị dòng chữ phổ biến "Xin chào thế giới" và hai nút. Tôi đã dành khoảng hai giờ để cố gắng kích hoạt nút này và thực sự làm được điều gì đó. Nhưng xét đến sáng sớm, tôi thích đi ngủ hơn… và đó là một điều tốt.

Một ngày nọ, tôi nảy ra ý tưởng tải xuống một ứng dụng TVML mẫu làm sẵn trực tiếp từ Apple. Tôi đã tìm thấy những gì tôi đang tìm kiếm rất nhanh trong mã và nút này vẫn hoạt động và hoạt động. Ngoài ra, tôi còn khám phá được hai phần đầu tiên của hướng dẫn tvOS trên Internet. Cả hai tài nguyên đều giúp ích rất nhiều, vì vậy tôi đã bắt đầu một dự án mới và bắt đầu ứng dụng thực sự đầu tiên của mình.

Ứng dụng thực tế đầu tiên

Tôi bắt đầu hoàn toàn từ đầu, trang TVML đầu tiên. Ưu điểm là Apple đã chuẩn bị sẵn 18 mẫu TVML làm sẵn cho các nhà phát triển chỉ cần sao chép từ tài liệu. Việc chỉnh sửa một mẫu mất khoảng một giờ, chủ yếu là do tôi đang chuẩn bị API để gửi TVML hoàn chỉnh cùng với tất cả dữ liệu cần thiết tới Apple TV.

Mẫu thứ hai chỉ mất khoảng 10 phút. Tôi đã thêm hai JavaScript - hầu hết mã trong đó đều đến trực tiếp từ Apple, vậy tại sao lại phải phát minh lại cái bánh xe. Apple đã chuẩn bị các tập lệnh đảm nhiệm việc tải và hiển thị các mẫu TVML, bao gồm chỉ báo tải nội dung được đề xuất và hiển thị lỗi có thể xảy ra.

Trong vòng chưa đầy hai giờ, tôi đã có thể tạo ra một ứng dụng PLAY.CZ rất cơ bản nhưng hoạt động được. Nó có thể hiển thị danh sách các đài phát thanh, nó có thể lọc theo thể loại và có thể khởi động radio. Có, rất nhiều thứ không có trong ứng dụng, nhưng những thứ cơ bản vẫn hoạt động.

[youtube id=”kLKvWC-rj7Q” chiều rộng=”620″ chiều cao=”360″]

Ưu điểm là về cơ bản ứng dụng này không gì khác hơn là một phiên bản đặc biệt của trang web, được cung cấp bởi JavaScript và bạn cũng có thể sử dụng CSS để sửa đổi giao diện.

Apple vẫn yêu cầu chuẩn bị thêm một số thứ nữa. Biểu tượng ứng dụng không phải là một mà là hai - nhỏ hơn và lớn hơn. Điểm mới lạ là biểu tượng không phải là một hình ảnh đơn giản mà chứa hiệu ứng thị sai và bao gồm 2 đến 5 lớp (nền, các đối tượng ở giữa và tiền cảnh). Tất cả hình ảnh đang hoạt động trên ứng dụng đều có thể chứa hiệu ứng tương tự.

Mỗi lớp thực chất chỉ là một hình ảnh trên nền trong suốt. Apple đã chuẩn bị ứng dụng riêng của mình để biên soạn các hình ảnh xếp lớp này và hứa sẽ sớm phát hành plugin xuất cho Adobe Photoshop.

Một yêu cầu khác là hình ảnh "Top Shelf". Nếu người dùng đặt ứng dụng ở vị trí nổi bật ở hàng trên cùng (trên kệ trên cùng), ứng dụng cũng phải cung cấp nội dung cho máy tính để bàn phía trên danh sách ứng dụng. Có thể chỉ có một hình ảnh đơn giản hoặc có thể là một khu vực hoạt động, chẳng hạn như danh sách các bộ phim yêu thích hoặc trong trường hợp của chúng tôi là các đài phát thanh.

Nhiều nhà phát triển mới bắt đầu khám phá các khả năng của tvOS mới. Tin vui là việc viết một ứng dụng nội dung rất dễ dàng và Apple đã đi một chặng đường dài đối với các nhà phát triển với TVML. Việc xây dựng một ứng dụng (ví dụ PLAY.CZ hoặc iVyszílő) phải dễ dàng và nhanh chóng. Rất có thể một số lượng lớn ứng dụng sẽ sẵn sàng cùng lúc với thời điểm Apple TV mới được bán ra.

Viết một ứng dụng gốc hoặc chuyển trò chơi từ iOS sang tvOS sẽ khó khăn hơn nhưng không nhiều. Rào cản lớn nhất sẽ là các biện pháp kiểm soát khác nhau và giới hạn 200 MB cho mỗi ứng dụng. Ứng dụng gốc chỉ có thể tải xuống một phần dữ liệu hạn chế từ cửa hàng và mọi thứ khác phải được tải xuống bổ sung và không có gì đảm bảo rằng hệ thống sẽ không xóa dữ liệu này. Tuy nhiên, các nhà phát triển chắc chắn sẽ giải quyết hạn chế này một cách nhanh chóng, cũng nhờ vào sự sẵn có của bộ công cụ có tên "App Thinning", cũng là một phần của iOS 9.

chủ đề: , ,
.