ABONAMENTE VIDEO REDACȚIA
RO
EN
NOU
Numărul 150
Numărul 149 Numărul 148 Numărul 147 Numărul 146 Numărul 145 Numărul 144 Numărul 143 Numărul 142 Numărul 141 Numărul 140 Numărul 139 Numărul 138 Numărul 137 Numărul 136 Numărul 135 Numărul 134 Numărul 133 Numărul 132 Numărul 131 Numărul 130 Numărul 129 Numărul 128 Numărul 127 Numărul 126 Numărul 125 Numărul 124 Numărul 123 Numărul 122 Numărul 121 Numărul 120 Numărul 119 Numărul 118 Numărul 117 Numărul 116 Numărul 115 Numărul 114 Numărul 113 Numărul 112 Numărul 111 Numărul 110 Numărul 109 Numărul 108 Numărul 107 Numărul 106 Numărul 105 Numărul 104 Numărul 103 Numărul 102 Numărul 101 Numărul 100 Numărul 99 Numărul 98 Numărul 97 Numărul 96 Numărul 95 Numărul 94 Numărul 93 Numărul 92 Numărul 91 Numărul 90 Numărul 89 Numărul 88 Numărul 87 Numărul 86 Numărul 85 Numărul 84 Numărul 83 Numărul 82 Numărul 81 Numărul 80 Numărul 79 Numărul 78 Numărul 77 Numărul 76 Numărul 75 Numărul 74 Numărul 73 Numărul 72 Numărul 71 Numărul 70 Numărul 69 Numărul 68 Numărul 67 Numărul 66 Numărul 65 Numărul 64 Numărul 63 Numărul 62 Numărul 61 Numărul 60 Numărul 59 Numărul 58 Numărul 57 Numărul 56 Numărul 55 Numărul 54 Numărul 53 Numărul 52 Numărul 51 Numărul 50 Numărul 49 Numărul 48 Numărul 47 Numărul 46 Numărul 45 Numărul 44 Numărul 43 Numărul 42 Numărul 41 Numărul 40 Numărul 39 Numărul 38 Numărul 37 Numărul 36 Numărul 35 Numărul 34 Numărul 33 Numărul 32 Numărul 31 Numărul 30 Numărul 29 Numărul 28 Numărul 27 Numărul 26 Numărul 25 Numărul 24 Numărul 23 Numărul 22 Numărul 21 Numărul 20 Numărul 19 Numărul 18 Numărul 17 Numărul 16 Numărul 15 Numărul 14 Numărul 13 Numărul 12 Numărul 11 Numărul 10 Numărul 9 Numărul 8 Numărul 7 Numărul 6 Numărul 5 Numărul 4 Numărul 3 Numărul 2 Numărul 1
×
▼ LISTĂ EDIȚII ▼
Numărul 43
Abonament PDF

Roku

Thomas Morris
Roku & Python Software Developer @3Pillar Global



PROGRAMARE

Roku a erupt în acești ultimi câțiva ani. Începând ca un startup modest în 2002 și lăudându-se acum cu peste 10 milioane de utilizatori, Roku este cel mai mare jucător de pe piața dispozitivelor de streaming pentru home media, vânzând 37% din toate dispozitivele de streaming anul trecut. Cel mai apropiat competitor este Chromecast, cu 19%. Deci, chiar dacă acest startup a reușit să se strecoare printre goliați precum Apple sau Google pe piața home media, a făcut acest lucru cu destul de mult succes. 

Roku

În caz că nu ați mai auzit de Roku până acum, este o cutiuță mică, nu scumpă (de obicei sub 100 $), pe care o puteți conecta la televizorul vostru pentru a reda în flux videouri de pe diferite canale sau aplicații. Sarcina unui dezvoltator Roku este să programeze un canal pe care utilizatorul să îl poată deschide și de pe care să poată reda în flux materiale video pe televizor. Astfel că, dacă cineva valorifică, să spunem, un canal Youtube, el sau ea va face o aplicație prin care utilizatorii pot căuta și viziona conținut Youtube pe al lor Roku. 

Când începeți să programați, veți realiza rapid că Roku, de fapt, nu are un simulator despre care să vorbim - orice cod pe care îl scrieți și doriți să îl testați trebuie încărcat pe un dispozitiv Roku real și apoi rulat pe aparat pentru a face debugging-ul. Dacă ați avut o zi grea la muncă și mai trebuie să lucrați și acasă la ceva, pregătiți-vă să luați dispozitivul acasă cu voi și să îl conectați la un televizor de rezervă pe care să sperăm că îl aveți prin preajmă. Debugging-ul se face prin plasarea comenzilor "stop" de-a lungul codului pentru a stabili punctele de întrerupere, apoi crearea unei sesiuni telnet pe dispozitivul Roku și trecerea la comenzi text în terminal. Este dureros, dacă sunteți obișnuiți cu o interfață de devirusare GUI, dar în mod cert se poate face. 

Unul din lucrurile și mai interesante este că, în loc să adopte un limbaj existent, așa cum Android a făcut cu Java, echipa Roku a decis să meargă pe contraintuitiv și să facă mecanismul să funcționeze cu propriul său limbaj de codare patentat - Brightscript. 

