2008-09-09 6 views
6

Chúng tôi cung cấp ứng dụng web có giao diện người dùng được phát triển hoàn toàn trong Adobe Flash. Khi chúng tôi chọn Flash 6 năm trước, chúng tôi đã làm như vậy cho số lượng lớn các tính năng cho tương tác của người dùng, như kéo nội dung, mở và đóng menu, phần tử điều hướng cây, hộp thoại bật lên, v.v.Ưu điểm và nhược điểm (kỹ thuật) của Flash so với AJAX/JS là gì?

Ngày nay rõ ràng là AJAX/JS cung cấp gần như cùng một khả năng và vì số lượng các khuôn khổ sẵn có, rất khả thi để thực hiện chúng.

Có lý do kỹ thuật nào nên chọn một trong hai công nghệ này hay cách khác? Bởi "kỹ thuật", tôi có nghĩa là hiệu suất, bảo mật, tính di động/khả năng tương thích và tương tự. Tôi không có nghĩa là các khía cạnh như phát triển theo cách rất không lập trình được thực hiện trong Flash hoặc cho dù nó có ý nghĩa để chuyển đổi một ứng dụng từ một sang khác.

Như tôi vừa giải thích in another question, có vẻ như với tôi rằng JS đang đi trước về thị phần và tôi tự hỏi liệu chúng ta có thiếu một số điểm quan trọng nếu chúng ta gắn bó với Flash hay không.

Trả lời

3
  • đúng thiết kế các ứng dụng AJAX có nhiều googleable hơn flash
  • đúng thiết kế các ứng dụng AJAX có thể dễ dàng hơn sâu có thể kết nối hơn so với Flash
  • AJAX không đòi hỏi một plugin (Flash là khá phổ biến, vì vậy nó không thực sự là một vấn đề lớn) *
  • AJAX không được kiểm soát bởi một công ty duy nhất đường flash là

Edited thêm: * Ngoại trừ iPhone, như Abdu chỉ ra.

+0

Upchurch được upvote của tôi +! ... lấy làm tiếc. – alex

2

JS và Flash đều có sự hiện diện tuyệt vời trên web với khả năng chồng chéo. Một khu vực JS vẫn còn thiếu trong dựng hình video.

0

Tôi nghĩ rằng Flash nên bị giới hạn đối với trò chơi, video và hoạt ảnh trực tuyến. Nếu không, hãy sử dụng html và Ajax. Đó là một chuẩn web và được hỗ trợ bởi hầu hết các thiết bị. AFAIK, iPhone không hỗ trợ Flash. Đó là một phân khúc phát triển nhanh chóng mà bạn đang chặn. Giữ cho nó đơn giản và hiệu quả.

0

Mặc dù flash khá phổ biến trên các trình duyệt dành cho máy tính để bàn, hỗ trợ di động rất hạn chế (flash lite? Yeah, right). Tôi thực sự thất vọng khi tìm kiếm một nhà hàng trên điện thoại của mình chỉ để tìm toàn bộ trang web dựa trên flash và tôi thậm chí không thể nhận được số điện thoại hoặc địa chỉ!

4

Ngoài những gì người khác đã nói, Flash bị hạn chế trong "hình chữ nhật" và không thể được thêm vào trang html bình thường theo cách không phô trương.

@Gulzar Tôi nghĩ rằng khi nhiều trình duyệt hơn sẽ hỗ trợ thẻ video như mozilla 3.1, chúng tôi sẽ thấy việc áp dụng nhiều hơn ajax/js qua flash.

+0

Đúng. Tôi sẽ tự mình dùng Javascript bất kỳ ngày nào. –

0

Một lợi ích của Flash là nó có một vài phương tiện để giúp thực hiện các hoạt động loại tên miền chéo một cách an toàn, điều này có thể hữu ích. Flash cũng có (giới hạn) hỗ trợ cho một số phần cứng, điều này là không thể với Javascript.

