Действительно ли Flash лучше Java-апплетов? [закрыто]

14

Я все еще студент, без большого опыта в программировании. Я никогда не писал ничего больше, чем ~ 5 тысяч строк кода. Я написал код на Flash и Java, и я просто не могу понять, почему люди пишут веб-приложения, такие как видеоплееры (YouTube и т. Д.), Во Flash, а не как Java-апплеты. Поэтому я хочу попросить вас, программистов, обладающих практическим опытом, несколько мудрых слов на эту тему.

Я не вижу реального преимущества Flash над апплетами, в то время как, с другой стороны, по крайней мере, мне кажется, что он чертовски глючит. Я понимаю, что быстрее сделать что-то во Flash, и я понимаю, почему это было бы хорошо для быстрого прототипирования, но в целом, стоит ли это того? Каждый раз, когда YouTube приходит в бешенство, я проклинаю разработчиков за то, что они написали его во Flash. И если вы используете Linux с Opera, это происходит постоянно.

Итак, почему люди используют флэш, а не апплеты?

Давор Адрало
источник
4
Java-апплеты, тьфу ...
Anto

Ответы:

34

Flash обеспечивает более плавное взаимодействие с пользователем. Java-апплеты работают довольно медленно, так как Java VM необходимо запустить, прежде чем они смогут работать. Как посетитель веб-сайта, я ненавижу, когда вещи на несколько мгновений замирают, пока Java VM сама себя решает. Если я не ошибаюсь, он также не выгружается, когда я ухожу с веб-сайта, который использовал его, оставляя его без дела, когда я действительно не хотел, чтобы он работал в первую очередь.

Мой (по общему признанию ограниченный) опыт разработки Flash и апплетов также говорит мне, что разработка анимации во Flash проще.

А потом есть история. Microsoft не оказала Java-апплетам никакой пользы, разработав собственную JVM и заставив ее вести себя иначе, чем у Sun. В результате один и тот же апплет может работать в одном браузере, а не в другом, что делает создание апплетов Java менее жизнеспособным.

В Java есть бесплатные инструменты, которые можно использовать в отличие от проприетарных Flash-редакторов, необходимых для создания Flash-видео, но в конечном итоге его упрямый подход делает его хуже.

Адам Лир
источник
4
Согласен, время прогрева JVM, скорее всего, является причиной того, что Flash съел
1
Кроме того, Flash был в первую очередь создан для создания великолепных интерактивных впечатлений с большим количеством графического контента, звука и анимации. Java - это язык общего назначения, не обязательно лучший выбор для создания веб-контента.
Мартин Уикман,
3
Сунь успешно боролся с попыткой MS сделать апплеты менее ответственными в суде. Вокруг MS-Java больше нет, это было запрещено.
неизвестный пользователь
1
Можно сказать, что юридический успех Sun вызвал технический сбой на этой арене. Не имея JVM по умолчанию в Windows (самой распространенной ОС для конечных пользователей на рынке), у Flash была возможность стать стандартом де-факто и воспользоваться этим. Microsoft пожала плечами и создала .NET в ответ на решение JVM, а затем Silverlight в ответ на Flash. Теперь HTML 5 готов устареть для большинства этих клиентских решений. Круг жизни.
Джесси С. Slicer
4

Флэш-аудио и видео воспроизводятся так же плохо, как и ад, но Java не всегда лучше. У меня были некоторые очень неприятные проблемы с Java-играми, когда Sun внесла ошибку между второстепенными версиями, которая испортила жизненный цикл апплета. Они действительно начали собираться вместе с апплетами около года назад, и даже тогда это было не совсем гладко.

Что касается игр, то основными преимуществами Flash были, вероятно, более специализированная среда разработки и хорошая поддержка библиотек для векторной графики. Самым большим преимуществом Java была, вероятно, возможность создавать настоящие 3D с подписанным апплетом и JOGL / LWJGL.

Питер Тейлор
источник
2

Затраты времени выполнения для апплетов Java (по крайней мере, в Windows) гораздо более громоздкие и медленнее, чем у Flash (по моему опыту), и я считаю, что язык Actionscript является более высоким уровнем, чем язык Java, поэтому это делает такие вещи, как анимация и обработка ресурсов (например, музыка / видео) проще в разработке.

Джеймс Лав
источник
3
ActionScript - это просто JavaScript с другим именем. Я уверен, что люди, которые хотели, могли бы долго спорить о том, является ли это более высоким уровнем, чем Java, но на уровне языка самое большое отличие IMO - это динамическая и статическая типизация.
Питер Тейлор
2
В наши дни «Actionscript» обычно означает AS3, который больше похож на Java, чем на JavaScript, и работает больше аналогично Java, потому что виртуальные машины JIT (в отличие от виртуальной машины AS2, которая только интерпретирует).
Феномас
2

У Java никогда не было очень привлекательного пользовательского интерфейса. Им потребовались годы, чтобы даже иметь сглаживание, делая текст едва читаемым. Многопоточный рендеринг / взаимодействие никогда не реализовывался в основных библиотеках пользовательского интерфейса Java. Это добавляет к уже вялому ощущению, которое имеют эти пользовательские интерфейсы.

Поскольку java предназначен для крупных проектов, он имеет значительное преимущество, используя существующий код в браузере.

Возможности HTML были значительно расширены за последние годы. Кросс-браузерная совместимость исключена, и добавлены некоторые функции, такие как хранилище на стороне клиента и холст.

GWT предлагает довольно хороший API для создания пользовательского интерфейса с классами высокого уровня и интерфейсами для панелей и виджетов. Это переводит его в javascript, делая жестокий комедитор для java-апплетов и flash.

Ruudjah
источник
2
Сглаживание было в Java с 1.2. Я думаю, что это скорее тот случай, когда люди не нашли время, чтобы научиться его включать.
Питер Тейлор
А Java 1.2 датируется 1998 годом. Что за вздор о многопоточном рендеринге / взаимодействии? Java - это язык, который обычно используется для обучения потоков. То есть на сегодняшний день у него самая удобная и развитая модель потоков из всех языков. (Тем не менее, почти наверняка это не самая удобная модель потоков) ... Что такое "вялое чувство"? Загрузка апплета вялая, но после загрузки он выглядит наиболее отзывчиво в браузере.
Евгений Сергеев
2

Разработчики Flash дешевле, чем разработчики Java в целом. И вы можете найти графических дизайнеров, способных работать с или с Flash. Таким образом, вы можете получить более красивый продукт дешевле.

Уайетт Барнетт
источник
2
Никто не стоит их соли. Хороший разработчик назначает хорошие цены для разработчиков.
MaxSan
1

простой ответ .. вспышка для дизайнеров. и Java для программистов, это не становится легче, чем это ... не лучше, чем другие ... они просто разные инструменты для разных задач ... поэтому предположить, что Flash или Java превосходят друг друга ... просто предвзятость .. они просто разные инструменты и выполняют свою работу в разных контекстах ... что касается понижающего голоса .. я не понимаю вашу точку зрения .. уместно говорить такие вещи .. и не позволять предвзятости войти в способ..

Вы оставили отрицательный голос? как насчет того, чтобы рассказать всем, почему конструктивно? :)

Марк-Андре Бенуа
источник
+1, потому что вы правы: flash предназначен для веб-дизайнеров, которые превращаются в веб-программистов. Java для программистов, которые превращаются в создание веб-сайтов.
Крис Ван Баэль,
как насчет того, чтобы опровергнуть мой ответ, если вы считаете, что он заслуживает +1 :) хехе
marc-andre benoit
1
Я сделал, естественно.
Крис Ван Баел