ปิดโฆษณา

Apple นำเสนอเมื่อสัปดาห์ที่แล้วเหนือสิ่งอื่นใด Apple TV ใหม่ ด้วยระบบปฏิบัติการ tvOS ความจริงที่ว่าสามารถติดตั้งแอปพลิเคชันจาก App Store ในกล่องดำใหม่ทำให้นักพัฒนามีความสุขมากที่สุดอย่างแน่นอน

นักพัฒนามีสองทางเลือก พวกเขาสามารถเขียนแอพเนทีฟที่สามารถเข้าถึงฮาร์ดแวร์ Apple TV ได้อย่างสมบูรณ์ SDK ที่มีอยู่ (ชุดไลบรารีสำหรับนักพัฒนา) คล้ายกับสิ่งที่นักพัฒนารู้จักอยู่แล้วจาก iPhone, iPad และภาษาการเขียนโปรแกรมเหมือนกัน - Objective-C และ Swift รุ่นน้อง

แต่สำหรับแอปพลิเคชันที่เรียบง่ายกว่า Apple เสนอตัวเลือกที่สองให้กับนักพัฒนาในรูปแบบของ TVML - ภาษามาร์กอัปโทรทัศน์ หากคุณรู้สึกว่าชื่อ TVML ดูน่าสงสัยเหมือน HTML แสดงว่าคุณพูดถูก จริงๆ แล้วเป็นภาษามาร์กอัปที่ใช้ XML และคล้ายกับ HTML มาก เพียงแต่ง่ายกว่ามากและมีไวยากรณ์ที่เข้มงวดกว่า แต่มันสมบูรณ์แบบสำหรับแอปพลิเคชันอย่าง Netflix อย่างยิ่ง และผู้ใช้ก็จะได้รับประโยชน์เช่นกัน เนื่องจากความเข้มงวดของ TVML จะทำให้แอปพลิเคชันมัลติมีเดียมีรูปลักษณ์และการทำงานเหมือนกันมาก

เส้นทางสู่การสมัครครั้งแรก

