Penguin.SWF: "Mac API dzsungel"

Mike Melanson Adobe fejlesztő nemrég bozóthoz hasonlította a linuxos videógyorsításért felelős API-k jelenlegi helyzetét. A cikk nyomán többen felkérték, hogy írjon véleményt más platformok alatt tapasztalható állapotokról is. Ő ugyan nem, de munkatársa, Tinic Uro egy blogbejegyzést publikált arról, hogy OS X alatt milyen lehetséges grafikus kimenetek vannak függően az operációs rendszer verziójától és a rendelkezésre álló böngésző típusától. Melanson annyit írt összegzésként, hogy most, hogy megtudta, hogy kollégáinak mikkel kell foglalkozniuk Mac OS X-es Flash Player plugin fejlesztésekor, az majdnem elég is ahhoz, hogy befejezze a reklamálást a linuxos API dzsungellel kapcsolatban... majdnem.

Hozzászólások

Van egy apro kulonbseg akozott, h egy API rendszer milyen evolucion megy at es akozott, h egyszerre tobben tobb felet fejlesztenek, netan ganyolnak ossze, valamint akozott, h az adott desktopon most melyik van jelen vagy sem.

Valoban tobb grafikara alkalmas API van osx-en, es az is igaz, h ezek jelenlete fugg az os verziotol, csak nem afelekeppen ahogy a cikkbol lejon. Ugyanis egyreszt ezek jo resze csak kompatibilitasi okokbol van jelen (feligazsag, mert pl. Carbonbol is van 64 bites verzio, pedig mar 10.3 ota deprecated), masreszt minden API valtozaton latszik, h miert keszult uj (lasd AGL -> CGL valtas).

Ha valakinek van annyi esze, h fejlesztes elejen a kovetelmenyek koze felveszi a cucc 10.4-re keszuljon (ujabban mar el lehet kezdeni kacerkodni a 10.5-tel valo kompatibilitassal, de valojaban ez sem kotelezo) ppc-re, illetve i386-ra forditva (esetleg ppc64-re, x86_64-re) ugy, h Cocoa-t hasznal, akkor nem lo melle, mert ez akkor futni fog mindenhol ugy, h nem kell a tobbi csillio mar dobott apival foglalkozni. Plusz a ppc-re valo forditast leszamitva ez meg mindig igaz lesz 10.7-re is, de eleg valoszinu, h a 10.8-ra is. (Ez utobbi az eddigiek alapjan kb. 5 ev mire megjelenik). Erre epitve meg termek ciklust is lehet epiteni.

Mig a cikkben szereplo elso hivatkozasban arrol szolt a fama, h tobb lehetseges API-rol lehet szo ugy, h azok jelenletere semmi garancia nincs, addig pl. az AGL-re minden osx verzion szamithatok. Ezt en jelentos kulonbsegnek erzem. Olyan ez, mint anno (es most is) a hangrendszerek helyzete linuxon. Regebben ha azt akartam, h az adott intronk szoljon linuxon es nem akartam a holnaputant is tamogatni, akkor az OSS volt a jo valasztas, ugyanis ilyen emulacios reteg meg ALSA-ban is volt. Es ez meg ma is igaz a pulseaudio, jack meg a tobbi tragya idejeben is.

---
pontscho / fresh!mindworkz

Ez mind szep es jo, csak azert bizonyos ido utan vannak dolgok, amiket fajo szivvel, de ki kell dobni egy rendszerbol, mert bloated lesz tole. Arrol nem beszelve, hogy valoszinuleg nem mindegyik fog pont ugyanolyan teljesitmenyt generalni (gondolom, ezek nem csak wrapperek, nagyon melyre szoktak az ilyeneknek a gyokerei nyulni), ergo ha a teljesitmeny (akarmilyen teljesitmeny) fontos - marpedig a Flash pluginnel az -, akkor tobb API-t kell tamogatni. Es minel tobb API-t kell tamogatni, annal nehezebb a kulso fejleszto helyzete.
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

Ez mind szep es jo, csak azert bizonyos ido utan vannak dolgok, amiket fajo szivvel, de ki kell dobni egy rendszerbol, mert bloated lesz tole

