Kategorie:
29

Skrypty w C w Adobe Flash Playerze

To nie żart, ale jak najbardziej poważny pomysł, bo stoją za nim takie „grube ryby” jak Adobe i Mozilla. Oba podmioty pracują nad projektem o nazwie Tamarin, nową maszyną wirtualną obsługującą czwartą edycję języka ECMAScript. Dzięki niej kod napisany w C lub Pythonie będzie mógł być z powodzeniem wykorzystywany na stronach internetowych.

Nowa maszyna wirtualna zostanie wykorzystana w produktach Mozilli, takich jak Firefox, oraz w następnych wersjach Adobe Flash Playera (nie liczcie na altruizm Adobe).

Oto jak Adobe Flash Player będzie obsługiwał skrypty w C:

  1. Kod zostanie przekompilowany do postaci niskopozimowych instrukcji maszyny wirtualnej.
  2. Tak przygotowane instrukcje zostają przetłumaczone na ActionScript.
  3. Resztą zajmuje się Tamarin, który wykonuje finalny kod w ActionScripcie.

Projekt zawiera implementację wywołań systemowych zgodnych z POSIX oraz bibliotek, pozwalających na dostęp do różnych funkcji Flasha z poziomu C. Najciekawszą cechą całego tego pomysłu jest jego wydajność. Jak zapewnia autor, Scott Petersen z Adobe, Flash będzie w stanie wykonywać kod C prawie tak szybko, jak ActionScript. Dowodem tego jest fakt, że Petersen uruchomił we Flashu Quakea oraz emulator Nintendo, na którym z kolei włączył grę Zelda. Obie gry działały płynnie.

Teraz dzieli nas tylko krok do wykorzystania Pythona, Ruby, czy innych języków w Flashu.

Więcej informacji: http://www.toolness.com/wp/?p=52

«
»

Znalazłeś literówkę? Zgłoś ją używając formularza!


Jeśli uważasz, że ten nius jest nieobiektywny, przedstawia nieprawdziwe wydarzenie, jest spamem lub nie spełnia standardów serwisu, napisz raport.

Niusy na podobny temat:

Komentarze (RSS)

Komentarze są prywatnymi opiniami dodających je osób. Prosimy o zachowanie kultury wypowiedzi. Komentarze obraźliwe oraz obniżające poziom serwisu będą usuwane. Więcej w regulaminie komentowania.

23 komentarzy

zwiń wątek rad  8 lipca 2008 o godz. 0:45 #
Gravatar

Python… mmm… co jak co, ale to + dla mało lubianego przeze mnie Flasha ;)

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
 
zwiń wątek vries  8 lipca 2008 o godz. 0:54 #
Gravatar

Mam wątpliwości, czy to będzie bezpieczne. Już w chwili obecnej Flash jest jedną ze słabszych stron wyszukiwarek.

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
zwiń wątek vries  8 lipca 2008 o godz. 0:55 #
Gravatar

bleh, miało być przeglądarek.

zwiń wątek Goofy  8 lipca 2008 o godz. 1:02 #
Gravatar

chyba wtyczek ;)

zwiń wątek vries  8 lipca 2008 o godz. 7:30 #
Gravatar

Można to tak zinterpretować. Ja patrzę sie an plugin jako coś, co dodaje dodatkowe funkcje przegladarce.

 
 
 
 
zwiń wątek soda2  8 lipca 2008 o godz. 1:48 #
Gravatar

zastanawiam się czy zamiast używać jakiś półśrodków które są pewnie półwydajne nie lepiej używać języków programowania stworzonych do działania "w internecie". Nie znam się na tym specjalnie, ale takie PHP, java, pyton (chyba też prawda?),rubi czy jakieś tam inny środowiska jak ajaksy etc…

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
zwiń wątek michuk  8 lipca 2008 o godz. 9:49 #
Gravatar

@soda2: tak, nie znasz się na tym.

 
zwiń wątek gotar  9 lipca 2008 o godz. 19:42 #
Gravatar

OMG… To już łatwiej byłoby chyba przerzucić renderowanie strony na serwer i do przeglądarki puszczać strumień audio/wideo…

 
 
zwiń wątek krzy  8 lipca 2008 o godz. 9:03 #
Gravatar

Niech mi ktoś wytłumaczy, dlaczego zamiast ścieżki:

