Flash có thực sự vượt trội so với các applet Java? [đóng cửa]


14

Tôi vẫn còn là một sinh viên, không có nhiều kinh nghiệm thực tế trong lập trình. Tôi chưa bao giờ viết bất cứ điều gì lớn hơn ~ 5k dòng mã. Tôi đã viết mã bằng cả Flash và Java và tôi không thể hiểu tại sao mọi người lại viết các ứng dụng web như trình phát video (YouTube, v.v.) trong Flash chứ không phải là các applet Java. Vì vậy, tôi muốn hỏi bạn, lập trình viên có kinh nghiệm, cho một số từ khôn ngoan về chủ đề này.

Tôi thấy không có lợi ích thực sự nào của Flash so với các applet, trong khi mặt khác, ít nhất là với tôi, nó có vẻ như là lỗi. Tôi hiểu rằng nhanh hơn để tạo ra một cái gì đó trong Flash, và tôi có thể thấy tại sao nó sẽ là một điều tốt cho tạo mẫu nhanh, nhưng nói chung, nó có đáng không? Mỗi khi YouTube phát điên, tôi lại chửi các nhà phát triển vì đã viết nó trong Flash. Và nếu bạn đang sử dụng Linux với Opera, điều này xảy ra mọi lúc.

Vì vậy, về cơ bản, tại sao mọi người sử dụng đèn flash, mà không phải là applet?


4
Các applet Java, ugh ...
Anto

Câu trả lời:


34

Flash cung cấp trải nghiệm liền mạch hơn cho người dùng. Các applet Java khá chậm, vì Java VM cần được kích hoạt trước khi chúng có thể chạy. Là một người truy cập trang web, tôi ghét nó khi mọi thứ đóng băng trong một vài khoảnh khắc trong khi máy ảo Java tự tìm ra. Nếu tôi không nhầm, nó cũng không tải khi tôi điều hướng khỏi trang web đã sử dụng nó, để nó treo xung quanh khi tôi không thực sự muốn nó chạy ở nơi đầu tiên.

Kinh nghiệm (hạn chế) của tôi với phát triển Flash và applet cũng cho tôi biết rằng việc phát triển hoạt hình trong Flash dễ dàng hơn.

Và sau đó là lịch sử. Microsoft đã không làm cho Java thích bất kỳ ưu đãi nào bằng cách phát triển JVM của riêng họ và làm cho nó hoạt động khác với Sun. Kết quả là, cùng một applet có thể hoạt động trong một trình duyệt chứ không phải một trình duyệt khác, điều này làm cho việc tạo các applet Java trở nên kém khả thi hơn.

Java có các công cụ miễn phí có thể được sử dụng trái ngược với các trình soạn thảo Flash độc quyền cần có để tạo video Flash, nhưng cuối cùng, cách tiếp cận nặng nề của nó khiến nó trở nên kém hơn.


4
Đồng ý, thời gian khởi động JVM rất có thể là lý do khiến Flash ăn Applet-lunch

1
Ngoài ra, Flash chủ yếu được tạo ra để tạo ra trải nghiệm tương tác tuyệt vời với nhiều nội dung đồ họa, âm thanh và hình ảnh động. Java là ngôn ngữ có mục đích chung không nhất thiết là sự lựa chọn tốt nhất để tạo nội dung web.
Martin Wickman

3
Sun đã chiến đấu thành công chống lại các nỗ lực của MS để làm cho các applet trở nên ít chịu trách nhiệm hơn tại tòa án. Không có MS-Java xung quanh nữa, nó đã bị cấm.
người dùng không xác định

1
Người ta có thể nói rằng thành công pháp lý của Sun đã gây ra sự thất bại về kỹ thuật trong lĩnh vực đó. Không có JVM mặc định trong Windows (HĐH người dùng cuối được phân phối rộng rãi nhất trên thị trường), Flash đã có cơ hội trở thành tiêu chuẩn thực tế và nắm bắt được điều đó. Microsoft đã nhún vai và tạo .NET để đáp lại phán quyết của JVM và sau đó là Silverlight để đáp ứng với Flash. Bây giờ HTML 5 đã sẵn sàng để lỗi thời hầu hết các giải pháp phía khách hàng đó. Vòng tròn cuộc sống.
Jesse C. Choper

4

Phát lại âm thanh và video flash là lỗi như địa ngục, nhưng Java không phải lúc nào cũng tốt hơn. Tôi đã gặp một số vấn đề cực kỳ khó chịu với các trò chơi Java khi Sun đã đưa ra một lỗi giữa các phiên bản nhỏ làm hỏng vòng đời của applet. Họ chỉ thực sự bắt đầu hành động cùng với các applet khoảng một năm trước, và thậm chí sau đó nó không hoàn toàn suôn sẻ.