Ezek atfutasi ideje osx-en cirka 5-10 ev a tapasztalataim szerint. Ha ez alatt nem tud valaki felkeszulni erre, akkor nyaljon sot es keressen mas szakmat.

Arrol nem beszelve, hogy valoszinuleg nem mindegyik fog pont ugyanolyan teljesitmenyt generalni (gondolom, ezek nem csak wrapperek, nagyon melyre szoktak az ilyeneknek a gyokerei nyulni), ergo ha a teljesitmeny (akarmilyen teljesitmeny) fontos - marpedig a Flash pluginnel az -, akkor tobb API-t kell tamogatni.

Van ami wrapper, van ami nem. Ezert kell megtanulni gondolkodni es utananezni a dolgoknak, igenyt felmerni, kovetelmeny specifikaciot irni, esatobbi. Mondjuk ez nem platform fuggo. :)

---
pontscho / fresh!mindworkz

Ebben speciel mellelottel. En tamogatom azt, hogy legyen jo a kompatibilitas, de van egy hatar, amin nem erdemes tullepni. Azok a programok, amik pl. 3-4 even tul nincsenek supportalva, nyugodtan dobhatok, mert aki hasznalja az
1) vagy meg mindig a regi rendszert telepiti/hasznalja,
2) vagy valtani fog valami masra.
Egy supportalt program pedig ugyis koveti az API valtozasokat, ha nem, akkor megint a fenti ket valasztas van ervenyben.
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

Csak ők ott azért sírnak, mert csak azt az API-t tudják használni, amit a böngésző. És ezt egyrészt böngészője válogatja, másrészt gyakran flash szempontjából szar.
Ebből a szempontból az, hogy az API-k hány évig támogatottak eléggé irreleváns...

"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee." -- Ted Ts'o

Ez az indok, hogy "mi csak azt tudjuk használni, amit a böngésző nyújt" elég gyenge lábakon áll.

Ha az Adobe (korábban Macromedia...etc.) fontos (talán mondhatjuk, hogy stratégiai) terméke más beszállítóktól függ, és valóban a PC-k 99.999999%-án megtalálható a Flash (vigyázz sarkítás!), akkor latba vethetné a piaci befolyását, hogy a böngészők olyan API-kat támogassanak, amiktől gyors lesz a Flash.

De várjunk csak: A 3 elterjedt böngészőmotorból 2 nyílt forrású...nem hinném, hogy a WebKit vagy akár a Mozilla fejlesztők nagyon tiltakoztak volna egy ilyen fejlesztés ellen.

Az MS-hez bármit bejuttatni persze drágább, de nem hinném, hogy lehetetlen. Ha jól emlékszem már az XP-hez csomagolták a Flash-nek egy akkori verzióját (későbbi verzióknál nem tudom, hogy mi a helyzet). Ez azt feltételezné, hogy elég szoros partneri viszony van (volt) közöttük ahhoz, hogy beszéljenek ilyen lehetőségekről. Nyilván amióta az MS a Silverlight-ot nyomja, az árak (gondolom) magasabbra kúsztak...

Persze nyilván olcsóbb minden elképzelhető fórumon arról beszélni, hogy mennyire nehéz a Flash Player fejlesztők élete.

Üdv,
Gergely

Láthatóan te sem olvastad a cikket...
Mert ha olvastad volna, akkor tudnád, hogy a Safari (Webkit) api váltása épp elkészült (köv verzió): "This was and is a joint effort between Apple and Adobe engineers."

Illetve az még firefoxnál sem úgy működik, hogy fogom magam és átírom az egészet egy másik api-ra mert volt egy szabad délutánom. Egyrészt mert elég nagy munka, másrészt mert ott is vannak előre meghatározott tervek, illetve emberek, akiket meg kell győzni a váltás szükségességéről.

És akkor még meg sem jegyeztem, hogy egy böngésző mostani API váltása csak a 3-4 év múlva esedékes flash fejlesztését könnyíti meg, mert addig támogatni kell a régit is...

"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee." -- Ted Ts'o

Képzeld olvastam a cikket. A teljes bekezdés ez:
The support for the Core Animation drawing model was originally driven by Apple and we have worked feverishly to finish the engineering work on both sides. Yes that's right: This was and is a joint effort between Apple and Adobe engineers.

