Czy Flash jest naprawdę lepszy od apletów Java? [Zamknięte]

14

Nadal jestem studentem, bez dużego doświadczenia w programowaniu. Nigdy nie napisałem nic większego niż ~ 5k linii kodu. Napisałem kod zarówno we Flashu, jak i Javie, i po prostu nie rozumiem, dlaczego ludzie piszą aplikacje internetowe, takie jak odtwarzacze wideo (YouTube itp.) We Flashu, a nie jako aplety Java. Chcę więc prosić was, programiści z doświadczeniem, o mądre słowa na ten temat.

Nie widzę prawdziwej przewagi Flash nad apletami, podczas gdy z drugiej strony, przynajmniej dla mnie, wydaje się, że jest cholernie diabelski. Rozumiem, że szybsze jest tworzenie czegoś we Flashu i rozumiem, dlaczego byłoby to dobre do szybkiego prototypowania, ale ogólnie, czy warto? Za każdym razem, gdy YouTube oszaleje, przeklinam programistów za pisanie go we Flashu. A jeśli używasz Linuksa z Operą, dzieje się tak przez cały czas.

Zasadniczo dlaczego ludzie używają flasha, a nie apletów?

Davor Ždralo
źródło
4
Aplety Java, ugh ...
Anto

Odpowiedzi:

34

Flash zapewnia bardziej płynne działanie dla użytkownika. Aplety Java są dość powolne, ponieważ Java VM musi zostać uruchomiona przed uruchomieniem. Jako odwiedzający witrynę nienawidzę tego, gdy przez kilka chwil wszystko się zawiesza, gdy Java VM się zorientuje. Jeśli się nie mylę, to również nie rozładowuje się, kiedy opuszczam stronę, która go używała, pozostawiając ją zawieszoną, kiedy tak naprawdę nie chciałem, żeby działała.

Moje (co prawda ograniczone) doświadczenie we Flashu i tworzeniu apletów mówi mi również, że tworzenie animacji we Flashu jest łatwiejsze.

A potem jest historia. Microsoft nie zrobił apletów Java żadnych korzyści, opracowując własną JVM i sprawiając, że zachowuje się inaczej niż Sun. W rezultacie ten sam aplet mógł działać w jednej przeglądarce, a nie w innej, co czyniło tworzenie apletów Java mniej opłacalnym.

Java ma darmowe narzędzia, których można używać w przeciwieństwie do zastrzeżonych edytorów Flash wymaganych do tworzenia filmów Flash, ale ostatecznie jego ciężkie podejście czyni go gorszym.

Adam Lear
źródło
4
Uzgodniono, że czas rozgrzewania JVM jest najprawdopodobniej powodem, dla którego Flash zjadł
1
Ponadto Flash został stworzony przede wszystkim w celu tworzenia doskonałych interaktywnych wrażeń z dużą ilością treści graficznych, dźwięku i animacji. Java jest językiem ogólnego przeznaczenia, niekoniecznie najlepszym wyborem do tworzenia treści internetowych.
Martin Wickman,
3
Sun skutecznie walczył z MS, próbując uczynić aplety mniej odpowiedzialnymi w sądzie. W pobliżu nie ma już MS-Java, zostało to zabronione.
użytkownik nieznany
1
Można powiedzieć, że sukces prawny firmy Sun spowodował techniczną awarię na tej arenie. Bez domyślnej JVM w systemie Windows (najbardziej rozpowszechniony system operacyjny użytkowników końcowych na rynku), Flash miał okazję stać się de facto standardem i wykorzystał to. Microsoft wzruszył ramionami i utworzył .NET w odpowiedzi na orzeczenie JVM, a następnie Silverlight w odpowiedzi na Flash. Teraz HTML 5 jest gotowy do przestarzałości większości tych rozwiązań po stronie klienta. Krąg życia.
Jesse C. Slicer
4

Odtwarzanie audio i wideo we Flashu jest tak samo cholerne, ale Java nie zawsze jest lepsza. Miałem bardzo frustrujące problemy z grami Java, gdy Sun wprowadził błąd między mniejszymi wersjami, który zepsuł cykl życia apletu. Dopiero rok temu zaczęli działać razem z apletami i nawet wtedy nie było to idealnie płynne.

Jeśli chodzi o gry, największymi zaletami Flasha były prawdopodobnie bardziej wyspecjalizowane środowisko programistyczne i dobra obsługa bibliotek grafiki wektorowej. Największą zaletą Javy była prawdopodobnie możliwość wykonywania prawdziwego 3D za pomocą podpisanego apletu i JOGL / LWJGL.

