Tematem debaty, który odrodził się od czasu zaprezentowania iPada, jest kwestia Flasha i HTML5. Są tacy, którzy sugerują, że HTML5 pewnego dnia zastąpi / zastąpi Adobe Flash.
Nie tworzę oprogramowania działającego w przeglądarce, więc moja (ograniczona) wiedza to:
- HTML to czysty tekstowy język znaczników, który jest dostarczany przez HTTP do przeglądarki klienta. Przeglądarka klienta interpretuje znaczniki i renderuje (z różnym powodzeniem) stronę zgodnie ze standardową specyfikacją.
- Adobe Flash to właściwa platforma do pracy z dźwiękiem, wideo, dźwiękiem i grafiką rastrową / wektorową. Wymaga specjalnych narzędzi do tworzenia (być może kompilatora?) I niestandardowego odtwarzacza, który jest dostępny jako wtyczka do większości popularnych przeglądarek.
Czy ktoś mógłby wyjaśnić (temu programiście C / C ++), w jaki sposób z technicznego / kodowego punktu widzenia można uznać język znaczników oparty na tekście (HTML5) za zamiennik frameworka multimedialnego (Flash)?
Proszę o żadnych upartych argumentów - tylko fakty techniczne.
flash
html
markup
web-standards
Mike Willekes
źródło
źródło
Odpowiedzi:
To, co ludzie luźno odnoszą się do HTML5 w kontekście tej dyskusji, to połączenie HTML jako języka znaczników, CSS, który określa sposób renderowania, oraz kodu javascript, który dynamicznie manipuluje HTML i CSS.
Co więcej, HTML5 ma nie tylko standardowe elementy tekstowe, ale także elementy,
<canvas>
na których można narysować grafikę 2d oraz<video>
elementy osadzające wideo (jak sugeruje nazwa).Tak więc w pełnoprawnej implementacji HTML5 możesz zaimplementować dynamiczne witryny internetowe bez użycia Flasha. Przykładem jest YouTube w wersji HTML5, niedawno wprowadzony jako beta dla użytkowników Safari / Chrome, patrz tutaj . Kolejnym jest emulator NES w javascript + HTML. (Cóż, to drugie tak naprawdę nie dotyczy HTML5 ... używa
<canvas>
.)źródło
Kiedy Steve J. skomentował, że HTML5 będzie przyszłością, nie zadał sobie trudu, aby wyjaśnić, że to stwierdzenie naprawdę odnosi się do najbardziej rozpowszechnionego obecnie użycia Flasha, jakim jest Video. Być może nie wyjaśnił tego celowo, więc wielu źle poinformowanych użytkowników końcowych, którzy chcą oglądać Hulu na swoich iPhone'ach, wyzwoliło wściekłość na Flasha. I właśnie to się dzieje… To irytujące i straciłem szacunek dla Steve'a.
Stos HTML5 (html, css i JS) NIE będzie bezpośrednim zamiennikiem Flasha. Od ponad 10 lat zajmuję się tworzeniem treści Flash, mam też duże kompetencje w JS. Wzdrygam się myśląc o używaniu JS do zadań, w których ActionScript może wykonać to samo przy 50% mniej kodu. Są zadania, które będą bardzo trudne, jeśli nie niemożliwe do osiągnięcia za pomocą JS i CSS. W przypadku podstawowych animacji i funkcjonalności podobnej do JQuery, z pewnością HTML5 może być realną opcją zamiast Flasha. Ale w przypadku złożonych gier i RIA po prostu tego nie widzę. Actionscript ewoluował w solidny, w pełni funkcjonalny język.
Inną ważną rzeczą jest to, że odtwarzacz Flash jest okresowo aktualizowany przez firmę Adobe, aby rozwiązać wszelkie problemy, które mogą się pojawić. Jak zaktualizują / poprawią specyfikację HTML5, jeśli stanie się to normą, a Flash pożegna się? Nie zrobią tego. Musisz poczekać, aż HTML6 i wszystkie przeglądarki go obsługują. Co oznacza, że czekasz 5-10 lat. Świetny sposób, aby przenieść nas z powrotem do 1998 roku. Nie, dzięki, na razie zostanę przy Flashu.
O ile otwarte standardy są godnym celem, nie widzę, aby to się układało w sposób, w jaki mówią ...
Moje dwa centy.
źródło
<audio>
dogonię<canvas>
.Myślę, że niektórzy tutaj programują snobów i nie słuchają. Ja też jestem początkującym programistą Flash i nie chcę, aby odeszło. Wiesz dlaczego? Ponieważ KREATYWNI ludzie mogą używać Flasha do bardzo łatwego rozwijania tego, co jest w naszych mózgach. Osoba, która lubi rysować i tworzyć sceny, niekoniecznie lubi kodować. Wpisywanie kilku zdań NIE jest rysowaniem ani animacją! To, co mówisz o HTML5, jest jak mówienie, że Picasso i Dali powinni byli nauczyć się języka programowania, aby malować. Śmieszne, prawda?
Dlatego ludzie wolą Flasha od HTML5. To nie jest samoobsługa, to po prostu przyznanie, że ludzie zdolni do tworzenia fajnych animowanych treści internetowych woleliby raczej tworzyć własne wizje niż uczyć się niezwiązanych z nimi umiejętności lub polegać na kimś innym, kto za nas interpretuje.
Zamiast ośmieszać, możesz wymyślić środowisko graficzne HTML5, które rywalizuje z Flash.
źródło
HTML5 to nowa popularna nazwa „stosu technologii internetowych”, a nie tylko „języka znaczników”.
Ma język programowania (JavaScript), podobnie jak Flash; zestaw interfejsów API, znacznie rozszerzany w ramach działań powszechnie określanych jako „HTML5”, sposoby rysowania grafiki (SVG, <canvas>), odtwarzania audio i wideo (<audio>, <video>).
W przeciwieństwie do Flasha, „aplikacje HTML5” są przetwarzane przez przeglądarkę, a nie przez zastrzeżoną wtyczkę do przeglądarki, co jest dobre - przynajmniej dla producentów przeglądarek (zobacz odpowiedni fragment tego wpisu na blogu - dzięki Jotham). Na przykład umożliwia producentowi przeglądarki naprawianie problemów (i nie czekanie na Adobe) - IIRC Apple podał Flash jako główny powód awarii wśród wszystkich awarii na Macu.
[zmieniono w celu usunięcia twierdzeń „otwarte standardy są lepsze”, których jestem zbyt leniwy, by je tworzyć]
źródło
To nie jest po prostu HTML5, ale kiedy adaptacja przeglądarki jest zakończona. Na przykład obecność
<video>
tagu HTML5 nic nie znaczy bez odtwarzacza wideo dostarczonego przez przeglądarkę do faktycznego prezentowania wideo (w tym momencie mamy nadzieję, że Flash Video nie będzie już potrzebne). To samo dotyczy<audio>
tagu.Dodatkowo element canvas HTML5 (w połączeniu z JS) pozwala na znacznie bardziej zaawansowaną grafikę wewnątrz przeglądarki, niż można by było osiągnąć wcześniej.
źródło
Cóż, aby zobaczyć możliwości HTML5 / canvas + JavaScript, możesz rzucić okiem na to, co jest implementacją Wolfenstein 3D wykonaną wyłącznie w HTML5, bez użycia Flasha (pamiętaj, że potrzebujesz przeglądarkę, taką jak Firefox, aby zobaczyć, jak działa).
źródło
Nie jest tak bardzo, że HTML5 może zastąpić Flash, dopasowując go funkcja po funkcji. Co więcej, stos HTML5 (w tym JavaScript i CSS) można wykorzystać do tworzenia tego samego rodzaju bogatych aplikacji internetowych, dla których wcześniej jedyną realną opcją był Flash. Ponieważ HTML obiecuje również rozwiązać niektóre niedociągnięcia platformy Flash, istnieje możliwość, że w przyszłości może on zastąpić Flash w tej przestrzeni.
Ta dyskusja jest bardzo skoncentrowana na technologii używanej do renderowania aplikacji na końcu użytkownika. Nie dotyczy to łatwości, z jaką autorzy są faktycznie w stanie tworzyć treści, które będą dostarczane ich użytkownikom. Wspomniałeś już, że Flash jest powiązany z zestawem komercyjnych narzędzi, które są specjalnie tworzone i sprzedawane przez Adobe w celu zaspokojenia potrzeb autorów bogatych w treści. Takie rozwiązania dla HTML5 nie są jeszcze tak często stosowane. Dla programistów, którzy postrzegają tworzenie głównie jako kodowanie, nie jest to dużym problemem i nie będą mieli problemu z uzyskaniem przyczepności do HTML5 (a wielu już to robi). Dla autorów, którzy nie mają doświadczenia w programowaniu / kodowaniu, może to być inna historia, a dla nich żywotność HTML5 będzie w dużym stopniu zależeć od dostępności zintegrowanych narzędzi do tworzenia treści.
źródło
Ci głupi nie-kreatywni ludzie nie zdali sobie sprawy, że HTML5 / Javascript / CSS jest na początku bardzo nadęty. Cały ten zasób jest nadal całkowicie plikiem tekstowym RAW. bez kompresji bez optymalizacji kodu bajtowego i zawsze tak będzie. Tak więc dla twórców gier nie jest to opcja, w której całe źródło jest łatwo dostępne dla kradzieży. Flash umożliwia skompilowanie kodu źródłowego w bardziej kompaktowy sposób, a jednocześnie umożliwia tworzenie zawartości dynamicznej w zwartej grafice wektorowej. Ten flash obsługuje już shadery, akcelerację sprzętową, filtry pikseli (Pixel bender) i efekty warstw. Do dziś nie można sprawić, by elementy html rzucały cień z łatwością i prostotą. HTML5 po prostu spróbuje zastąpić Flash jako odtwarzacz multimedialny, ale ponieważ popularność Flasha wynika z jego spójności, będzie to trudna sprzedaż. MOJEJ nienawiści do CSS i Javascript można przypuszczać na podstawie faktu, że 40% kodu javascript dotyczy zgodności z przeglądarkami, a implementacja CSS NIGDY nie jest spójna w przypadku różnych dostawców przeglądarek. Dopóki was nerdy nie obejdą tego problemu, Flash nigdy nie zostanie zastąpiony. Faktem jest, że wszystko, co możesz zrobić w HTML5, możemy zrobić we flashu szybciej i lepiej.
Widziałem już Wolfenstein 3D na płótnie. Jest gorszy . i malutki. Możemy stworzyć lepszy silnik 3D z większym oknem. Pobij to?
źródło
Flash to znacznie więcej niż audio / wideo. Ostatnio Flex stał się bardzo popularny ze względu na bogaty model programowania i możliwość tworzenia wysokowydajnych interfejsów użytkownika.
jeśli HTML 5 lub cokolwiek ma stać się popularne, przede wszystkim wbudowany silnik JavaScript musi być bardziej wydajny. Flex / Flash są obecnie popularne ze względu na solidny silnik ActionScript.
źródło
Mam nadzieję, że rozmawiamy o tym, jak HTML5 może zastąpić pliki swf i flv. Nie całkowicie Flash. Jestem programistą Flash (amature). Dla mnie, kogoś, kto jest bardziej artystyczny niż programista, Flash jest dość łatwy w użyciu (przez większość czasu). Jak sprawić, by postać z kreskówki chodziła po ekranie w HTML5? A może coś prostego, jak przekształcenie (animacja) koła w kwadrat? Na pewno nie napisałem tego jako kodu. Po prostu nie jestem tak sprytny w programowaniu, aby to osiągnąć. Flash jest stosunkowo prosty. Narysuj wszystkie swoje grafiki w dowolnej aplikacji, w której czujesz się komfortowo (dla mnie ilustratorem), a następnie połącz je ze scenariuszem akcji. Kocham was zarówno Apple, jak i Adobe. Proszę, znajdź jakiś kompromis.
źródło
Wiele osób twierdzi, że HTML5 zabije wtyczki takie jak Flash i Silverlight, ale tak nie jest.
Weźmy na przykład ten scenariusz.
Załaduj plik binarny przez adres URL. Na potrzeby demonstracji użyjemy formatu shapefile (.shp), który zawiera regiony geograficzne w układzie współrzędnych.
Analizuj zawartość bajtów po stronie klienta.
Narysuj zawartość w efektywny sposób.
Demo: http://www.libertyvanguard.com/liberty-gis
To tylko jeden przykład, w którym technologia wtyczek nie zostanie zastąpiona przez HTML5.
źródło
Wątpię, czy ma zastąpić wszystko, co Flash jest w stanie objąć. Jeśli jednak rozejrzysz się teraz po Internecie, zobaczysz, że Flash jest szeroko stosowany do dostarczania treści wideo lub audio w przeglądarce. Coś, co jest zawarte w HTML 5, choć teraz okaleczone, ponieważ nie mogli uzgodnić żadnych standardowych kodeków.
Z pewnością wszystkie te fajne gry i reklamy Flash nie znikną tylko dlatego, że HTML 5 i HTML 5 nie będą w stanie ich zastąpić. Ma jednak na celu umożliwienie zastąpienia zastosowań, które faktycznie mogą dostarczać treści. W przypadku grafiki wektorowej istnieje również SVG, który może zostać potraktowany w specjalny sposób.
Nie wiadomo, czy będzie to naprawdę śmierć Flasha dla wideo. Problemy z kodekiem wideo HTML 5 mogą zostać rozwiązane wcześniej czy później. Jednak Flash najprawdopodobniej pozostanie preferowanym medium, w którym dostawcy treści będą chcieli mieć większą kontrolę nad tym, co zostanie dostarczone, DRM i podobne techniki itd.
źródło
Wraz ze skryptami JavaScript do śledzenia zdarzeń graficznego interfejsu użytkownika i skryptami nowych elementów HTML 5 otrzymujesz wiele tego, co oferuje Flash.
HTML 5 ma wiele nowych elementów. Jeden z nich nazywa się Canvas. Dzięki niemu możesz narysować na ekranie wszystko, co chcesz, w jego granicach. Używasz javascript do rysowania na nim i możesz złapać wszelkie kliknięcia myszą i tym podobne za pomocą javascript. Jeśli jesteś przyzwyczajony do zestawów narzędzi GUI na pulpicie, takich jak Tk, GTK, możesz porównać te nowe elementy do niektórych widżetów tych zestawów narzędzi GUI.
Przyjrzyj się thejit, aby zobaczyć przykładowe wykresy w HTML 5
źródło
Nowoczesna przeglądarka obsługująca standard HTML5 ma możliwość odtwarzania obsługiwanych plików multimedialnych w przeglądarce, bez konieczności używania wtyczek innych firm.
Możesz spróbować samemu. Najnowsza wersja Safary i Google Chrome (także Firefox 3.6) może bezpośrednio odtwarzać
<video>
tag na stronie HTML5. YouTube obsługuje teraz HTML5 .Dlatego iPad będzie mógł odtwarzać wideo, jeśli witryna wideo używa HTML5, bez wtyczek Adobe Flash, używając przeglądarki Safari, która w pełni odpowiada standardowi HTML5.
źródło
Flash działa z osią czasu, sceną i scenami oraz umożliwia ładowanie filmów jeden na drugim. Zawiera również łuski cebuli, animacje pośrednie i inne narzędzia do grafiki wektorowej, które ułatwiają tworzenie animacji animowanych klatka po klatce. Robisz to wszystko, a następnie kontrolujesz to za pomocą bardzo małej ilości łatwego kodu / skryptu akcji. HTML JAVA CSS nie jest tak blisko artystycznego doświadczenia dla autora i wymaga znacznie więcej kodowania, aby osiągnąć podobne rezultaty - flash jest znacznie szybszy, łatwiejszy i przyjazny dla użytkownika. Wątpię, żeby Flash gdziekolwiek się spieszył.
źródło
<canvas>
i<video>
możesz robić różne rzeczy również w HTML5 / JS. Czy mógłbyś to zrobić błyskawicznie? craftymind.com/factory/html5video/CanvasVideo.htmlHTML5 jest rzeczywiście daleki od zastąpienia technologii Flash czy Silverlight UI. Problem polega nie tylko na tym, że HTML5 jest ograniczony pod względem ilości wymaganych komponentów interfejsu użytkownika aplikacji, ale także na tym, że nie pozwala na tworzenie niestandardowych elementów w taki sposób, aby bezproblemowo integrowały się ze środowiskiem wykonawczym.
Przyjrzyj się Ample SDK - JavaScript UI Framework , jego architektura w dużej mierze dziedziczy po tym, co znajdziesz w Flex, Silverlight lub Gecko. Jedną z technologii UI, które umożliwia między przeglądarkami, jest XUL, stylizowany w CSS i programowalny w JavaScript za pomocą interfejsów API XUL DOM lub jQuery. Możesz także stworzyć własną technologię UI na szczycie frameworka.
źródło
Mam nadzieję, że HTML5 dostarczy towary i może nie zastąpi całkowicie Flasha, ale przynajmniej jeśli chodzi o wideo. Chociaż wideo flash jest małe, wymaga zbyt dużego przetwarzania. Przejdź do youtube bez włączonej funkcji Flashblock, a następnie otwórz menedżera zadań. Teraz możesz zobaczyć, jak procesy Firefoksa nagle wyskakują ze strony za każdym razem, gdy odwiedzasz witrynę opartą na Flashu, taką jak YouTube. Moja rada dotyczy Flashblocka.
źródło
Myślę, że HTML5 zastąpi większość flash / fleksa, który prawdopodobnie będzie kontynuowany jako kolejna gałąź, ponieważ płótno jest fajne. Przybędą nowe biblioteki. Ale dopóki JS jest w rzeczywistości singlethreaded , nie będzie tak szybki, zwłaszcza w przypadku gier, zakładając, że Adobe się nie poddaje.
źródło
Po raz pierwszy usłyszałem komentarz Steve'a Jobsa, że „HTML zastępuje Flash”. (Może nienawidzi Flasha, być może dlatego, że ulega awarii na jego komputerach Mac, nie jestem pewien. Myślę, że nie ma kontaktu. Dowodem na to jest jego śmieszny produkt, „iPad”.)
Chodzi o to, JAK DOBRE JEST DLA DEWELOPERÓW? Odpowiedź: nie tak dobry jak Flash. Jeszcze. Dlaczego mówię to z moim ograniczonym doświadczeniem? To wszystko to, że kod zgodności „spróbuj ... złapać”, którego potrzebujesz w Javascript, aby działał we wszystkich przeglądarkach. CO ZA STEK BZDUR. ActionScript / Flash to JEDEN fragment kodu / aplikacja dla WSZYSTKICH przeglądarek.
Inną rzeczą, jaką ma Flash, są graficzne (i nie graficzne) narzędzia programistyczne do usprawnienia procesu.
Więc KRÓTKA ODPOWIEDŹ JEST TO, ŻE ADOBE NIE POZWOLI „zastąpić” flashowania HTML5, przynajmniej na krótką metę. Ale może konkurować z Flash, jeśli ludzie stworzą dla niego wystarczającą ilość narzędzi programistycznych, zwłaszcza narzędzi graficznych WYSIWYG, na przykład jeśli Google opracuje łatwy w użyciu edytor WYSIWYG do tworzenia aplikacji GWT. I to jest duży IF.
źródło
Jest możliwe, że język znaczników oparty na tekście (HTML5) mógłby zastąpić strukturę multimedialną (Flash).
Rozwiązanie jest proste, wystarczy przenieść framework do przeglądarki i stać się otwartym standardem. Nie tylko ramy multimedialne, przeglądarka może zawierać wiele innych elementów, które obecnie należą do systemu operacyjnego.
Możliwe, że ostatecznie przeglądarką będzie system operacyjny (tryb użytkownika). Obecny system operacyjny będzie ograniczony do trybu jądra, głównie do obsługi sprzętu.
źródło
Rzadko występującym zjadliwie oczywistym i szerszym punktem widzenia jest to, że niejasno przywoływany termin „flash” w rzeczywistości obejmuje całą platformę Flash, w tym również Flash IDE.
Animatorzy i inne typy artystyczne, które używają tej technologii do tworzenia skomplikowanych kreskówek i animacji, polegają prawie całkowicie na środowisku IDE. Bez niego jest to po prostu niemożliwe. Koniec opowieści. Liczy się nie tylko technologia na poziomie specyfikacji języka! Chodzi także o „technologie wspomagające” w tym przypadku IDE (mówię „wspierające”, ale Flash IDE jest w dużej mierze technologią zintegrowaną z resztą platformy Flash).
Jeśli ktoś zbuduje IDE HTML5, które ma funkcje rywalizujące z Flash IDE, to świetnie, ale jestem zaskoczony, że tak rzadko się to mówi. Artyści są tak samo zaangażowani w debatę, jak programiści i nierozsądne jest twierdzenie, że to nie ich sprawa.
A więc, odpowiadając bezpośrednio na twoje pytanie: HTML5 byłby uważany za całkowicie rozsądną alternatywę - lub nawet zamiennik - dla frameworka multimedialnego, takiego jak Flash, wtedy i tylko wtedy, gdy zostanie dla niego zbudowane odpowiednie IDE, tym samym podnosząc go również do frameworka multimedialnego.
Argumentowanie bez uwzględnienia IDE jest po prostu nierealne. Jeśli pytanie brzmi konkretnie: „Czy HTML5 w stanie ukończonym, bez IDE, może być alternatywą dla Flasha dla aplikacji oprócz ręcznie animowanych złożonych animacji?” wtedy najprawdopodobniej odpowiedź brzmiałaby tak i wszyscy wrócilibyśmy do domu.
źródło
Interesujący temat. Powtarzam opinię większości plakatów, że chociaż HTML 5 robi wielkie postępy w podstawowej prezentacji multimedialnej, nie będzie w stanie zastąpić Flasha. Wszystkie witryny z grami online są dobrym przykładem. Flash może działać w większości przeglądarek z wyjątkiem niektórych urządzeń mobilnych.
W związku z tym uważam, że rozładowanie baterii było pierwotnym powodem, dla którego Steve Jobs nie chciał obsługiwać Flasha na iPhonie i iPadzie. To może ugryźć Apple (bez kalambury) w dół drogi. Android 2.2 będzie miał obsługę flasha (ale nie jest jasne, czy wszyscy producenci sprzętu będą go wspierać - będą mieli pewność co do baterii).
Wygląda również na to, że Flash 10+ będzie pewny na urządzeniach Blackberry w przyszłości, w tym na telefonach BB, nadchodzącym tablecie BB Playbook (przy okazji, ta zabawka ma pewne zabójcze specyfikacje - nie mogę się doczekać, kiedy ją dostanę, gdy się pojawi Następny rok).
Jestem gotów się założyć, że Flash będzie nadal popularny w Web Dev, nawet po tym, jak obsługa HTML 5 stanie się powszechna.
źródło
Obecnie opracowujemy LCMS, jeden z obszarów jest w pełni WYSIWYG narzędziem autorskim do opracowywania materiałów szkoleniowych zgodnych ze standardami SCORM i AICC, które zawierają animację, wideo, dźwięk, wiele rodzajów ocen z interakcją. Narzędzie przypomina wygląd power pointa, umożliwiając użytkownikowi łatwe przeciąganie i upuszczanie obiektów edukacyjnych na slajd ze zdjęciami, zmianę rozmiaru obrazów, przenoszenie ich, nakładanie tekstu, dodawanie testów itp.
Ten obszar roboczy jest obecnie wykonywany w technologii Flex i ma doskonałą wydajność, nawet Dokumenty / Prezentacje Google nie są bliskie elastyczności i wydajności tej aplikacji.
Zastanawiam się, czy aplikację o takiej skali można stworzyć w HTML5 bez ogromnych zasobów. Jesteśmy małą firmą z małą grupą programistów.
źródło
Mówiąc najprościej, wielu ma nadzieję, że funkcje HTML5 w połączeniu z javascript mogą zapewnić lepszą, tańszą i wydajniejszą graficzną przeglądarkę internetową niż flash. Weź pod uwagę, że wiele wyrafinowanych witryn, takich jak Gmail, Mapy Google i YouTube, może działać bez Flasha przy użyciu HTML i JavaScript. Ulepszenia wprowadzone w javascript i HTML pozwalają stronom internetowym na rozwijanie jeszcze bogatszych funkcji graficznych i animacyjnych bez konieczności płacenia Adobe.
źródło
Twórcy stron internetowych nadal dbają o przeglądarkę taką jak IE6, która jest naprawdę stara, więc możesz być pewien, że Flash i podobne technologie będą dostępne przez długi czas ...
źródło