Thuật ngữ Flash có thể bao gồm bất kỳ thuật ngữ nào khác được định nghĩa bên dưới và tôi thấy rằng việc nói "Flash" mà không chỉ rõ chính xác ý bạn có thể gây nhầm lẫn và gây hiểu lầm. Trường hợp cụ thể: Tôi không chắc ý của bạn cụ thể là gì khi bạn nói "Flash" trong câu hỏi của mình. Nó có phải là Flash Player không? Công cụ tác giả? Hay toàn bộ bộ sưu tập các công nghệ thuộc cái mà Adobe gọi là "Nền tảng Flash"? Để giúp làm rõ tất cả điều này, hãy để tôi xác định các công nghệ liên quan đến việc tạo nội dung Flash và Flex để tất cả chúng ta đang sử dụng cùng một thuật ngữ ở đây:
Flash Player là thời gian chạy cho nội dung đa phương tiện trong trình duyệt. Ngoài ra còn có Flash Lite để chạy nội dung Flash trên các thiết bị di động cũ hơn hoặc cấp thấp và Adobe AIR mở rộng Flash Player để cho phép các tác giả nội dung xuất bản các ứng dụng di động và máy tính để bàn gốc có thể tích hợp với những thứ như hệ thống tệp, hệ thống cửa sổ và thiết bị các cảm biến như gia tốc kế và máy ảnh. Nói chung, Adobe gọi chúng là thời gian chạy Flash .
Flash Professional (thường được gọi là công cụ tạo Flash hoặc Flash IDE ) theo truyền thống là ứng dụng chính được sử dụng để tạo nội dung chạy trên Flash Player. Nó được thiết kế rất định hướng với các mốc thời gian, các lớp và các công cụ vẽ trực quan. Các nhà phát triển phần mềm có thể thấy ứng dụng này mất phương hướng và hạn chế so với các công cụ phát triển khác tập trung nhiều hơn vào mã, như Flash Builder (xem bên dưới). Khi ai đó nói, "Tôi đã xây dựng thứ gì đó bằng Flash", họ thường ám chỉ công cụ tạo tác phẩm Flash, nhưng không phải lúc nào cũng vậy. Vì lý do đó, bạn nên luôn làm rõ để tránh bất kỳ sự nhầm lẫn nào.
ActionScript là ngôn ngữ lập trình chính được Adobe hỗ trợ để nhắm mục tiêu thời gian chạy Flash. Phiên bản hiện tại là ActionScript 3 (viết tắt là AS3 ), đã được hỗ trợ kể từ Flash Player 9. Nội dung được tạo bằng các phiên bản ActionScript cũ hơn vẫn có thể chạy trong các phiên bản Flash Player mới nhất, nhưng các tính năng mới chỉ được hỗ trợ khi sử dụng ActionScript 3 để tạo nội dung mới.
Flex là một tập hợp các công nghệ được thiết kế để tạo ra các ứng dụng phong phú nhắm mục tiêu thời gian chạy Flash của Adobe. Mặc dù nói "Flex" trước đây có cùng sự mơ hồ với "Flash", nhưng tên thương hiệu Flex ngày càng trở nên tập trung hơn vào khung Flex và SDK, được mô tả bên dưới.
Các Flex SDK bao gồm trình biên dịch, một debugger dòng lệnh, và khung Flex. Các trình biên dịch bao gồm: 1. MXMLC, một trình biên dịch ActionScript và MXML để xuất ra tệp SWF cuối cùng để triển khai cho Flash Player. 2. COMPC, một trình biên dịch thư viện tĩnh cho ActionScript xuất ra các tệp SWC. 3. ASDOC, một trình tạo tài liệu được xây dựng dựa trên công nghệ trình biên dịch.
Khung Flex là một tập hợp các lớp ActionScript được thiết kế để xây dựng các Ứng dụng Internet Phong phú. Nó bao gồm những thứ như điều khiển giao diện người dùng, dịch vụ web và các lớp kết nối khác, trình định dạng và trình xác nhận, kéo và thả, cửa sổ phương thức và trạng thái thành phần. Các lớp này nằm trong gói mx. *. Nói chung, khi các nhà phát triển nói "Flex" mà không có bất kỳ thông tin làm rõ nào, họ có nghĩa là khung Flex chứ không phải sản phẩm trước đây được gọi là Flex Builder.
Năm 2011, Adobe đã tặng Flex SDK cho Apache Software Foundation. Bây giờ nó được gọi là Apache Flex và nó được quản lý hoàn toàn bởi cộng đồng chứ không phải Adobe. Tuy nhiên, các nhân viên của Adobe vẫn tiếp tục đóng góp cho dự án và Flash Builder (xem bên dưới) tiếp tục hỗ trợ các SDK mới do dự án Apache Flex phát hành.
MXML là một ngôn ngữ đánh dấu dựa trên XML được các trình biên dịch Flex sử dụng để giúp bố trí và đặt các thành phần vào vùng chứa dễ dàng hơn. Cấu trúc dạng cây của XML làm cho cấu trúc phân cấp chứa dễ hình dung hơn. MXML thực sự được chuyển đổi thành ActionScript trong quá trình biên dịch.
Flash Builder (trước đây gọi là Flex Builder ) là một môi trường phát triển cho phép các nhà phát triển xây dựng các loại dự án khác nhau để tạo các tệp SWF được triển khai cho các thời gian chạy Flash. Nó được xây dựng trên nền tảng Eclipse và quen thuộc hơn với các kỹ sư phần mềm. Flash Builder hỗ trợ các dự án được xây dựng bằng Flex hoặc ActionScript thuần túy. Các dự án Flex bao gồm khuôn khổ Flex. Các dự án ActionScript là cơ bản nhất mà bạn có thể làm việc, bắt đầu với một lớp duy nhất và một canvas trống, và khung Flex không được bao gồm.
Flash Builder không thay thế Flash Professional. Một số người đã sử dụng Flash Professional theo cách truyền thống hiện có thể chọn sử dụng Flash Builder để thay thế. Thông thường, đây là những kỹ sư phần mềm đánh giá cao hoặc yêu cầu các công cụ phát triển nâng cao do Flash Builder cung cấp hoặc không làm việc nhiều với các nội dung được thiết kế trong một công cụ trực quan. Một số nhà phát triển có thể viết mã của họ trong Flash Builder, trong khi chọn biên dịch các dự án của họ trong công cụ tạo Flash. Thông thường, những nhà phát triển này cũng là nhà thiết kế hoặc họ đang làm việc với những người khác cũng là nhà thiết kế. Trong tình huống này, có thể có nhiều nội dung đồ họa được tạo trong công cụ tạo Flash và có thể khó hoặc đơn giản là không phù hợp để đưa chúng vào môi trường khác.
Khung Flex được thiết kế đặc biệt để xây dựng các ứng dụng. Nó bao gồm nhiều điều khiển biểu mẫu truyền thống (nút, danh sách, mã dữ liệu, v.v.) và phần lớn mã chạy trên khung thành phần nâng cao được viết bằng ActionScript. Không phải tất cả mọi người đều xây dựng loại nội dung mà Flex được thiết kế để tạo và Flex không thay thế các phương pháp phát triển Flash truyền thống cho tất cả mọi người. Đó là một cách tiếp cận tốt hơn đối với một số nhà phát triển, nhưng có thể không phù hợp với những người khác. Các trang web nặng về thiết kế hơn, chẳng hạn như những trang web được tạo cho phim, nhạc, nước tăng lực, chiến dịch quảng cáo và những thứ tương tự có lẽ không nên sử dụng khung Flex. Những loại nội dung này có thể phù hợp hơn với Flash Professional hoặc một dự án ActionScript thuần túy trong Flash Builder. Tương tự, các widget nhỏ mà bạn đặt vào thanh bên của trang web hoặc trên hồ sơ của bạn trong một trang web mạng xã hội có thể cần được xây dựng bằng ActionScript thuần túy (không có khung Flex) vì chúng yêu cầu kích thước tệp nhỏ hơn và chúng có thể không cần quá phức tạp kiến trúc thành phần được thiết kế cho các ứng dụng lớn hơn. Khi nhắm mục tiêu thời gian chạy Flash, môi trường phát triển, khuôn khổ và quy trình làm việc của bạn phải được chọn dựa trên các yêu cầu và mục tiêu của dự án.