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.
Bài viết hay. Cảm ơn. Có lẽ trong thời gian tới, chúng ta cũng sẽ thấy Apple cung cấp một giải pháp cho người dùng để chuẩn bị các ứng dụng (giải pháp) đơn giản hơn, có thể thực hiện được với FileMaker cho iOS mà không cần tôi phải là nhà phát triển.
Về lý thuyết… trình tải Swift là một vài dòng vẫn giống nhau, chỉ có URL của tệp TVML đầu tiên thay đổi. Nếu ai đó muốn, họ có thể viết một tập lệnh có thể chạy bản dựng từ xa bằng URL của bạn và gửi lại tệp IPA. Hoặc nếu bạn có máy Mac, sẽ không có vấn đề gì khi gửi dự án, nơi bạn chỉ cần đặt URL và bắt đầu xây dựng. Ưu điểm là nếu TVML nằm ngoài ứng dụng, bạn thực sự chỉ cần một bản dựng công khai và có thể một bản dựng (phát triển) riêng tư và bạn chỉ có thể thay đổi TVML trên máy chủ và do đó thay đổi chức năng của ứng dụng.
"Ứ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 ứng dụng 'một kích thước phù hợp cho tất cả' - một mô hình tương tự như ứng dụng iPhone và iPad ngày nay."
Tôi tự hỏi ý bạn là gì? Cá nhân tôi chưa tìm thấy cách nào để tạo 1 bản dựng bao gồm iPhone, iPad và Apple TV phổ thông.. vì chúng là các SDK riêng biệt (tương tự như OSX), bạn cần một mục tiêu bổ sung cho tvOS và do đó cũng là một bản dựng riêng. .Tôi đang thiếu cái gì đó?
trong Xcode 7.1, các ứng dụng tvOS có thể được thêm làm mục tiêu khác cho một dự án đã có sẵn - tương tự như các ứng dụng dành cho Apple Watch hoặc có lẽ là một tiện ích cho trung tâm thông báo. Tuy nhiên, tôi vẫn chưa biết nó sẽ được tải lên cửa hàng như thế nào... Tôi cho rằng Xcode sẽ gửi một gói và App Store sau đó sẽ chia nó... Có lẽ tương tự như những gì họ làm với Watch bây giờ
không.. theo ý kiến của tôi, đây là 2 thứ hoàn toàn khác nhau.. đồng hồ là một tiện ích mở rộng.. hoặc ít nhất là cho đến watchOS 2.0.. nó được cung cấp cùng với mục tiêu iOS và thậm chí không hoạt động nếu không có iPhone.. ATV là một thực thể riêng biệt.. đó là điều tôi đang nói đến, liệu bản dựng cho ATV có riêng biệt hay không (bạn cần trả 2 đô la) và ngoài ra iOS được trả 2 đô la, hay liệu có thể cung cấp một phiên bản phổ thông không? Bản dựng 2 đô la cho cả iOS và ATV.. thì tôi nghĩ là không, bởi vì ngay cả mục tiêu iOS cũng không cung cấp dòng thiết bị cho ATV..
vì vậy việc ra mắt thực sự sẽ hiển thị, nhưng nó thực sự hoạt động giống như mã Apple Watch chẳng hạn. Mặt khác, tài liệu nêu rõ rằng có thể thêm mã cho tvOS vào ứng dụng hiện có và do đó có thể bán một ứng dụng (một thực thể trong App Store) cho cả iOS và tvOS cùng một lúc - một lần mua cho khách hàng hoặc với tư cách là một thực thể riêng biệt - một giao dịch mua riêng cho iOS và cho tvOS.
Chỉ cần làm rõ, đó không phải là 200 MB cho mỗi ứng dụng mà là 200 MB được lưu trữ cục bộ và phần còn lại được tải xuống từ mạng khi cần
Cảm ơn bạn, đó là những gì tôi nghĩ, nhưng có lẽ tôi đã diễn đạt sai. Mọi thứ trên 200MB (hoặc mọi thứ được tải xuống thêm) đều được lưu trữ dưới dạng bộ đệm và nếu hệ thống quyết định rằng nó sắp hết dung lượng, nó sẽ bắt đầu xóa nó - điều này có thể sẽ không xảy ra cho đến khi có đủ dung lượng trống và sau đó là nội dung ít được sử dụng nhất sẽ bị xóa, vì vậy trong thực tế có lẽ nó sẽ không có vấn đề gì lớn.
Tôi còn phải tìm hiểu điều gì nữa, được cho là giới hạn này sẽ không áp dụng cho trò chơi, hoặc trò chơi có thể lớn hơn 200 MB ngay tại cơ sở. Nhưng tôi vẫn không biết chính xác điều này có ý nghĩa như thế nào. Rất có thể Apple vẫn đang điều chỉnh chính sách này theo phản hồi từ các nhà phát triển.
hehe Pokemon TCG – 4 GB, Đặt hàng hỗn loạn trực tuyến – 1,6 GB Hearthstone 1,3 GB Tôi thực sự tò mò về điều này.
có thông tin rằng trò chơi có chế độ đặc biệt. Bây giờ tôi đang tập hợp các chi tiết lại với nhau và chúng ta sẽ hoàn thành bài viết.
Tôi không thể làm được và tôi xin lỗi trước nếu xúc phạm ai, nhưng tôi chỉ có một niềm vui to lớn, chân thành và chân thật mà tôi muốn chia sẻ với các bạn...
Một ngày sau khi công bố Apple TV mới, tôi đã không lười biếng và đăng ký xổ số Apple (tôi có nên chọn không?) Với khả năng nhận được Bộ công cụ dành cho nhà phát triển ngay cả trước khi nó được bán.
Tối hôm qua, Apple đã viết thư cho tôi rằng họ đã chọn tôi cho đợt đầu tiên :)
Vì vậy, tôi không phải là tác giả của bài viết này và tôi thực sự đang làm việc trên Preschool Brasnicce cho Apple TV - có sẵn trong App Store của bạn trong tháng 10 :)
vì vậy tôi có cảm giác rằng tất cả những người đã đăng ký có lẽ đã nhận được nó :) Tôi cũng đã đặt hàng ngày hôm qua và tôi thực sự rất mong chờ nó... Và tôi biết một người nữa cũng đang đợi giao hàng của anh ấy...
Dù sao thì đến thời điểm hiện tại có vẻ như sẽ có rất nhiều ứng dụng khi bắt đầu bán hàng :)
Mọi người có lẽ không - họ không đưa nó cho tôi :(
:( Tôi cảm thấy tiếc cho bạn.
Nếu có ai muốn, tôi có tám miếng dán Apple màu trắng… Tôi có thể gửi chúng qua đường bưu điện…