Szerintem ez ezt jelenti: Az Apple kitalálta, hogy legyen ilyen, az Adobe-nál pedig örültek, és portolták a Flash playert. Nyilván ilyen volumenű fejlesztésnél együtt dolgozik a két csapat, hiszen a sikeres API fejlesztés egyik fontos eleme, hogy már a fejlesztés fázisában legyenek valódi kliensek, akik használni akarják az elkészülő API-t.

Ebben nem feltétlenül kell egyetértenünk. :)

De szó nincs a cikkben arról, amit én írtam, hogy az Adobe / Macromedia tehetett volna azért, hogy jobb API-kkal dolgozhassanak, nem kell megvárni, míg a böngészőgyártók csinálnak valamit.

Open-source projekteken való munkának mindig van egy jelentős "social engineering" része, de ezen nem hinném hogy bárki fennakadna, aki komolyan gondolja a munkát.

És igen, ennek jelentős költsége van, nem egy délutános munka. Egy API fejlesztés több éves befektetés. Nyilván az Adobe mérnököknek is volt ilyen tervük, de feltehetően kiszámolták, hogy ez nekik nem éri meg.

Erre írtam, hogy nyilván olcsóbb beszélni a problémákról, mint megoldani azokat.

Üdv,
Gergely

Tekintve, hogy egy teljes JS engine-t adtak a Firefoxnak (az más kérdés, hogy ebből csak a JIT részt használták fel végül), nem hiszem, hogy az Adobe-ról elmondható, hogy úgy általában derogál nekik a nyílt forrás...

De ok, ha mindenáron fikázni akarjátok az Adobe-ot, a továbbiakban engem ez nem zavar...

"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee." -- Ted Ts'o

Ezek mellett még sok egyebet is, pl. a Flex-et is nyílt forrásúvá tették.

Ez csak azt bizonyítja, hogy ha valóban üzletileg fontos lett volna nekik, hogy új API-k kerüljenek bele a böngészőkbe, akkor a tudásuk, lehetőségük megvolt rá.

Ha ez szerinted fikázás, akkor ebben sem értünk egyet.

Mellesleg a "másik oldalt" (az alkalmazásfejlesztőket) is ugyanilyen kevéssé tudom megérteni, amikor a kedves fejlesztő szidja az XYZ platformot, mondván, hogy a PQR platform / eszköz ... stb. mennyivel jobb. Ha valóban alkalmatlan az eszköz a feladatra, akkor ne használja. Ha mégis muszáj használnia, akkor pedig azért mérnök, hogy megoldja a problémákat.

Üdv,
Gergely

Ne rínyáljon az adobe, hanem csináljon rendes programot.

Nemcsak a Mac, de a Linux (böngésző) is legtöbbször a Flash miatt fagy le.

Az egész egy szar, nyilván csak azért használják az emberek, mert nincs más.

Úgy fog járni az adobe, mint az internet explorer, hogy amikor megjelennek az értékelhető konkurensek (pl. HTML5), akkor szépen lassan elkezd hanyatlani, mert amíg lett volna rá idejük, addig csak a seggüket meresztették. Aztán amikor észbe kapnak, addigra már késő.

Mért lol? Jogom van utálni a flasht! :)
Tényleg lefagy tőle néha a böngésző. És lassú, pazarló. Steve Jobs is megmondta, hogy attól fagynak le a Macek.

És még környezetszennyező is: volt vmi kutatás is, hogy mennyi többletfogyasztást okoz a flash, és ez mennyire szennyezi a környezetet.

Tényleg hülyeség, végülis csak olyan cégek állnak mögötte, mint a Google, Apple, Mozilla, Opera stb.

Egyébként már most kiváltja a flasht, hiszen a flasht szinte csak arra használja a user, hogy videót nézzen vele, azt pedig már tudja a HTML5. Csak hát nem támogatja elég weboldal.

A Google megvette 106 millió dollárért az ON2 videó kodekes céget, biztos nem a semmire fizették ki ezt az összeget. Már egy ideje van HTML5 változata a youtube-nak.