C -> bytecode -> Action Script -> interpreter AS

nie można tłumaczyć zarówno C jak i AS do bytecode tej samej maszyny wirtualnej, bezpośrednio wykonującej program?

Nie znam się na tym, dlatego pytam :-)

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
zwiń wątek Thar  8 lipca 2008 o godz. 9:13 #
Gravatar

Bo Flash nie ma maszyny wirtualnej ;)

zwiń wątek bies  8 lipca 2008 o godz. 10:11 #
Gravatar

Akurat Flash ma (AVM2).

 
 
zwiń wątek bies  8 lipca 2008 o godz. 10:15 #
Gravatar

Można by. Ale to są 2 różne maszyny wirtualne (LLVM i AVM2/Tamarin) które nie mają wspólnej reprezentacji pośredniej (ew. bajtkodu). Tak jest prościej (unix way — rozwiązanie z istniejących, drobnych kawałków).

Aha, użycie LLVM pozwala w miejsce C wstawić dowolny język do którego istnieje frontend dla LLVM (C, C++, ObjC, Python, Java, tu wstaw swój ulubiony język do którego napiszesz frontend dla LLVM).

zwiń wątek jellonek  9 lipca 2008 o godz. 10:19 #
Gravatar

czyli obecnie praktycznie poza c/c++/objc – nic

poki co llvm ma niestety jeden pozadny frontend (oparty o gcc). to ze "mozna" napisac frontendy do innych jezykow, nie daje nam latwej mozliwosci skorzystania z tych jezykow.

 
 
 
zwiń wątek skiter  8 lipca 2008 o godz. 9:30 #
Gravatar

Dla mnie kolejne dziury, nie dosc ze Flash to juz jest druszlak, to jeszcze doloza do tego kolejne sito i bedzie strach 'przegladarke' wlaczac, chyba bedzie trzeba telnetem strony czytac by bylo bezpiecznie :)

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
zwiń wątek gryfff  8 lipca 2008 o godz. 19:06 #
Gravatar

kolejne to znaczy jakie? Flash charakteryzuje sie tym, ze wlasnie ma bardzo malo dziur – a dokladnie to chyba dopiero 1, ktora jest juz zalatana.

 
 
zwiń wątek Jarek  8 lipca 2008 o godz. 9:46 #
Gravatar

No właśnie, dużo się ostatnio pisze o flash. Niedawno czytaliśmy o "sukcesie" polegającym na indeksowaniu treści flash przez wyszukiwarki, teraz o możliwości kompilacji kodu w C przez Firefox i FlashPlayer. Z rozwoju każdej technologii (nawet mało popularnej) należy się cieszyć, gdyż wnosi nowe elementy wiedzy do informatyki i technologii komputerowych. Zdecydowanie wolałbym jednak aby podobny postęp w rozwoju dotyczył SVG – aplikacji XML zaprojektowanej dla www, osadzalnej w innych plikach XML (w tym XHTML) przez przestrzeń nazw, współpracującej z arkuszami stylów CSS, językami skryptowymi, obsługiwaną natywnie przez nowoczesne przeglądarki internetowe, lecz nie cieszącą się popularnością ze względu na brak wsparcia dla multimediów. Wersja SVG_1.2, która rozwiązuje ten problem od długiego czasu (IMHO zbyt długiego) pozostaje nadal w statusie "working draft" standardów W3C. :(

Pozostają jeszcze pytania: Jak się ma implementacja maszyny wirtualnej C w Firefoksie do standardów sieciowych? Czy nie stanowi ona kolejnego czynnika potencjalnie demoralizującego i tak już zdemoralizowanej (względem kultury technicznej) dużej części webmasterów?

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
zwiń wątek Vogel  8 lipca 2008 o godz. 14:06 #
Gravatar

Chciejstwo…

Jak chcesz zeby cos sie rozwijalo to rozwijaj to ;)

zwiń wątek Jarek  8 lipca 2008 o godz. 19:44 #
Gravatar

Zaiste, odkrywcza myśl! ;-) Niestety, zaangażowałem się już w rozwój innych rzeczy, więc pracę nad SVG bez wyrzutów sumienia pozostawiam ludziom będącym bardziej w temacie, ograniczając się w tej kwestii do chciejstwa.

