ఆపిల్ గత వారం ఇతర విషయాలతోపాటు అందించింది కొత్త Apple TV tvOS ఆపరేటింగ్ సిస్టమ్తో. యాప్ స్టోర్ నుండి అప్లికేషన్లను కొత్త బ్లాక్ బాక్స్లో ఇన్స్టాల్ చేయవచ్చనే వాస్తవం డెవలపర్లను ఖచ్చితంగా సంతోషపెట్టింది.
డెవలపర్లకు రెండు ఎంపికలు ఉన్నాయి. వారు Apple TV హార్డ్వేర్కు పూర్తి ప్రాప్యతను కలిగి ఉన్న స్థానిక యాప్ను వ్రాయగలరు. అందుబాటులో ఉన్న SDK (డెవలపర్ల కోసం లైబ్రరీల సెట్) ఐఫోన్, ఐప్యాడ్ నుండి డెవలపర్లకు ఇప్పటికే తెలిసిన వాటికి చాలా పోలి ఉంటుంది మరియు ప్రోగ్రామింగ్ భాషలు ఒకే విధంగా ఉంటాయి - ఆబ్జెక్టివ్-సి మరియు యువ స్విఫ్ట్.
కానీ సరళమైన అనువర్తనాల కోసం, Apple TVML - టెలివిజన్ మార్కప్ లాంగ్వేజ్ రూపంలో డెవలపర్లకు రెండవ ఎంపికను అందించింది. TVML అనే పేరు అనుమానాస్పదంగా HTML లాగా ఉందని మీరు భావిస్తే, మీరు చెప్పింది నిజమే. ఇది నిజంగా XML ఆధారంగా మార్కప్ లాంగ్వేజ్ మరియు HTMLని పోలి ఉంటుంది, ఇది చాలా సరళమైనది మరియు కఠినమైన వాక్యనిర్మాణాన్ని కలిగి ఉంటుంది. కానీ ఇది నెట్ఫ్లిక్స్ వంటి అప్లికేషన్లకు ఖచ్చితంగా సరిపోతుంది. మరియు వినియోగదారులు కూడా ప్రయోజనం పొందుతారు, ఎందుకంటే TVML యొక్క కఠినత మల్టీమీడియా అప్లికేషన్లను ఒకే విధంగా కనిపించేలా చేస్తుంది మరియు పని చేస్తుంది.
మొదటి అప్లికేషన్కి మార్గం
కాబట్టి నేను చేయవలసిన మొదటి పని Xcode డెవలప్మెంట్ ఎన్విరాన్మెంట్ యొక్క కొత్త బీటా వెర్షన్ను డౌన్లోడ్ చేయడం (వెర్షన్ 7.1 అందుబాటులో ఉంది ఇక్కడ) ఇది నాకు tvOS SDKకి యాక్సెస్ని ఇచ్చింది మరియు ప్రత్యేకంగా నాల్గవ తరం Apple TVని లక్ష్యంగా చేసుకుని కొత్త ప్రాజెక్ట్ను ప్రారంభించగలిగింది. యాప్ tvOS-మాత్రమే కావచ్చు లేదా "యూనివర్సల్" యాప్ని సృష్టించడానికి ఇప్పటికే ఉన్న iOS యాప్కి కోడ్ జోడించబడవచ్చు – ఇది నేటి iPhone మరియు iPad యాప్ల మాదిరిగానే మోడల్.
సమస్య ఒకటి: Xcode స్థానిక యాప్ని సృష్టించే సామర్థ్యాన్ని మాత్రమే అందిస్తుంది. కానీ నేను చాలా త్వరగా డాక్యుమెంటేషన్లో ఒక విభాగాన్ని కనుగొన్నాను, అది డెవలపర్లు ఈ అస్థిపంజరాన్ని మార్చడానికి మరియు TVML కోసం సిద్ధం చేయడంలో సహాయపడుతుంది. ప్రాథమికంగా, ఇది స్విఫ్ట్లోని కొన్ని లైన్ల కోడ్, ఇది కేవలం Apple TVలో, పూర్తి-స్క్రీన్ ఆబ్జెక్ట్ను సృష్టించి, యాప్లోని ప్రధాన భాగాన్ని లోడ్ చేస్తుంది, ఇది ఇప్పటికే జావాస్క్రిప్ట్లో వ్రాయబడింది.
సమస్య రెండు: TVML అప్లికేషన్లు నిజంగా చాలా వెబ్ పేజీ లాగా ఉంటాయి మరియు అందువల్ల మొత్తం కోడ్ ఇంటర్నెట్ నుండి లోడ్ చేయబడుతుంది. అప్లికేషన్ వాస్తవానికి కేవలం "బూట్లోడర్" మాత్రమే, ఇందులో కనీస కోడ్ మరియు అత్యంత ప్రాథమిక గ్రాఫిక్ అంశాలు (అప్లికేషన్ ఐకాన్ మరియు వంటివి) మాత్రమే ఉంటాయి. చివరికి, నేను ప్రధాన జావాస్క్రిప్ట్ కోడ్ని నేరుగా యాప్లో ఉంచాను మరియు Apple TV ఇంటర్నెట్కి కనెక్ట్ కానప్పుడు కనీసం కస్టమ్ ఎర్రర్ మెసేజ్ని ప్రదర్శించే సామర్థ్యాన్ని పొందాను.
మూడవ చిన్న సమస్య: iOS 9 మరియు దానితో tvOS ఖచ్చితంగా HTTPS ద్వారా ఇంటర్నెట్కి సంబంధించిన అన్ని కమ్యూనికేషన్లు గుప్తీకరించబడాలి. ఇది అన్ని యాప్ల కోసం iOS 9లో ప్రవేశపెట్టబడిన ఫీచర్ మరియు దీనికి కారణం వినియోగదారు గోప్యత మరియు డేటా భద్రతపై ఒత్తిడి. కాబట్టి వెబ్ సర్వర్లో SSL ప్రమాణపత్రాన్ని అమలు చేయడం అవసరం. ఇది సంవత్సరానికి $5 (120 కిరీటాలు) కంటే తక్కువగా కొనుగోలు చేయవచ్చు లేదా మీరు స్వయంచాలకంగా మరియు పెట్టుబడి లేకుండా HTTPSని స్వయంగా చూసుకునే క్లౌడ్ఫ్లేర్ సేవను ఉపయోగించవచ్చు. అప్లికేషన్ కోసం ఈ పరిమితిని ఆఫ్ చేయడం రెండవ ఎంపిక, ఇది ప్రస్తుతానికి సాధ్యమే, కానీ నేను దీన్ని ఖచ్చితంగా సిఫార్సు చేయను.
డాక్యుమెంటేషన్ని చదివిన కొన్ని గంటల తర్వాత, అప్పుడప్పుడు చిన్న చిన్న లోపాలు ఉన్న చోట, నేను చాలా ప్రాథమికమైన కానీ పని చేసే అప్లికేషన్ను రూపొందించాను. ఇది ప్రసిద్ధ టెక్స్ట్ "హలో వరల్డ్" మరియు రెండు బటన్లను ప్రదర్శించింది. నేను బటన్ను యాక్టివ్గా ఉంచడానికి మరియు వాస్తవానికి ఏదైనా చేయడానికి ప్రయత్నించడానికి సుమారు రెండు గంటలు గడిపాను. కానీ తెల్లవారుజాము గంటలను పరిగణనలోకి తీసుకుంటే, నేను నిద్రపోవడానికి ఇష్టపడతాను… మరియు అది మంచి విషయం.
మరొక రోజు, ఆపిల్ నుండి నేరుగా రెడీమేడ్ నమూనా TVML అప్లికేషన్ను డౌన్లోడ్ చేయాలనే ప్రకాశవంతమైన ఆలోచన నాకు ఉంది. నేను కోడ్లో వెతుకుతున్నదాన్ని చాలా త్వరగా కనుగొన్నాను మరియు బటన్ ప్రత్యక్షంగా మరియు పని చేస్తోంది. ఇతర విషయాలతోపాటు, నేను ఇంటర్నెట్లో tvOS ట్యుటోరియల్లోని మొదటి రెండు భాగాలను కూడా కనుగొన్నాను. రెండు వనరులు చాలా సహాయపడ్డాయి, కాబట్టి నేను కొత్త ప్రాజెక్ట్ను ప్రారంభించాను మరియు నా మొదటి నిజమైన అప్లికేషన్ను ప్రారంభించాను.
మొదటి నిజమైన అప్లికేషన్
నేను పూర్తిగా మొదటి నుండి ప్రారంభించాను, మొదటి TVML పేజీ. డెవలపర్ల కోసం ఆపిల్ 18 రెడీమేడ్ TVML టెంప్లేట్లను సిద్ధం చేసింది, వీటిని కేవలం డాక్యుమెంటేషన్ నుండి కాపీ చేయవలసి ఉంటుంది. ఒక టెంప్లేట్ని సవరించడానికి దాదాపు గంట సమయం పట్టింది, ఎందుకంటే నేను పూర్తి చేసిన TVMLని Apple TVకి అవసరమైన మొత్తం డేటాతో పంపడానికి మా APIని సిద్ధం చేస్తున్నాను.
రెండవ టెంప్లేట్ కేవలం 10 నిమిషాలు పట్టింది. నేను రెండు జావాస్క్రిప్ట్లను జోడించాను - వాటిలో చాలా కోడ్ నేరుగా Apple నుండి వస్తుంది, కాబట్టి వీల్ను ఎందుకు మళ్లీ ఆవిష్కరించాలి. Apple TVML టెంప్లేట్లను లోడ్ చేయడం మరియు ప్రదర్శించడం వంటి వాటిపై శ్రద్ధ వహించే స్క్రిప్ట్లను సిద్ధం చేసింది, ఇందులో సిఫార్సు చేయబడిన కంటెంట్ లోడింగ్ సూచిక మరియు సాధ్యమయ్యే ఎర్రర్ డిస్ప్లే ఉన్నాయి.
రెండు గంటల కంటే తక్కువ సమయంలో, నేను చాలా బేర్, కానీ ఫంక్షనింగ్ PLAY.CZ అప్లికేషన్ను రూపొందించగలిగాను. ఇది రేడియో స్టేషన్ల జాబితాను ప్రదర్శించగలదు, దానిని కళా ప్రక్రియ ద్వారా ఫిల్టర్ చేయగలదు మరియు ఇది రేడియోను ప్రారంభించగలదు. అవును, చాలా విషయాలు యాప్లో లేవు, కానీ ప్రాథమిక అంశాలు పని చేస్తాయి.
[youtube id=”kLKvWC-rj7Q” వెడల్పు=”620″ ఎత్తు=”360″]
ప్రయోజనం ఏమిటంటే, అప్లికేషన్ ప్రాథమికంగా వెబ్సైట్ యొక్క ప్రత్యేక సంస్కరణ కంటే మరేమీ కాదు, ఇది జావాస్క్రిప్ట్ ద్వారా ఆధారితం మరియు మీరు రూపాన్ని సవరించడానికి CSSని కూడా ఉపయోగించవచ్చు.
Appleకి ఇంకా కొన్ని విషయాలు సిద్ధం కావాలి. అప్లికేషన్ చిహ్నం ఒకటి కాదు, రెండు - చిన్నది మరియు పెద్దది. కొత్తదనం ఏమిటంటే, ఐకాన్ ఒక సాధారణ చిత్రం కాదు, కానీ పారలాక్స్ ప్రభావాన్ని కలిగి ఉంటుంది మరియు 2 నుండి 5 లేయర్లను కలిగి ఉంటుంది (నేపథ్యం, మధ్యలో మరియు ముందుభాగంలో ఉన్న వస్తువులు). అప్లికేషన్లోని అన్ని సక్రియ చిత్రాలు ఒకే ప్రభావాన్ని కలిగి ఉంటాయి.
ప్రతి లేయర్ వాస్తవానికి పారదర్శక నేపథ్యంపై ఉన్న చిత్రం మాత్రమే. ఈ లేయర్డ్ చిత్రాలను కంపైల్ చేయడానికి Apple దాని స్వంత అప్లికేషన్ను సిద్ధం చేసింది మరియు Adobe Photoshop కోసం త్వరలో ఎగుమతి ప్లగిన్ను విడుదల చేస్తామని హామీ ఇచ్చింది.
మరొక అవసరం "టాప్ షెల్ఫ్" చిత్రం. వినియోగదారు ఎగువ వరుసలో (ఎగువ షెల్ఫ్లో) యాప్ను ప్రముఖ స్థానంలో ఉంచినట్లయితే, యాప్ తప్పనిసరిగా యాప్ జాబితా పైన ఉన్న డెస్క్టాప్ కోసం కంటెంట్ను కూడా అందించాలి. కేవలం ఒక సాధారణ చిత్రం ఉండవచ్చు లేదా అది సక్రియ ప్రాంతం కావచ్చు, ఉదాహరణకు ఇష్టమైన చలనచిత్రాల జాబితా లేదా, మా సందర్భంలో, రేడియో స్టేషన్లు.
చాలా మంది డెవలపర్లు కొత్త tvOS యొక్క అవకాశాలను అన్వేషించడం ప్రారంభించారు. శుభవార్త ఏమిటంటే కంటెంట్ యాప్ను వ్రాయడం చాలా సులభం మరియు TVMLతో డెవలపర్ల కోసం Apple చాలా దూరం వెళ్ళింది. అప్లికేషన్ను రూపొందించడం (ఉదాహరణకు PLAY.CZ లేదా iVyszílő) సులభంగా మరియు వేగంగా ఉండాలి. కొత్త యాపిల్ టీవీ విక్రయానికి వచ్చే సమయంలోనే పెద్ద సంఖ్యలో అప్లికేషన్లు సిద్ధంగా ఉండే అవకాశాలు మెండుగా ఉన్నాయి.
స్థానిక యాప్ను వ్రాయడం లేదా iOS నుండి tvOSకి గేమ్ను పోర్ట్ చేయడం మరింత సవాలుగా ఉంటుంది, కానీ పెద్దగా కాదు. అతిపెద్ద అడ్డంకి ఏమిటంటే విభిన్న నియంత్రణలు మరియు ఒక్కో యాప్ పరిమితి 200MB. స్థానిక అప్లికేషన్ స్టోర్ నుండి డేటాలో పరిమిత భాగాన్ని మాత్రమే డౌన్లోడ్ చేయగలదు మరియు మిగతావన్నీ తప్పనిసరిగా డౌన్లోడ్ చేసుకోవాలి మరియు సిస్టమ్ ఈ డేటాను తొలగించదని ఎటువంటి హామీ లేదు. అయితే, డెవలపర్లు ఖచ్చితంగా ఈ పరిమితితో త్వరగా వ్యవహరిస్తారు, iOS 9లో భాగమైన "యాప్ థిన్నింగ్" అని పిలువబడే సాధనాల సమితికి కూడా ధన్యవాదాలు.
చక్కని వ్యాసం. ధన్యవాదాలు. నేను డెవలపర్గా లేకుండా iOS కోసం ఫైల్మేకర్తో సాధ్యమయ్యే విధంగా సరళమైన అప్లికేషన్లను (సొల్యూషన్లు) సిద్ధం చేయడానికి ఆపిల్ నుండి వినియోగదారు పరిష్కారాన్ని కూడా మనం చూస్తాము.
సిద్ధాంతంలో... స్విఫ్ట్ లోడర్ అనేది ఇప్పటికీ అలాగే ఉన్న కొన్ని లైన్లు, మొదటి TVML ఫైల్కు సంబంధించిన URL మాత్రమే మారుతుంది. ఎవరైనా కావాలనుకుంటే, వారు మీ URLతో బిల్డ్ను రిమోట్గా అమలు చేయగల స్క్రిప్ట్ను వ్రాయవచ్చు మరియు IPA ఫైల్ను తిరిగి పంపవచ్చు. లేదా మీకు Mac ఉంటే, ప్రాజెక్ట్ను పంపడంలో సమస్య లేదు, మీరు URLని ఉంచి బిల్డ్ను ప్రారంభించండి. ప్రయోజనం ఏమిటంటే, TVML అప్లికేషన్ వెలుపల ఉన్నట్లయితే, వాస్తవానికి మీకు ఒక పబ్లిక్ బిల్డ్ మరియు బహుశా ఒక ప్రైవేట్ (డెవలప్మెంట్) బిల్డ్ మాత్రమే అవసరం, మరియు మీరు TVMLని సర్వర్లో మాత్రమే మార్చగలరు మరియు తద్వారా అప్లికేషన్ యొక్క పనితీరు.
"యాప్ tvOS-మాత్రమే కావచ్చు లేదా 'ఒక-పరిమాణం-అందరికీ సరిపోయే' యాప్ని సృష్టించడానికి ఇప్పటికే ఉన్న iOS యాప్కి కోడ్ని జోడించవచ్చు - ఇది నేటి iPhone మరియు iPad యాప్ల మాదిరిగానే మోడల్."
మీరు ఏమనుకుంటున్నారో నేను ఆశ్చర్యపోతున్నాను? వ్యక్తిగతంగా, నేను యూనివర్సల్ iPhone, iPad మరియు Apple TVలను కలిగి ఉండే 1 బిల్డ్ని రూపొందించడానికి ఎక్కడా ఒక మార్గాన్ని కనుగొనలేదు.. అవి వేర్వేరు SDKలు (OSX లాగా) ఉన్నందున, మీకు tvOS కోసం అదనపు లక్ష్యం అవసరం మరియు ప్రత్యేక బిల్డ్ కూడా అవసరం. నేను ఏదో కోల్పోతున్నానా?
Xcode 7.1లో tvOS అప్లికేషన్లు ఇప్పటికే ఉన్న ప్రాజెక్ట్కు మరొక లక్ష్యం వలె జోడించబడతాయి - Apple వాచ్ కోసం అప్లికేషన్ల మాదిరిగానే లేదా నోటిఫికేషన్ కేంద్రం కోసం ఒక విడ్జెట్ని పోలి ఉంటుంది. అయితే, ఇది స్టోర్కు ఎలా అప్లోడ్ చేయబడుతుందో నాకు ఇంకా తెలియదు... Xcode ఒక ప్యాకేజీని పంపుతుందని మరియు App Store దానిని విభజించి ఉంటుందని నేను ఊహిస్తున్నాను... బహుశా వారు ఇప్పుడు వాచ్తో చేసే పనిని పోలి ఉండవచ్చు
noo.. నా అభిప్రాయం ప్రకారం, ఇవి 2 పూర్తిగా భిన్నమైన విషయాలు.. watch అనేది ఒక పొడిగింపు.. లేదా కనీసం watchOS 2.0 వరకు.. ఇది iOS లక్ష్యంతో కలిసి ఇవ్వబడింది మరియు iPhone లేకుండా కూడా పని చేయలేదు. ATV అనేది ఒక ప్రత్యేక సంస్థ.. దాని గురించి నేను మాట్లాడుతున్నాను , ATV కోసం బిల్డ్ వేరుగా ఉంటుందా (మీరు 2$ చెల్లించాలి) మరియు అదనంగా iOS 2$ చెల్లించబడుతుందా లేదా యూనివర్సల్ ఇవ్వడం సాధ్యమేనా iOS మరియు ATV రెండింటికీ 2$ బిల్డ్.. అప్పుడు నేను కాదు అనుకుంటున్నాను, ఎందుకంటే iOS లక్ష్యం కూడా ATV కోసం పరికరాల కుటుంబాన్ని అందించదు..
కాబట్టి నిజమైన లాంచ్ చూపబడుతుంది, అయితే ఇది నిజంగా Apple వాచ్ కోడ్ వలె ప్రవర్తిస్తుంది, ఉదాహరణకు. లేకపోతే, ఇప్పటికే ఉన్న అప్లికేషన్కు tvOS కోసం కోడ్ని జోడించడం సాధ్యమవుతుందని డాక్యుమెంటేషన్ పేర్కొంది మరియు తద్వారా iOS మరియు tvOS రెండింటికీ ఒకే సమయంలో ఒక యాప్ను (యాప్ స్టోర్లోని ఒక సంస్థ) విక్రయించడం సాధ్యమవుతుందని పేర్కొంది - ఒక కొనుగోలు కోసం కస్టమర్, లేదా ఒక ప్రత్యేక సంస్థగా - iOS మరియు tvOS కోసం ప్రత్యేక కొనుగోలు.
స్పష్టం చేయడానికి, ఇది ఒక్కో యాప్కు 200MB కాదు, 200MB స్థానికంగా నిల్వ చేయబడుతుంది మరియు మిగిలినవి అవసరమైనప్పుడు నెట్ నుండి డౌన్లోడ్ చేయబడతాయి
ధన్యవాదాలు, నేను అనుకున్నది అదే, కానీ నేను బహుశా తప్పుగా చెప్పాను. 200MB కంటే ఎక్కువ ఉన్న ప్రతిదీ (లేదా అదనంగా డౌన్లోడ్ చేయబడినవి) కాష్గా నిల్వ చేయబడతాయి మరియు సిస్టమ్ ఖాళీగా ఉందని నిర్ణయించుకుంటే, అది తొలగించడం ప్రారంభిస్తుంది - తగినంత ఖాళీ స్థలం మరియు తక్కువ ఉపయోగించిన కంటెంట్ వరకు ఇది జరగదు. తొలగించబడుతుంది, కాబట్టి ఇది ఆచరణలో చాలా సమస్యగా ఉండదు.
నేను ఇంకా ఏమి తెలుసుకోవాలి, ఈ పరిమితి ఆటలకు వర్తించదు, లేదా గేమ్ బేస్ వద్ద 200MB కంటే పెద్దది కావచ్చు. కానీ ఇది ఖచ్చితంగా ఎలా ఉద్దేశించబడిందో నాకు ఇంకా ఖచ్చితంగా తెలియదు. డెవలపర్ల ఫీడ్బ్యాక్ ప్రకారం Apple ఇప్పటికీ ఈ విధానాన్ని సర్దుబాటు చేసే అవకాశం ఉంది.
hehe Pokemon TCG – 4 GB, ఆర్డర్ గందరగోళం ఆన్లైన్ – 1,6 GB Hearthstone 1,3 GB నేను దీని గురించి నిజంగా ఆసక్తిగా ఉన్నాను.
ఆటలకు ప్రత్యేక మోడ్ ఉందని సమాచారం ఉంది. నేను ఇప్పుడు వివరాలను పెడుతున్నాను మరియు మేము కథనాన్ని పూర్తి చేస్తాము.
నేను దీన్ని చేయలేను మరియు నేను ఎవరినైనా కించపరచినట్లయితే నేను ముందుగానే క్షమాపణలు కోరుతున్నాను, కానీ నేను మీతో పంచుకోవాలనుకున్న భారీ, నిజాయితీ మరియు నిజమైన ఆనందాన్ని కలిగి ఉన్నాను...
కొత్త Apple TVని ప్రకటించిన మరుసటి రోజు, నేను సోమరితనంతో కాదు మరియు Apple లాటరీ (నేను ఎంచుకోవాలా?) విక్రయానికి ముందు కూడా డెవలపర్ కిట్ను పొందే అవకాశంతో సైన్ అప్ చేసాను.
నిన్న సాయంత్రం, ఆపిల్ నన్ను మొదటి బ్యాచ్కి ఎంపిక చేసినట్లు నాకు వ్రాసింది :)
కాబట్టి, నేను ఈ కథనం యొక్క రచయితతో సమానం కాదు మరియు నేను నిజాయితీగా Apple TV కోసం ప్రీస్కూల్ బ్రాస్నిక్స్లో పని చేస్తున్నాను - అక్టోబర్లో మీ యాప్ స్టోర్లో అందుబాటులో ఉంది :)
కాబట్టి రిజిస్టర్ చేసుకున్న ప్రతి ఒక్కరూ బహుశా దాన్ని పొందారని నేను భావిస్తున్నాను :) నేను నిన్న కూడా ఆర్డర్ చేసాను మరియు నేను నిజంగా దాని కోసం ఎదురు చూస్తున్నాను... మరియు అతని డెలివరీ కోసం ఎదురు చూస్తున్న మరో వ్యక్తి నాకు తెలుసు...
ఏది ఏమైనప్పటికీ, అమ్మకాలు ప్రారంభమైనప్పుడు చాలా యాప్లు ఉండవచ్చు అని ఇప్పటివరకు అనిపిస్తుంది :)
ప్రతి ఒక్కరూ బహుశా ఇవ్వరు - వారు నాకు ఇవ్వలేదు :(
:( నేను మీ పట్ల జాలిపడుతున్నాను.
ఎవరైనా కావాలనుకుంటే, నా వద్ద ఎనిమిది తెల్లటి ఆపిల్ స్టిక్కర్లు ఉన్నాయి... నేను వాటిని మెయిల్ చేయగలను...