Peter Taylor
źródło
2

Narzut związany ze środowiskiem wykonawczym dla apletów Java (przynajmniej w systemie Windows) jest znacznie bardziej nieprzystosowany i wolniejszy niż Flash (z mojego doświadczenia) i uważam, że język ActionScript jest wyższy niż język Java, dlatego takie rzeczy jak animacje i obsługa zasobów (takie jak muzyka / filmy) łatwiejsze do opracowania.

James Love
źródło
3
ActionScript to po prostu JavaScript o innej nazwie. Jestem pewien, że ludzie, którzy chcieli, mogliby przedyskutować długą dyskusję na temat tego, czy jest to wyższy poziom niż Java, ale na poziomie językowym największą różnicą w IMO jest dynamiczne pisanie statyczne.
Peter Taylor,
2
Obecnie „Actionscript” ogólnie oznacza AS3, który bardziej przypomina Javę niż JavaScript i działa bardziej podobnie do Java, ponieważ JIT VM (w przeciwieństwie do AS2 VM, która tylko interpretuje).
fenomas
2

Java nigdy nie miała bardzo atrakcyjnego interfejsu użytkownika. Lata zajęły im nawet wygładzanie krawędzi, przez co tekst był trudny do odczytania. Wielowątkowe renderowanie / interakcja nie jest nigdy implementowane w głównych bibliotekach interfejsu użytkownika Java. To dodaje do już powolnego odczucia, jakie mają te biblioteki UI.

Ponieważ Java jest przeznaczona do dużych projektów, ma znaczną przewagę przy użyciu istniejącego kodu w przeglądarce.

Możliwości HTML zostały znacznie zwiększone w ostatnich latach. Kompatybilność z różnymi przeglądarkami została usunięta, a niektóre funkcje zostały dodane, takie jak pamięć kliencka i płótno.

GWT oferuje całkiem niezły interfejs API do tworzenia interfejsu użytkownika z wysokiej klasy klasami i interfejsami dla paneli i widżetów. Tłumaczy to na javascript, co czyni zaciętym comeptitor dla apletów Java i Flash.

Ruudjah
źródło
2
Antyaliasing jest w Javie od 1.2. Myślę, że bardziej przypadkiem ludzie nie poświęcili czasu na naukę, jak je włączyć.
Peter Taylor
A Java 1.2 pochodzi z 1998 roku. Co to za bzdury na temat renderowania / interakcji wielowątkowych? Java jest językiem używanym zwykle do uczenia wątków. Oznacza to, że ma obecnie najwygodniejszy i najbardziej rozwinięty model wątkowania ze wszystkich języków. (Jednak prawie na pewno nie jest to najwygodniejszy możliwy model nawlekania ...) Co „powolny”? Załadowanie apletu jest powolne, ale po załadowaniu ma najbardziej responsywne działanie w przeglądarce.
Evgeni Sergeevie
2

Programiści Flash są tańsi niż programiści Java. I możesz znaleźć projektantów graficznych zdolnych do pracy w trybie flash lub z nim. Dzięki temu możesz uzyskać tańszy produkt.

Wyatt Barnett
źródło
2
Nikt nie jest wart swojej soli. Dobry programista pobiera dobre ceny dewelopera.
MaxSan,
1

prosta odpowiedź brzmi… flash jest dla projektantów. a java jest dla programistów, nie ma nic łatwiejszego niż to ... ani jednego lepszego od drugiego ... to po prostu różne narzędzia do różnych zadań .. więc zakładanie, że flash lub java są lepsze od siebie ... jest po prostu stronniczość ... to po prostu różne narzędzia, oba wykonują pracę w różnych kontekstach .. co do downvote .. nie rozumiem, o co ci chodzi .. ważne jest, aby powiedzieć takie rzeczy .. i nie pozwolić, aby stronniczość się dostała droga..

zostawiłeś opinię negatywną? co powiesz nam wszystkim, dlaczego w konstruktywny sposób? :)

marc-andre benoit
źródło
+1, ponieważ masz rację: flash jest dla projektantów stron internetowych, którzy ewoluują w programistów internetowych. Java jest dla programistów, którzy ewoluują w kierunku tworzenia stron internetowych.
Kris Van Bael
co powiesz na poprawienie mojej odpowiedzi, jeśli uważasz, że zasługuje na +1 :) hehe
marc-andre benoit
1
Oczywiście, że tak.
Kris Van Bael