Sam jsem vlastnikem uz cca tyden telefonu ZTE Open takze mohu dat par prispevku do mlyna. Obecne:
- telefon je low-end s 256MB pameti za 69 EUR, ale ve srovnani se stejne levnymi Androidy je i pomerne svizny (uvazime-li ze FOS = browser)
- zatim jej nemam jako full-time telefon, ale spise jako zajimavou hracku (a to zejmena i z toho duvodu, ze je operator locked :-( )
- standardni funkce jako prohlizec / mail / hudba / konektivita mi prijdou super
- o neco horsi jsou moznosti setupu (browser nijak neotevre neoverene SSL certifikaty), obcas browser spadne na hodne velkych strankach, rekl bych ze mu dojde pamet (SSH klient pres proxy a WebSockets je dle meho otazkou casu)
- to ze jej vyviji radove mene lidi nez Chrome/ChromeOS je samozrejme pravda a tahle investice Chrome stale zlepsuje, ale osobne povazuju Firefox za skvely prohlizec, ktery se stale zlepsuje a jde si pritom i svou cestou a nekopiruje slepe trendy odjinud
- nektere aplikace FOS jsou jeste nedotazene (Twitter-psan tweetu je nic moc a napr. jen zakladni FourSquare klienti), ale vidim tady velky rozmach do budoucna; nekomu ale muze chybet Skype client, ktery zrejme hned tak nebude
- nektere hry jsou uz taky docela vymazlene a zabavne
- to ze umi i WebGL je vice nez zvlada soucasne Safari 6 v iOS a chci jej pouzivat ke svemu zlepsovani psani mobile-aware weboveho obsahu
- v cem ale vidim velky benefit a obecne prilezitost, je psani aplikaci, ktere by mel zvladnou vlastne skoro kazdy webovy vyvojar, ktery umi neco HTML/CSS a samozrejme Javascript => kterych jsou miliony, ale jen malo ktery z nich nekdy napsal aplikaci pro Android, nerkuli iOS
- tenhle potencial (a nebo taky lenost ;-) se snazi Mozilla (dle meho moudre) podchytit a vyuzit, nebot stejny trend se v programovani objevuje prece jen znovu a znovu, a to write once, run everywhere, coz se Jave podarilo jen castecne, ale webu se to dari mnohem a mnohem vic
Zaver: shledavam FirefoxOS velice zajimavy, ac zatim "velmi mlady", ale kdo to s nim bude myslet vice vazne, urcite by si mel porizovat vykonnejsi HW (a mnohe slusne Android telefony se daji flushnout na dualboot s FirefoxOS) s aspon 512MB nebo radeji 1024MB RAM a dual+ core CPU, nebot samozrejme naprosto nelze srovnavat zazitek iPhone 4S za 14000CZK s telefonem s cenou pod 2000CZK.
Ja osobne si vykonnejsi HW pro tento OS urcite casem poridim...
Napsat pomocí webových technologií pexeso je sice zbytečně obtížné, a výsledek je ve srovnání s nativní aplikací neskutečně pomalý, ale nakonec se to dá. Fakt byste ale chtěl v JavaScriptu louskat binární komprimované formáty vektorových map, nad nimi provádět 3D rastrování se slušným frame rate, počítat trasy apod? Takový projekt je efektivně sebevraždou vývojáře. A pokud by to snad nevzdal vývojář, spáchá pak sebevraždu uživatel :)
http://tamats.com/apps/webglstudio3/?scene=data/scenes/Lee.json
Našlo by se ještě plno, ale to už UTFG.
Nevim jak je to ve FF, ale V8 engine v Chrome by nemel mit s vetsinou takovych uloh problem. Jelikoz provadi just-in-time kompilaci, tak by beh programu mel byt jenom radove pomalejsi (zhruba 5x) oproti programum napsanym v C/C++. 3D rastrovani lze provadet skrz WebGL prakticky primo na hardwaru, takze to taky neni moc argument.
Kompilace z jineho jazyka do JS pro vykonavani je dnes nasprosto normalni, viz CofeeScript ci Emscripten/Mandreel (C2JS). Pak je rychlost JS samozrejme dulezita + optimalizace za pomoci asm.js se dokaze priblizit rychlosti C/C++ kodu az na v prumeru dvojnasobek, coz je velice slusne...
Plus psat i rozsahlejsi kody v JS opravdu lze, ne ze ne, ale Notepad si na to samozrejme nikdo soudny nevezme, ale s IDE typu Idea ci NetBeans + require.js pro orgnizaci kodu je to vcelku prijemne.
Hangouts na FFOS funguje, ale pouze jako chat, obecne WebRTC jeste na FFOS nedorazil a tak videohovory jsou zatim jen hudbou budoucnosti, bohuzel (pro Hangouts se pouzivaji zkompilovane upravene kodeky od Google, i na PC se musi instalovat zvlast a ChromeOS je pokud se nemylim umi jen diky sve moznosti spoustet primo nativni kod).
Srovnani s ChromeOS je tedy vcelku rozumne a namiste, az na ty vlastnosti pro telefonii, ktere ChromeOS neresi (na to maji Android).
Ale stale to vidim jako velmi zajimavou alternativu do budoucnosti, pro webove programatory zejmena...
Takže vezmete příšerný jazyk typu JS, v něm pomocí Notepadu napíšete rozsáhlý kód, který se vám bude špatně ladit
Nikdy se nedá zavděčit všem, každý jazyk někdo považuje za "příšerný", i když většinou jsou to lidi, co v daném jazyce v životě nic kloudného nenapsali, což je evidentně i tvůj případ. Jestli píšeš kódy v notepadu, tak je mi tě líto. Pokud by sis ale chtěl zkusit napsat něco v JS, tak můžu doboručit Webstorm, Sublime text, Komodo, nebo po pár úpravách se dá vcelku slušně používat i VS for web(tam bys měl být doslova "jako doma").
jen abyste měl v nejlepším případě "jen" řádově pomalejší výsledný kód. No to je fakt výhra :)
On hlavně ten kód poběží vpodstatě kdekoliv, což myslím výhra je ;-) Přestaň pořád zveličovat, už se v tom trochu topíš.
K obtížnému vývoji a pomalému výsledku bych přidal ještě bezpečnostní problémy. Jádra prohlížečů umí parsovat pár set tagů, jsou u toho prakticky non-stop děravá, a zvlášť Firefox navíc trpí na resource leaks.
Fakt nevidím jedinou výhodu. "V podstatě kdekoliv" to navíc poběží jen pokud budete mít WebAPI, a to máte konkrétně... na Firefox OS, a nikde jinde. Koukněte se v linku, která API jsou kde dostupná. Na desktopu fakt nemáte v browseru API pro management SMS zpráv, vibrace zařízení, nastavení alarmu atd.
https://wiki.mozilla.org/WebAPI#Planned_for_initial_release_of_B2G_.28aka_Basecamp.29
Vyvoj malych aplikaci je extremne rychly a pohodlny, u vetsich je to slozitejsi, zde souhlasim. Ze tam jsou diry a bezpecnostni problemy, to rozhodne jsou, jednak ve vykuchanem mikrojadre Androidu, na kterem bezi, a jednak v prohlizeci samotnem. Ale neni to IMHO vyrazne horsi nez jine platformy (Javu a .NET nevyjimaje) a resource leaking je neco, nac se Mozilla uz dlouho soustredi a je vyrazne lepsi nez drive. Problem ale samozrejme nastava, kdyz si to dodavatel customizuje a na updaty pak kasle, viz Android verze.
To, ze ne vzdy kazdy HW podporuje vsechna API je snad normalni, nebo nac byste potreboval aby vam vibroval notebook ci vytacel telefonni cisla? Support kazdeho jednoho API se da samozrejme vzdy za runtime overovat a pokud postavite aplikaci nad kritickou existenci jednoho specializovaneho z nich, pak to samozrejme prenosne byt nemuze (uz jen kvuli HW, nikoliv SW omezenim), ale statisticky pro mnoho aplikaci bude 90% pouzivanych API fungovat vsude a zbytek by mel byt gracefully degraded s tim, ze dana platforma danou operaci (napr. sycnhronizaci s kalendarem, napr.) bohuzel nepodporuje.
Bohužel bezpečnostní problémy na úrovni OS (BTW Android nemá mikrokernel) jsou realita, s tím asi nic neuděláme. Nicméně "kvalita" Firefoxu ohledně bezpečnosti a resource leaks mi pro vývoj aplikací připadá spíše odstrašující. S Androidem ani Windows Phone bych to fakt nesrovnával.
Dostupnost API zjevně zdaleka není daná jen hardwarem. TCP Socket API, Contacts API, Push Notifications API, WebBluetooth a řada dalších je k dispozici jen pro Firefox OS. Nejsou ani pro Android, ani pro desktopové platformy.
Takže místo "poběží všude" budete mít na každé platformě k dispozici výrazně odlišnou sadu API, mimo Firefox OS silně ořezanou. Ale jsou i tu výhody: bude to psané v JavaScriptu, pomalé, nebezpečné a s hromadou resource leaks :D
Nema to cenu, i ja tuhle debatu koncim. Ale relativne v dobrem, doufam, uz si nemyslim, ze se prestanou srovnavat jablka s hruskama, cili pak maji pravdu obe strany a tezko se dohodnou.
Sockets/Bluetooth/Desktop notifications apod. jsou API operacniho systemu, nikoliv na nem bezicich aplikaci.
Tam kde pod sebou FFX zadny OS nema je samozrejme poskytovat musi a taky to dela, tam kde bezi hostovany na jinem OS je to nicetohave, ktere verim drive nebo pozdeji dost mozna budou rovnez, ale jaky je prinos v ovladani radia/wifi/bluetooth z prohlizece? Maly, rekl bych.
Ale spousta dalsich API k vyrobe dobrych aplikaci k dispozici je a je tak lepsi hledat ne co chybi, ale co je vse k dispozici...
Není problém, každá diskuse má konec :)
Pokud chcete psát mobilní aplikace, API pro sockety, kontakty, kalendář, Push Notifications, BT, WiFi apod. jsou důležitá, a rozhodně to není kategorie "nice to have". Samozřejmě mimo Firefox OS ta API najdete někde v API hostitelského OS, ale z webové aplikace je nemáte dostupné.
"a je tak lepsi hledat ne co chybi, ale co je vse k dispozici" - pokud někdo říká "tady máme sud vína", tak nevidím důvod neříci že se ve skutečnosti nejedná o víno ale vodu, ne o sud ale o sklenici, a že je navíc half empty.
To je marný. Nejdřív jsi tvrdil, že v JS půjde napsat maximálně pexeso, jinak by si měl vývojář připravit kyanidovou tabletu - to ti bylo vyvráceno. Pak jsi začal mlet, že JS kódy se píšou v notepadu, to asi mělo naznačovat nedostatek vývojových nástrojů, což ti taky bylo vyvráceno. Teď ti vadí, že na desktopu nebudou mobilní API - na to se dá říct snad jenom "no a co?" - na desktopu prostě alarm nastavovat nebudeš, k čemu by ti tam taky byl. Sorry, za sebe tuhle debatu končím, mám lepší věci na práci.
v JS půjde napsat maximálně pexeso, jinak by si měl vývojář připravit kyanidovou tabletu - to mi zatím nikdo nevyvrátil. JS je skriptovací jazyk ideální k uvěření hodnoty textboxu na formu. Absence type safety, tříd, namespaces, obecná pomalost a neohrabanost v takovém nasazení fakt nevadí. Ale proč by kdokoliv kdo není masochista měl v takovém jazyce psát aplikaci, to mi fakt uniká.
Jako výhodu jste uváděl, že aplikace bude běžet všude. Jenže nebude, protože je závislá na Firefoxu, a značná část API konkrétně na Firefox OS. To je snad ještě horší než Java.
Jmenné prostory a třídy v JS samozřejmě jsou - možná bys neměl komentovat věci, do kterých nevidíš, komentuj radši zase linux, o tom víš aspoň něco. Jestli je slabé typování výhoda nebo nevýhoda, o tom by se dalo dlouze diskutovat a pro konverze mezi typy si stačí zapamatovat pár základních pravidel. Vygoogloval bych za tebe ty hromady komplexních programů napsaných v JS(autoři většinou sebevraždu nespáchali), ale nestojí mi to za tu ztrátu času. Jak je to s přenositelností už ti vysvětlil revelion, přečti si to ještě jednou. Tohle je fakt poslední příspěvek, jdu si radši zkusit napsat něco pro FFOS - když něco opravdu hodně sere Laela Ophira, tak to bude zajímavá technologie, které se vyplatí věnovat.