Acum, la o primă vedere, aceasta pare a fi greșeala tipică pe care o fac toți inginerii antreprenori atunci când creează un nou produs - decât să utilizeze ceva ce există deja și s-a dovedit că funcționează, ei reinventează roata deoarece asta iubesc ei să facă. Între timp, acest fapt are tendința de a cauza tot felul de probleme minore. Și, credeți-mă, Brightscript are destule din acestea. De la omiterea observațiilor când efectuează operațiile logice la introducerea unei multitudini de idiosincrasii, dezvoltarea unui limbaj de programare nou nouț este de fapt mult mai complexă decât pare la început. 

Dar odată ce trecem peste tot oftatul exasperat și rotirea ochilor peste cap și peste "of, tipic"-urile pe care le manifestăm cu toții atunci când o companie face încă un limbaj patentat, vom putea observa că există de fapt destule motive pentru care Roku a făcut asta. Pentru început, ei nu mai trebuie să se îngrijoreze în legătură cu apariția unei noi versiuni a limbajului și cu necesitatea de a-și face upgrade la biblioteci în mod constant pentru a ține pasul. Ei au controlul deplin și total asupra modului în care limbajul interacționează cu software-ul lor. Brightscript trăiește sau moare după placul Roku. 

Lucrul cu Brightscript 

În ceea ce privește lucrul efectiv cu acest limbaj, una din caracteristicile cele mai grozave ale Brightscript este dimensiunea sa. Acest limbaj este foarte mic. Întreaga bază a codului constă în numai aproximativ 90 de tipuri de clase. Aceasta înseamnă că dacă ești un Rokui-ist nou, este simplu să te deprinzi cu sforile și să poți pune laolaltă ceva cod ușor care funcționează mai mult sau mai puțin.  

Cel mai interesant lucru este că Brightscript nu îți permite să îți formezi layout-ul pentru ecranele din aplicația ta. Da, chiar așa. Roku nu îți oferă control asupra locului unde să apară elementele de pe ecran sau cum să arate UI-ul tău. Alegi unul dintre cele 10 modele pe care Brightscript ți le oferă și îți treci informațiile pe el. De acolo, programul dispune și așază totul după cum știe, indiferent dacă ție îți place sau nu. 

Într-un fel, există ceva eliberator în legătură cu asta. Scrierea unei aplicații devine super-ușoară, căci tot ce ai de făcut este să scrii ceva de genul: 

poster = CreateObject(„roPosterScreen”)
contents = [
    {
        Title: „Show 1”
        Description: „The hottest thing on TV”
    }
    {
        Title: „Show 2”
        Description: „The next hottest thing on TV”
    }
]
poster.SetContentList(contents)
poster.Show() 

Și ai deja o pagină care arată decent, cu două elemente pe ea, gata să funcționeze. Tot ce ține de stil va fi realizat conform modelelor prestabilite ale "roPosterScreen". 

În același timp, acesta este și unul dintre lucrurile cele mai rele ale Roku. Dacă ai clienți care pun întrebări de genul "Este posibil să schimbăm acel mic…?" - obișnuiți-vă să spuneți "Nu". Și obișnuiți-vă să îl spuneți des, deoarece un lucru pe care Roku nu îl permite este personalizarea. De obicei, singurul aspect pe care Roku vă permite să îl schimbați este culoarea de fundal și câteva poziționări minore ale elementelor din bannerul din partea de sus a ecranului. În afară de acestea, nu mai puteți face nimic. 

Orice altceva în plus pe lângă propria culoare de fundal necesită dezvoltarea unei interfețe utilizând clasa "roImageCanvas", unde trebuie să specificați fiecare căsuță, obiect text și coordonată a imaginii, lățime și înălțime. Apoi, dacă doriți să adăugați orice formă de animație, va trebui să redați totul manual. Nu mai este nevoie să spun, este nevoie de un efort sârguincios pentru a-ți construi propria interfață personalizată, iar aceasta nu este ceva ce să îți dorești cu adevărat să faci, decât dacă ai prea mult timp la dispoziție. 

Concluzie

În ciuda acestor aspecte, ceea ce este promițător în legătură cu Roku este că industria dispozitivelor de streaming a înflorit în ultima perioadă. Un studiu al Parks Associates arată că numărul locuințelor din US care posedă un dispozitiv de streaming a crescut cu 63% de anul trecut, de la 13% la 21%. Același raport mai prezice și faptul că companiile vor vinde până la 86 milioane de dispozitive de streaming în 2019. Și dat fiind faptul că Roku deține o mare parte din această industrie, există o mare posibilitate ca cererea de programatori Roku să cunoască o creștere în următorii doi ani. 

Văzând cât de rapid a evoluat piața dispozitivelor de streaming, a învăța să programezi pentru vreunul devine din ce în ce mai viabil. Dacă poți tolera defectele platformei, popularitatea lui Roku face ca învățarea lui să fie o opțiune evidentă. Deși încă în faza incipientă, ascensiunea meteorică a Roku promite multe pe viitor. 

NUMĂRUL 149 - Development with AI

Sponsori

  • Accenture
  • BT Code Crafters
  • Accesa
  • Bosch
  • Betfair
  • MHP
  • BoatyardX
  • .msg systems
  • P3 group
  • Ing Hubs
  • Cognizant Softvision
  • Colors in projects