Hledáme opravdového JavaScriptového programátora
nangu.TV není jedna aplikace, spíše ekosystém dovolující napsat a sestavit produkt podle konkrétního zadání. Obsahuje řadu zajímavých komponent, z nichž některé byste (možná) v Javascriptu nečekali.
Vyvíjíme dlouhodobě. Najdete u nás kód, který se roky zdokonaluje a používá v různých aplikacích. Pracujeme převážně v Linuxovém Open-Source prostředí.
Co u nás najdete
Co u nás v Javascriptu najdete a na čem dlouhodobě pracujeme:
- Real-time messaging (rabbitmq) mezi aplikacemi
- Ekosystém pro běh externích HTML5 aplikací (w3c widgets), vývoj SDK propodporu jejich autorů
- Vývoji originálního uživatelského rozhraní pro velkou TV obrazovku a dálkové ovládání
- GUI framework, Window manager
- Vývoji UI media (audio/video) playeru se zajímavými funkcemi jako TimeShifting
- Systém pro kustomizované buildy produktu, desítky podpůrných knihoven
- Řadu konkrétních aplikací, například: EPG browser, VoD knihovna, hry
- Televizní aplikace, integrace sociálních sítí, RSS čtečka, a jiné
- Další zajímavé technologie, např. OAuth, DLNA
Předpoklady
- Znáte důkladně programování v JavaScriptu nebo máte chuť si takovou znalost doplnit
- Umíte programovat v některém dalším jazyce Ruby/Pythonu/PHP/Java/C/C++
- Máte zkušenost s vývojem webových nebo síťových aplikací, znalost HTTP
- Chcete psát efektivní, kvalitní a užitečný kód
- Zajímá Vás problematika návrhu uživatelských rozhraní, interakce člověk-stroj
- Baví Vás učit se novým věcem, zajímá Vás jak věci fungují, co je podstatou problémů
- Je možné se na Vás spolehnout
Vaší výhodou bude pokud:
- Přispíváte do Open Source Software komunity
- Máte již projekty, které poslouží jako reference
- Máte zkušenosti s vývojem pro embedded zařízení
V případě Vašeho zájmu o spolupráci, zašlete prosím emailem na adresu jobs@nangu.tv svůj strukturovaný životopis. Do názvu (subject) uveďte pozici, o kterou máte zájem. Veškeré Vámi zaslané materiály budou považovány za důvěrné.
Jak tedy aplikace vypadá?
V úvodu článku jsme zmiňovali, že hlavní aplikace je opravdová aplikace napsaná v JavaScriptu obsahující různé komponenty. Celá aplikace běží v prohlížeči (obdobě jako Java aplikace běží v JVM). V našem případě se ale často nejedná o prohlížeč na vašem desktopu, ale prohlížeč zabudovaný (embedded browser). Nejčastější zařízení je STB - set-top box. Tedy krabička, kterou si koncový uživatel připojí ke svojí televizi např. přes HDMI a pomocí ní může přijímat obsah z různých zdrojů. Schéma níže zachycuje architekturu typického STB:

STB je de fakto počítač s Linuxem. Architektury se používají různé, třeba SH4 nebo ARM. Společné často mají, že se jedná o tzv SoC (System on Chip) platformy. Většina chipsetu je přímo integrovaná do pouzdra procesoru a množství externích součástek je tedy poměrně malé.
Portálová aplikace sama o sobě představuje prostředí pro běh a vývoj dalších aplikací. Proto její architektura může v mnoha ohledech připomínat malý operační systém:

Najdete v ní služby pro komunikaci s vnějším světem (implementace end-device API, viz http://api.nangu.tv) a zasílání zpráv v reálném čase (IM). Správu aplikací a vykreslování (Window manager). A samozřejmě i části, které se starají o řízení zobrazení multimédií.