Theo như các trò chơi, ưu điểm lớn nhất của Flash có lẽ là môi trường phát triển chuyên biệt hơn và hỗ trợ thư viện tốt cho đồ họa vector. Ưu điểm lớn nhất của Java có lẽ là khả năng thực hiện 3D thực sự với một applet đã ký và JOGL / LWJGL.


2

Chi phí thời gian chạy cho các Applet Java (ít nhất là trong Windows) thì chậm hơn và chậm hơn so với Flash (theo kinh nghiệm của tôi) và tôi tin rằng ngôn ngữ Actioncript ở cấp độ cao hơn Java, do đó, điều này tạo ra những thứ như hoạt hình và xử lý tài nguyên (chẳng hạn như âm nhạc / video) dễ dàng phát triển hơn.


3
ActionScript chỉ là JavaScript với một tên khác. Tôi chắc rằng những người muốn có thể có một cuộc tranh luận lâu dài về việc liệu nó có cấp độ cao hơn Java hay không, nhưng ở cấp độ ngôn ngữ, sự khác biệt lớn nhất IMO là động so với gõ tĩnh.
Peter Taylor

2
Ngày nay, "Actioncript" thường có nghĩa là AS3, giống với Java hơn JavaScript và hoạt động tương tự như Java vì VM JIT (không giống như AS2 VM, chỉ diễn giải).
fenomas

2

Java chưa bao giờ có giao diện người dùng rất hấp dẫn. Phải mất nhiều năm họ mới có thể khử răng cưa, khiến văn bản khó đọc. Kết xuất / tương tác đa luồng là afaik không bao giờ được thực hiện trong các thư viện java UI chính. Điều đó làm tăng thêm cảm giác chậm chạp mà những lib UI đó có.

Vì java được thiết kế cho các dự án lớn, nó có một lợi thế đáng kể khi sử dụng mã hiện có trong trình duyệt.

Khả năng Html đã được tăng lên đáng kể trong những năm qua. Khả năng tương thích giữa các trình duyệt đã được chỉnh sửa và một số tính năng được thêm vào như bộ lưu trữ và ứng dụng khách.

GWT cung cấp một API khá hay để tạo UI với các lớp và giao diện highlevel cho các bảng và widget. Nó dịch nó sang javascript, tạo ra một comeptitor dữ dội cho các applet java và flash.


2
Khử răng cưa đã có trong Java từ 1.2. Tôi nghĩ đó là một trường hợp mà mọi người đã không dành thời gian để tìm hiểu làm thế nào để bật nó lên.
Peter Taylor

Và Java 1.2 có từ năm 1998. Điều gì vô nghĩa về kết xuất / tương tác đa luồng? Java là ngôn ngữ thường được sử dụng để dạy các luồng. Điều đó có nghĩa là, nó có mô hình luồng thuận tiện và phát triển nhất trong tất cả các ngôn ngữ, ngày nay. (Tuy nhiên, gần như chắc chắn không phải là mô hình luồng tiện lợi nhất có thể ...) "Cảm giác chậm chạp" là gì? Thật chậm chạp khi tải một applet, nhưng một khi đã tải, nó có cảm giác phản hồi nhanh nhất mà bạn có thể có trong trình duyệt.
Evgeni Sergeev

2

Các nhà phát triển Flash rẻ hơn so với các nhà phát triển java về tổng thể. Và bạn có thể tìm thấy các nhà thiết kế đồ họa có khả năng làm việc trong hoặc với đèn flash. Vì vậy, bạn có thể nhận được một sản phẩm đẹp hơn với giá rẻ hơn.


2
Không ai xứng đáng với muối của họ. Một nhà phát triển tốt tính giá nhà phát triển tốt.
MaxSan

1

Câu trả lời đơn giản là .. flash dành cho các nhà thiết kế. và java dành cho lập trình viên, nó không dễ hơn cái này .. không phải cái nào tốt hơn cái kia .. chúng chỉ là những công cụ khác nhau cho các công việc khác nhau .. vì vậy, giả sử flash hoặc java vượt trội hơn nhau .. chỉ là một thiên vị .. chúng chỉ là các công cụ khác nhau, cả hai đều hoàn thành công việc trong các bối cảnh khác nhau .. như đối với downvote .. tôi không thấy quan điểm của bạn .. có liên quan để nói những điều như vậy .. và không để sự thiên vị xâm nhập cách..

bạn để lại một downvote? làm thế nào về việc nói với chúng ta tất cả tại sao theo cách xây dựng? :)


+1 vì bạn đúng: flash dành cho các nhà thiết kế web phát triển thành lập trình viên web. Java dành cho các lập trình viên phát triển thành các trang web.
Kris Van Bael

làm thế nào về việc nâng cao phản hồi của tôi nếu bạn nghĩ rằng nó xứng đáng được +1 :) hehe
marc-andre benoit

1
Tôi đã làm, một cách tự nhiên.
Kris Van Bael
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.