Van am egy apro, icikepicike hiba abban, amit mondasz. Valoban, hihetetlen, fantasztikus, sot, hovatovabb szenzacios az, hogy ilyen szep nagy megtermett balnak multik allnak a HTML5 mogott. Csakhogy, a vilag - barmennyire is ezt szeretnek - nem csak beloluk all. Tehat, az, hogy megjelennek a HTML5 kepes bongeszok, es ezek a cegek HTML5-re valtanak, az nem fogja indikalni azt, hogy a flash megszunjon, az Adobe csodbemenjen, etc. Ugyanugy lesznek flashes oldalak, flash alapu reklamok, es ugyanugy mindenki nyomni fogja, hogy legyen flash bongeszo minden OS ala. Erre ertettuk tobben azt, hogy felebredhetnel, mert a bilit a kezed ala toltak.
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

'A HTML5 kivaltja a flasht'
:DDDDD

Azert hulyeseg amirol beszelsz, mert ket kulonbozo technologiarol van szo.
Az, hogy a videolejatszasban a legelterjedtebb, nem azt jelenti, hogy a flash egy videolejatszo.

Paysiteokon eselytelen,de a free siteokon se valoszinu, hogy a kozeljovoben kivaltana a videolejatszasban a flasht. Utobbi (ezen a teren is) rugalmasabb, paysiteokon meg biztonsagosabb.

Udv a Fold nevu bolygorol.

A Flash egy videólejátszó annak, aki nem fejlesztő, és csak böngészik az interneten. Persze használják egyébre is a flasht, de azokat ki lehet váltani:

interaktív videók (bele lehet kattintani, űrlap van a videón belül stb.) - HTML5+javascript tudja ezt.

flash cookiek - HTML5 DOM storage, sima HTTP cookiek

flash multi uploader, progress bar - HTML5 Drag and Drop, Multiple File Upload

flash játékok - Java applet, HTML5 canvas+javascript.

Zenekaroknak gyakran van flash alapú honlapjuk - simán kiváltható CSS, HTML, javascript segítségével.

Flash bannerek - GIF, HTML5, CSS animációk

Flash grafikonok - bármilyen grafikonrajzoló kiváltja

Bármilyen egyéb flash alkalmazás - HTML5+javascript

Ezek a technológiák már mind működnek, csak még nincsenek elterjedve.

Őőő, és miért is lenne jó 1 db platform helyett rögtön 4-5 fajta technológiát használni? Persze, ha ez egy keresztes hadjárat a Flash ellen, akkor nem szóltam.

HTML5 + JavaScript amúgyis egy vicc fejlesztői szempontból, ismerve a böngészők szabványhoz való hozzáállását.

+1
Még annyit, hogy én sem csípem a flash, mert a macemen képes felzabálni akár mennyi memóriát, ha nyitva felejtek egy flasht tartalmazó safari ablakot, illetve meg tudja zabálni a procit is rendesen, de megakadt a szemem ezeken:

"flash játékok - Java applet, HTML5 canvas+javascript."
Miért lenne jó, ha a flash helyett java applettek zabálnák a gépet?

"Bármilyen egyéb flash alkalmazás - HTML5+javascript"
Ez így egy nagy lol, és hülyeség is.

Azt amit ez csinál CSS-el és JS-el is egyszerűen implementálni lehet (annyira egyszerűen, hogy még én is képes vagyok rá).

Ettől eltekintve (még) nem teljes értékű alternatívája a HTML5, JS és más technológiák kombinációja az Adobe Flash-nek.

Ahhoz még sok víznek le kell folynia a Dunán, hogy azok legyenek.

"Hasznos flash alkalmazással még soha nem találkoztam..."

Erre válaszoltam. Nem arra, hogy ez nem valósítható meg bármi másban is akár. Mondjuk az tény, hogy ezt egyszer kellett megírni és fut IE6-8, Firefox, Opera, Konqueror, Safari, kiskutyafüle böngészőn is.

Bár JS-sel, CSS-sel még nem volt ekkora munkám, de ha választani lehetne, hogy melyikkel szeretnék dolgozni, akkor inkább a Flasht favorizálnám, főleg, hogy ennél a szolgáltatásnál nincs sok jelentősége annak, hogy a keresők be tudják-e cachelni a tartalmat, vagy se.

Ahahahaha! Let's ready to rumble! (subscribe.)