Cá nhân, tôi sẽ cố gắng sử dụng càng nhiều Ajax càng tốt trước khi chuyển sang một cái gì đó như Flash. Từ quan điểm giao diện người dùng, tốt hơn là các điều khiển và tác giả cơ bản được phát triển một chút. Dự án Sound Manager là một ví dụ hiệu quả về việc sử dụng một lượng nhỏ Flash trong khi vẫn giữ phần còn lại trong Javascript.

4
  • Adobe Actionscript là ngôn ngữ được nhập tĩnh, Javascript được nhập động. Tùy thuộc vào quan điểm của bạn, điều này có thể là một điều tốt hay một điều xấu.
  • Với Javascript/HTML/CSS, bạn sẽ hướng đến địa chỉ tương thích trên nhiều trình duyệt, đặc biệt nếu bạn muốn hỗ trợ các trình duyệt cũ hơn. Điều này có thể được giảm thiểu bởi các thư viện có sẵn, nhưng nó vẫn là một nhức đầu lớn. Với Flash, bạn viết mã một lần và nó chỉ hoạt động trong tất cả các trình duyệt.
  • Ngay cả với các thư viện có sẵn, điều khiển người dùng Flash đơn giản hơn nhiều so với bất kỳ thứ gì bạn có thể tìm thấy trong thế giới của Javascript/HTML. Trong Javascript, bạn sẽ không tìm thấy bất cứ thứ gì đến gần với sự đơn giản và sức mạnh của một điều khiển người dùng dữ liệu mà Flash cung cấp.

Tôi không thấy cách Javascript có nhiều "thị phần" hơn Flash. Khá nhiều người có trình duyệt web đã cài đặt plugin Flash. Tôi muốn được tò mò muốn biết có bao nhiêu người vô hiệu hóa Javascript nhưng có một plugin Flash.

Cũng nên nhớ rằng bạn sẽ ở trong một đường cong học tập rất lớn và rất nhiều thời gian phát triển nếu bạn quyết định chuyển đổi cơ sở công nghệ của bạn để bạn thực sự có một lý do kinh doanh tốt để làm điều đó.

Quyết định này cũng có rất nhiều việc phải làm với những gì ứng dụng của bạn làm và cơ sở cài đặt của bạn là ai.

Chỉnh sửa: Tôi thấy mọi người đã đề cập rằng iPhone không có hỗ trợ Flash. Tôi hy vọng điều này sẽ thay đổi với cơ sở cài đặt của iPhone - Adobe sẽ điên không hỗ trợ nó.

+0

Điều đó tùy thuộc vào phiên bản Flash bạn đang nói đến. ActionScript2 chỉ là cú pháp đường trên đầu trang của ActionScript1, về cơ bản là JavaScript (cả hai đều là ECMAScript). Đó là một ngôn ngữ năng động. ActionScript3 là cả hai. Bạn có thể khai báo các đối tượng động, mặc dù hầu hết không phải là động. – Herms

1

Flash, được sử dụng tốt, cho phép dễ dàng bản địa hóa và quốc tế hóa.

Hơn nữa, việc sử dụng Flash dễ dàng hơn nhiều theo cách dễ tiếp cận; bạn có thể cho người đọc màn hình đọc văn bản phù hợp, thay vì để họ lặp qua tất cả các phần tử biểu mẫu có thể có.

0

Tôi nghi ngờ một trong những lý do javascript đang trở nên phổ biến hơn là dễ dàng hơn để trang bị thêm vào một ứng dụng hiện có.

1

Vì tôi không thể chấp nhận hai câu trả lời, tôi sẽ hợp nhất Christ Upchurch's17 of 26's câu trả lời trong bài đăng của riêng tôi. Tôi nghĩ, cả hai cùng nhau tổng hợp khá nhiều những gì tôi muốn biết. Cảm ơn các bạn!

0

Nếu bạn đang xử lý rất nhiều với đa giác, thì Flash vẫn dễ dàng hơn trong việc lập trình và gỡ lỗi. Với AJAX, có rất nhiều thư viện để xử lý đa giác, nhưng càng có nhiều thư viện mà ứng dụng của bạn sử dụng thì tốc độ càng chậm.