สิ่งแรกที่ฉันต้องทำคือดาวน์โหลดเวอร์ชันเบต้าใหม่ของสภาพแวดล้อมการพัฒนา Xcode (เวอร์ชัน 7.1 พร้อมใช้งานแล้ว ที่นี่- สิ่งนี้ทำให้ฉันสามารถเข้าถึง tvOS SDK และสามารถเริ่มโปรเจ็กต์ใหม่ที่มีเป้าหมายไปที่ Apple TV รุ่นที่สี่โดยเฉพาะ แอปนี้อาจเป็นได้เฉพาะ tvOS เท่านั้น หรือสามารถเพิ่มโค้ดลงในแอป iOS ที่มีอยู่เพื่อสร้างแอป "สากล" ซึ่งเป็นรุ่นที่คล้ายกับแอป iPhone และ iPad ในปัจจุบัน

ปัญหาที่หนึ่ง: Xcode เสนอความสามารถในการสร้างแอปแบบเนทีฟเท่านั้น แต่ฉันพบส่วนในเอกสารประกอบอย่างรวดเร็วซึ่งจะช่วยให้นักพัฒนาเปลี่ยนโครงสร้างนี้และเตรียมพร้อมสำหรับ TVML โดยพื้นฐานแล้ว มันเป็นโค้ดเพียงไม่กี่บรรทัดใน Swift ที่สร้างออบเจ็กต์แบบเต็มหน้าจอบน Apple TV และโหลดส่วนหลักของแอปซึ่งเขียนด้วย JavaScript อยู่แล้ว

ปัญหาที่สอง: แอปพลิเคชัน TVML นั้นคล้ายกับหน้าเว็บมาก ดังนั้นโค้ดทั้งหมดจึงถูกโหลดจากอินเทอร์เน็ตด้วย จริงๆ แล้วตัวแอปพลิเคชันนั้นเป็นเพียง "bootloader" ซึ่งมีเพียงโค้ดขั้นต่ำและองค์ประกอบกราฟิกขั้นพื้นฐานที่สุด (ไอคอนแอปพลิเคชันและสิ่งที่คล้ายกัน) ในท้ายที่สุด ฉันใส่โค้ด JavaScript หลักลงในแอปได้สำเร็จ และอย่างน้อยก็สามารถแสดงข้อความแสดงข้อผิดพลาดที่กำหนดเองได้เมื่อ Apple TV ไม่ได้เชื่อมต่อกับอินเทอร์เน็ต

ปัญหาเล็ก ๆ ประการที่สาม: iOS 9 และด้วย tvOS กำหนดให้การสื่อสารทั้งหมดไปยังอินเทอร์เน็ตต้องเข้ารหัสผ่าน HTTPS อย่างเคร่งครัด นี่เป็นฟีเจอร์ที่เปิดตัวใน iOS 9 สำหรับแอพทั้งหมด และเหตุผลก็คือแรงกดดันต่อความเป็นส่วนตัวของผู้ใช้และความปลอดภัยของข้อมูล ดังนั้นจึงจำเป็นต้องปรับใช้ใบรับรอง SSL บนเว็บเซิร์ฟเวอร์ สามารถซื้อได้ในราคาเพียง 5 ดอลลาร์ (120 คราวน์) ต่อปี หรือคุณสามารถใช้บริการ CloudFlare ซึ่งจะดูแล HTTPS ด้วยตัวมันเองโดยอัตโนมัติและไม่ต้องลงทุน ตัวเลือกที่สองคือปิดข้อจำกัดนี้สำหรับแอปพลิเคชัน ซึ่งสามารถทำได้ในตอนนี้ แต่ฉันจะไม่แนะนำอย่างแน่นอน

หลังจากอ่านเอกสารไม่กี่ชั่วโมง ซึ่งยังคงมีข้อผิดพลาดเล็กน้อยเป็นครั้งคราว ฉันก็สร้างแอปพลิเคชันพื้นฐานแต่ใช้งานได้จริง โดยแสดงข้อความยอดนิยม "Hello World" และปุ่มสองปุ่ม ฉันใช้เวลาประมาณสองชั่วโมงในการพยายามทำให้ปุ่มใช้งานได้และทำอะไรบางอย่างจริงๆ แต่เมื่อพิจารณาถึงช่วงเช้าตรู่ ฉันเลือกที่จะเข้านอนมากกว่า... และนั่นก็เป็นสิ่งที่ดี

เมื่อวันก่อน ฉันมีความคิดที่สดใสที่จะดาวน์โหลดแอปพลิเคชัน TVML ตัวอย่างสำเร็จรูปจาก Apple โดยตรง ฉันพบสิ่งที่ฉันกำลังมองหาอย่างรวดเร็วในโค้ด และปุ่มก็ใช้งานได้จริง เหนือสิ่งอื่นใด ฉันยังได้ค้นพบสองส่วนแรกของบทช่วยสอน tvOS บนอินเทอร์เน็ต แหล่งข้อมูลทั้งสองช่วยได้มาก ดังนั้นฉันจึงเริ่มโครงการใหม่และเริ่มแอปพลิเคชันจริงครั้งแรก

การสมัครจริงครั้งแรก

ฉันเริ่มต้นใหม่ทั้งหมดตั้งแต่หน้า TVML หน้าแรก ข้อดีคือ Apple ได้เตรียมเทมเพลต TVML สำเร็จรูป 18 แบบสำหรับนักพัฒนาที่ต้องคัดลอกจากเอกสารประกอบ การแก้ไขเทมเพลตหนึ่งรายการใช้เวลาประมาณหนึ่งชั่วโมง เนื่องจากฉันกำลังเตรียม API ของเราเพื่อส่ง TVML ที่เสร็จแล้วพร้อมข้อมูลที่จำเป็นทั้งหมดไปยัง Apple TV

เทมเพลตที่สองใช้เวลาประมาณ 10 นาทีเท่านั้น ฉันได้เพิ่ม JavaScript สองตัว - โค้ดส่วนใหญ่ในนั้นมาจาก Apple โดยตรง ดังนั้นทำไมต้องคิดค้นวงล้อใหม่ Apple ได้เตรียมสคริปต์ที่ดูแลการโหลดและการแสดงเทมเพลต TVML รวมถึงตัวบ่งชี้การโหลดเนื้อหาที่แนะนำและการแสดงข้อผิดพลาดที่อาจเกิดขึ้น

ในเวลาไม่ถึงสองชั่วโมง ฉันสามารถรวบรวมแอปพลิเคชัน PLAY.CZ ที่เปลือยเปล่าแต่ใช้งานได้ สามารถแสดงรายการสถานีวิทยุ กรองตามประเภท และเริ่มวิทยุได้ ใช่ มีหลายสิ่งหลายอย่างที่ไม่ได้อยู่ในแอป แต่การทำงานขั้นพื้นฐาน

[youtube id=”kLKvWC-rj7Q” width=”620″ height=”360″]

ข้อดีก็คือ โดยพื้นฐานแล้วแอปพลิเคชันนี้ไม่มีอะไรมากไปกว่าเวอร์ชันพิเศษของเว็บไซต์ ซึ่งขับเคลื่อนโดย JavaScript และคุณยังสามารถใช้ CSS เพื่อปรับเปลี่ยนรูปลักษณ์ได้อีกด้วย

Apple ยังคงต้องการการเตรียมการเพิ่มเติมอีกสองสามอย่าง ไอคอนแอปพลิเคชันไม่ใช่ไอคอนเดียว แต่มีสองไอคอน - เล็กลงและใหญ่ขึ้น ความแปลกใหม่คือไอคอนไม่ใช่รูปภาพธรรมดา แต่มีเอฟเฟกต์พารัลแลกซ์และประกอบด้วย 2 ถึง 5 เลเยอร์ (พื้นหลัง วัตถุที่อยู่ตรงกลางและเบื้องหน้า) รูปภาพที่ใช้งานอยู่ทั้งหมดทั่วทั้งแอปพลิเคชันสามารถมีเอฟเฟกต์เหมือนกันได้

จริงๆ แล้วแต่ละเลเยอร์เป็นเพียงรูปภาพบนพื้นหลังโปร่งใส Apple ได้เตรียมแอปพลิเคชันของตนเองสำหรับรวบรวมรูปภาพแบบเลเยอร์เหล่านี้ และสัญญาว่าจะออกปลั๊กอินสำหรับส่งออกสำหรับ Adobe Photoshop เร็วๆ นี้

ข้อกำหนดอีกประการหนึ่งคือรูปภาพ "ชั้นบนสุด" หากผู้ใช้วางแอปในตำแหน่งที่โดดเด่นในแถวบนสุด (บนชั้นวางด้านบน) แอปนั้นจะต้องมีเนื้อหาสำหรับเดสก์ท็อปเหนือรายการแอปด้วย อาจมีเพียงแค่รูปภาพธรรมดาๆ หรืออาจเป็นพื้นที่ใช้งานก็ได้ เช่น รายการภาพยนตร์เรื่องโปรด หรือในกรณีของเราคือสถานีวิทยุ

นักพัฒนาจำนวนมากเพิ่งเริ่มสำรวจความเป็นไปได้ของ tvOS ใหม่ ข่าวดีก็คือการเขียนแอพเนื้อหานั้นง่ายมาก และ Apple ได้ช่วยเหลือนักพัฒนาด้วย TVML ไปมากแล้ว การสร้างแอปพลิเคชัน (เช่น PLAY.CZ หรือ iVyszílő) ควรง่ายและรวดเร็ว มีโอกาสที่ดีที่แอปพลิเคชั่นจำนวนมากจะพร้อมในเวลาเดียวกันกับที่ Apple TV ใหม่วางจำหน่าย

การเขียนแอพแบบเนทีฟหรือการย้ายเกมจาก iOS ไปยัง tvOS จะมีความท้าทายมากกว่า แต่ก็ไม่มากนัก อุปสรรคที่ใหญ่ที่สุดคือการควบคุมที่แตกต่างกันและขีดจำกัด 200MB ต่อแอป แอปพลิเคชันแบบเนทีฟสามารถดาวน์โหลดข้อมูลบางส่วนจากร้านค้าได้เท่านั้น และต้องดาวน์โหลดข้อมูลอื่นๆ เพิ่มเติม และไม่มีการรับประกันว่าระบบจะไม่ลบข้อมูลนี้ อย่างไรก็ตาม นักพัฒนาจะจัดการกับข้อจำกัดนี้ได้อย่างรวดเร็วอย่างแน่นอน ต้องขอบคุณชุดเครื่องมือที่เรียกว่า "App Thinning" ซึ่งเป็นส่วนหนึ่งของ iOS 9 เช่นกัน

หัวข้อ: , ,
.