Dziwi mnie tylko chęć implementowania w Mozilli maszyny wirtualnej przeznaczonej dla kontrowersyjnej technologii która, jak się wydaje, zawsze pozostanie tylko opcjonalnym dodatkiem. Zamiast angażowania się Mozilli w to przedsięwzięcie możnaby postawić wreszcie przysłowiową "kropkę nad i" w SVG1.2 i dopracować jej implementację w Firefoksie.

zwiń wątek bies  8 lipca 2008 o godz. 20:15 #
Gravatar

Nie rozumiem. Tamarin to VM dla JavaScriptu.

 
zwiń wątek Jarek  9 lipca 2008 o godz. 8:22 #
Gravatar

Ściślej – dla ECMAScriptu (ECMA1262, ISO16262). Jak wspomniałem, uważam że należy się cieszyć z chęci implementacji czwartej wersji tej specyfikacji. Nie podoba mi się tylko rozwój wypadków wynikający z faktu, że głównym motorem działań ma być współpraca z technologią flash (tym samym potraktowanie jej priorytetowo), zwiększająca jej rynkową przewagę nad SVG, która ze względu na swoje cechy i jako standard, wydaje mi się właściwszym rozwiązaniem funkcjonalności obsługi multimediów w serwisach www.

 
 
 
 
zwiń wątek pjf  8 lipca 2008 o godz. 10:13 #
Gravatar

"C prawie tak szybkie jak ActionScript". Świat się wali… ;-)

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
 
zwiń wątek Sławek  8 lipca 2008 o godz. 10:33 #
Gravatar

Przypomnę tylko, że Python może być wykonywany po stronie serwera ;-) . Co do pomysłu na maszynę wirtualną, to nie jest taki zły. Przez internet będzie przesyłanych przynajmniej mniej danych. Przypomnę tylko, że twórca www (obecnie prezes W3C) walczył z taką drogą rozwoju. To dzięki niemu, zamiast czegoś na styl bytecodu mam znaczniki html(obecnie xhtml).

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
 
zwiń wątek devu  15 sierpnia 2008 o godz. 3:49 #
Gravatar

czy ten posty pochodza z 2008 roku? Mam watpliwosci bo wiedza niektorych na temat tego ze wtyczka Flash z Macromedii ewoulowala do powaznego jezyka skryptowego pod skrzydlami Adobe co dzisiaj jest juz powszechnie zwane jako Flash Platform. Sam Action Script w wersji 3.0 (od 2 lat) pretenduje do najszybszego jezyka sieci. Obecnie nadchodzi juz 10 wersja flash z natywnym wsparciem 3D.

A wy tu takie banialuki co niekotzy za przeproszeniem wypisujecie. Sam ten artukyl jest juz mocno spozniony. Jak ktos jeszcze nie widzial Quake we flashu zaprszam na YouTube. Na zachodzie juz sie nikt nie pyta dlaczego to czy to jest we flash bo to jest dla wszystkich firm oczywiste ze Adobe to powazny gracz na rynku. Dlaczego SVG sie nie przyjal? Bo mial powazne ograniczenia techniczne i Adobe widzac ze i tak nie dogoni Flasha koncepcyjnie i brnie w slepa uliczke po prostu dogadala sie (ladnych pare lat temu) i Kupila Macromedie ( Obudzcie sie ludzie 98% penetracji sieci ma ta "wtyczka" :P

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
 

Uwaga! Niektóre komentarze, m.in. te dodane przez niezalogowanych i nowych użytkowników, są ręcznie moderowane. Jeśli Twój komentarz nie ukaże się od razu, nie dodawaj go ponownie, tylko cierpliwie poczekaj na akceptację.

W komentarzach możesz używać prostych znaczników HTML. Przykłady:
  • Link: <a href="http://osnews.pl">OSnews: niusy IT</a>,
  • Wytłuszczenie: <strong>tekst pogrubiony</strong>,
  • Kursywa: <em>tekst pochylony</em>,
  • Przekreślenie: <strike>tekst przekreślony</strike>,
  • Kod: <code>printf("blok kodu");</code>,
  • Cytat: <blockquote>cytat</blockquote>
Uwaga: jeśli dodasz nieznany znacznik, będzie on niewidoczny, gdyż system filtruje takie znaczniki.

Wszystkie autorskie niusy w serwisie publikowane są na licencji Creative Commons Uznanie autorstwa 2.5 Polska.

Twoja sugestia