Xem mẫu

  1. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN VŨ TẤN HƯNG NGUYỄN THỊ MINH TOÀN TÌM HIỂU NGÔN NGỮ LẬP TRÌNH TRONG ADOBE FLASH VÀ XÂY DỰNG ỨNG DỤNG MINH HỌA KHÓA LUẬN TỐT NGHIỆP CỬ NHÂN CNTT TP. HCM, NĂM 2008
  2. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN VŨ TẤN HƯNG – 05HC084 NGUYỄN THỊ MINH TOÀN – 05HC192 TÌM HIỂU NGÔN NGỮ LẬP TRÌNH TRONG ADOBE FLASH VÀ XÂY DỰNG ỨNG DỤNG MINH HỌA KHÓA LUẬN TỐT NGHIỆP CỬ NHÂN CNTT GIÁO VIÊN HƯỚNG DẪN Thạc sĩ LƯƠNG HÁN CƠ KHÓA 2005 - 2008
  3. Tìm hiểu ngôn ngữ lập trình trong Adobe Flash - Xây dựng ứng dụng minh họa LỜI CÁM ƠN Chúng em chân thành cám ơn các Thầy Cô Khoa Công nghệ Thông tin trường Đại học Khoa học Tự Nhiên đã hướng dẫn, giảng dạy tận tình và truyền đạt cho chúng em những kiến thức vô cùng quý báu trong suốt những năm học vừa qua. Chúng em xin gửi lời cám ơn chân thành và sâu sắc nhất đến Thầy Lương Hán Cơ đã tận tụy hướng dẫn, động viên và giúp đỡ chúng em trong suốt thời gian thực hiện đề tài. Chúng em xin cám ơn sự giúp đỡ tận tình của Thầy Lương Vĩ Minh. Chúng con xin gửi lòng biết ơn đến Ông Bà, Cha Mẹ đã luôn chăm sóc, ủng hộ chúng con trên suốt những bước đường học vấn. Xin cám ơn các anh chị và bạn bè đã động viên và giúp đỡ chúng em trong suốt thời gian học tập và nghiên cứu. Mặc dù chúng em đã cố gắng hết sức để hoàn thành luận văn một cách tốt nhất nhưng chắc chắn sẽ không tránh khỏi những thiếu xót. Chúng em kính mong nhận được sự cảm thông và tận tình chỉ bảo của quý Thầy Cô và các bạn. Sinh viên thực hiện Vũ Tấn Hưng – Nguyễn Thị Minh Toàn Vũ Tấn Hưng 1 Nguyễn Thị Minh Toàn
  4. Tìm hiểu ngôn ngữ lập trình trong Adobe Flash - Xây dựng ứng dụng minh họa MỤC LỤC Chương 1. Tổng quan ........................................................................................... 8 Chương 2. FLEX ................................................................................................. 11 2.1. Giới thiệu ........................................................................................................................... 11 2.1.1. Những công nghệ trong ứng dụng Flex .........................................................................................11 2.1.2. Sử dụng những phần tử của Flex ...................................................................................................14 2.1.3. Bảo mật của Flash Player ..............................................................................................................15 2.1.4. Làm việc với dịch vụ dữ liệu - Data services.................................................................................15 2.1.5. Sự khác biệt giữa ứng dụng HTML và ứng dụng Flex Web..........................................................16 2.1.6. Cách làm việc của ứng dụng Flex..................................................................................................16 2.2. Làm việc với dữ liệu.......................................................................................................... 17 2.2.1. Sử dụng mô hình dữ liệu................................................................................................................17 2.2.2. Kết buộc dữ liệu.............................................................................................................................19 2.2.3. Kết buộc dữ liệu cho lớp tự định nghĩa..........................................................................................21 2.3. Giao tiếp dữ liệu từ xa ...................................................................................................... 21 2.3.1. Việc yêu cầu và nhận giao tiếp dữ liệu ..........................................................................................22 2.3.2. Kết nối Real-Time/ Socket ............................................................................................................27 2.3.3. Tải file lên và tải file xuống...........................................................................................................27 2.4. Các thành phần giao diện................................................................................................. 28 2.4.1. Khái quát........................................................................................................................................28 2.4.2. Khởi tạo các thành phần giao diện.................................................................................................30 2.4.3. Các thuộc tính phổ biến của các thành phần giao diện ..................................................................30 2.4.4. Xử lý sự kiện .................................................................................................................................31 2.5. Làm việc với Media........................................................................................................... 33 2.5.1. Những kiểu Media được hỗ trợ trong Flex ....................................................................................33 2.5.2. Cách thêm Media vào ứng dụng ....................................................................................................33 2.5.3. Làm việc với các loại Media khác nhau ........................................................................................36 2.6. Quản lý các trạng thái ...................................................................................................... 41 2.6.1. Khởi tạo trạng thái .........................................................................................................................42 2.6.2. Áp dụng các trạng thái...................................................................................................................42 2.6.3. Định nghĩa các trạng thái dựa trên các trạng thái có sẵn ...............................................................42 2.6.4. Thêm bớt các thành phần...............................................................................................................43 2.6.5. Thiết lập các thuộc tính..................................................................................................................44 2.6.6. Thiết lập các kiểu...........................................................................................................................45 2.6.7. Thiết lập bộ điều khiển sự kiện - Event Handlers..........................................................................45 2.7. Sử dụng các hiệu ứng và sự chuyển tiếp giữa các trạng thái ........................................ 46 2.7.1. Sử dụng hiệu ứng...........................................................................................................................46 2.7.2. Transitions - Sự chuyển tiếp giữa các trạng thái............................................................................49 Chương 3. ActionScript...................................................................................... 51 3.1. Giới thiệu ........................................................................................................................... 51 Vũ Tấn Hưng 2 Nguyễn Thị Minh Toàn
  5. Tìm hiểu ngôn ngữ lập trình trong Adobe Flash - Xây dựng ứng dụng minh họa 3.2. Các thành phần cơ bản trong ActionScript.................................................................... 51 3.2.1. Lớp và đối tượng ...........................................................................................................................51 3.2.2. Packages ........................................................................................................................................53 3.2.3. Hàm và biến...................................................................................................................................53 3.3. Sự kiện và xử lý sự kiện.................................................................................................... 57 3.3.1. Sự kiện ActionScript cơ bản ..........................................................................................................57 3.3.2. Đăng ký một phương thức đăng ký sự kiện - Event listener ..........................................................58 3.3.3. Hủy đăng ký một phương thức đăng ký sự kiện - Event listener...................................................61 3.3.4. Đối tượng Target ...........................................................................................................................61 3.3.5. Quyền ưu tiên đối với phương thức đăng ký sự kiện - Event Listener ..........................................61 3.4. ActionScript động ............................................................................................................. 62 3.4.1. Biến động.......................................................................................................................................63 3.4.2. Tự động thêm hành vi mới cho một thể hiện .................................................................................63 3.4.3. Tham chiếu động cho biến và phương thức...................................................................................64 3.5. XML và E4X ..................................................................................................................... 65 3.5.1. Dữ liệu phân cấp XML ..................................................................................................................65 3.5.2. Truy cập dữ liệu XML ...................................................................................................................67 3.5.3. Thao tác dữ liệu XML với câu lệnh for-each-in và for-in..............................................................69 3.5.4. Trích lọc dữ liệu XML...................................................................................................................69 3.5.5. Thay đổi hoặc tạo mới nội dung XML ..........................................................................................71 3.5.6. Thêm thuộc tính hoặc thành phần mới...........................................................................................72 3.5.7. Xóa thành phần và thuộc tính ........................................................................................................73 3.5.8. Nạp dữ liệu XML...........................................................................................................................73 Chương 4. Ứng dụng .......................................................................................... 75 4.1. Giới thiệu ứng dụng .......................................................................................................... 75 4.2. Yêu cầu chức năng ............................................................................................................ 75 4.3. Yêu cầu phi chức năng ..................................................................................................... 76 4.4. Mô hình use case ............................................................................................................... 76 4.5. Mô tả ứng dụng ................................................................................................................. 77 4.5.1. Màn hình đăng nhập ......................................................................................................................77 4.5.2. Màn hình đăng ký ..........................................................................................................................79 4.5.3. Màn hình quản lý ...........................................................................................................................80 4.5.4. Màn hình xem ảnh .........................................................................................................................86 4.5.5. Màn hình tạo slideshow .................................................................................................................90 4.6. Cơ sở dữ liệu...................................................................................................................... 93 4.6.1. Mô hình quan hệ ............................................................................................................................93 4.6.2. Thuyết minh mô hình quan hệ và thuộc tính .................................................................................94 4.6.3. Mô tả ràng buộc về khóa ...............................................................................................................95 Chương 5. Tổng kết ............................................................................................ 96 Chương 6. Danh mục tài liệu tham khảo.......................................................... 97 Chương 7. Phụ lục .............................................................................................. 98 Phần 1: FLEX ........................................................................................................ 98 Vũ Tấn Hưng 3 Nguyễn Thị Minh Toàn
  6. Tìm hiểu ngôn ngữ lập trình trong Adobe Flash - Xây dựng ứng dụng minh họa 7.1. Các sự kiện hiệu ứng......................................................................................................... 98 7.2. Chuẩn hóa và định dạng dữ liệu...................................................................................... 99 7.2.1. Chuẩn hóa dữ liệu người dùng nhập vào .......................................................................................99 7.2.2. Định dạng dữ liệu ........................................................................................................................101 7.3. Tùy biến giao diện ........................................................................................................... 102 7.3.1. Sử dụng các Style ........................................................................................................................102 7.3.2. Sử dụng Skin ...............................................................................................................................102 7.3.3. Dùng Themes...............................................................................................................................103 7.3.4. CSS thực thi.................................................................................................................................104 Phần 2: ActionScript ............................................................................................ 105 7.4. Điều kiện – Vòng lập – Toán tử ..................................................................................... 105 7.4.1. Điều kiện......................................................................................................................................105 7.5. Phương thức tĩnh và biến tĩnh ....................................................................................... 106 7.6. Kế thừa............................................................................................................................. 106 7.6.1. Tái định nghĩa – ghi đè một phương thức....................................................................................107 7.6.2. Phương thức Super()....................................................................................................................108 7.6.3. Ngăn chặn kế thừa và phương thức định nghĩa lại.......................................................................108 7.6.4. Composition.................................................................................................................................109 7.7. Interfaces ......................................................................................................................... 109 7.7.1. Tại sao phải dùng Interface?........................................................................................................110 7.7.2. Cú pháp và cách sử dụng interface ..............................................................................................110 7.7.3. Kế thừa interface..........................................................................................................................111 7.8. Mảng ................................................................................................................................ 112 7.8.1. Thêm phần tử vào mảng ..............................................................................................................112 7.8.2. Xóa bỏ phần tử trong mảng: ........................................................................................................114 7.8.3. Phương thức toString(): ...............................................................................................................114 7.8.4. Mảng đa chiều .............................................................................................................................115 7.9. Xử lý lỗi ............................................................................................................................ 115 7.10. XML và E4X ................................................................................................................... 116 7.10.1. Truy cập những nút văn bản ........................................................................................................116 7.10.2. Truy cập nút cha ..........................................................................................................................117 7.10.3. Truy cập nút anh em ....................................................................................................................118 7.10.4. Truy cập những thuộc tính...........................................................................................................118 7.10.5. Truy cập các nút hậu duệ .............................................................................................................119 Vũ Tấn Hưng 4 Nguyễn Thị Minh Toàn
  7. Tìm hiểu ngôn ngữ lập trình trong Adobe Flash - Xây dựng ứng dụng minh họa DANH MỤC CÁC BẢNG Bảng 1: Các thành phần giao diện ........................................................................29 Bảng 2: Một số sự kiện của thành phần chuẩn trong Flex..................................33 Bảng 3: Những kiểu media được hỗ trợ trong Flex .............................................33 Bảng 4 : Một số hiệu ứng cơ bản ...........................................................................46 Bảng 5: Các lớp tự nhiên của ActionScript ..........................................................52 Bảng 6: Điều khiển truy xuất biến.........................................................................54 Bảng 7: Điều khiển truy xuất hàm ........................................................................54 Bảng 8: Mô tả chi tiết màn hình đăng nhập .........................................................77 Bảng 9: Mô tả chi tiết màn hình đăng ký..............................................................80 Bảng 10: Mô tả chi tiết màn hình quản lý.............................................................83 Bảng 11: Mô tả chi tiết màn hình xem ảnh dạng thumbnail ..............................87 Bảng 12: Mô tả chi tiết màn hình xem ảnh dạng carousel ..................................87 Bảng 13: Mô tả chi tiết màn hình xem ảnh dạng list ...........................................89 Bảng 14: Mô tả chi tiết màn hình xem thông tin ảnh ..........................................89 Bảng 15: Mô tả chi tiết màn hình tạo slideshow...................................................91 Bảng 16:Thuyết minh bảng NGUOIDUNG..........................................................94 Bảng 17:Thuyết minh bảng HINH ........................................................................94 Bảng 18:Thuyết minh bảng ALBUM ....................................................................94 Bảng 19:Thuyết minh bảng CHITIETALBUM...................................................95 Bảng 20: Mô tả ràng buộc khóa chính ..................................................................95 Bảng 21: Mô tả ràng buộc khóa ngoại ..................................................................95 Vũ Tấn Hưng 5 Nguyễn Thị Minh Toàn
  8. Tìm hiểu ngôn ngữ lập trình trong Adobe Flash - Xây dựng ứng dụng minh họa DANH MỤC CÁC HÌNH Hình 1: Silverlight .....................................................................................................8 Hình 2: Flex ...............................................................................................................9 Hình 3: Những ứng dụng sử dụng công nghệ Flex ..............................................10 Hình 4: Flex SDK ....................................................................................................11 Hình 5: Flex Framework ........................................................................................12 Hình 6: Flex Builder 2.............................................................................................13 Hình 7: Mô hình nguồn – biên dịch – triển khai của ứng dụng Flex ................16 Hình 8: Mối quan hệ giữa các thành phần giao diện và các lớp Flash Player ..29 Hình 9: Mô hình use case........................................................................................76 Hình 10: Màn hình đăng nhập...............................................................................77 Hình 11: Màn hình đăng ký ...................................................................................79 Hình 12: Màn hình quản lý ....................................................................................81 Hình 13: Màn hình xem ảnh dạng thumbnail ......................................................86 Hình 14: Màn hình xem ảnh dạng carousel..........................................................87 Hình 15: Màn hình xem ảnh dạng list...................................................................88 Hình 16: Màn hình xem thông tin ảnh..................................................................89 Hình 17: Màn hình tạo slideshow ..........................................................................90 Hình 18: Mô hình quan hệ......................................................................................93 Vũ Tấn Hưng 6 Nguyễn Thị Minh Toàn
  9. Tìm hiểu ngôn ngữ lập trình trong Adobe Flash - Xây dựng ứng dụng minh họa TÓM TẮT KHÓA LUẬN Nội dung khóa luận được chia làm 7 chương: Chương 1: Tổng quan Phân tích đánh giá các hướng nghiên cứu đã có liên quan đến đề tài. Lí do chọn đề tài, mục đích, đối tượng và phạm vi nghiên cứu. Chương 2: Tìm hiểu công nghệ Flex Giới thiệu về công nghệ Flex. Lí do vì sao chọn công nghệ Flex để triển khai ứng dụng cùng với những ưu khuyết điểm của Flex. Các kỹ thuật trong công nghệ Flex. Chương 3: Tìm hiểu ngôn ngữ ActionScript Giới thiệu về ngôn ngữ ActionScript. Các thành phần cơ bản và kỹ thuật trong ActionScript. Chương 4: Mô tả ứng dụng Giới thiệu về ứng dụng. Các yêu cầu trong ứng dụng. Phân tích ứng dụng theo mô hình UML (Unified Model Language). Một số thành phần, đối tượng và kỹ thuật tiêu biểu sử dụng trong ứng dụng. Chương 5: Tổng kết Tổng kết những kết quả đạt được và mặt hạn chế của đề tài đồng thời đưa ra hướng phát triển cho hệ thống sau này. Chương 6: Danh mục tài liệu tham khảo Chương 7: Phụ lục Giới thiệu thêm một số thành phần và kỹ thuật trong ActionScript và Flex. Vũ Tấn Hưng 7 Nguyễn Thị Minh Toàn
  10. Tìm hiểu ngôn ngữ lập trình trong Adobe Flash - Xây dựng ứng dụng minh họa Chương 1. Tổng quan Trong thời gian gần đây, hạ tầng CNTT phát triển với những băng thông kết nối Internet rộng được triển khai đại trà dẫn đến nhu cầu sử dụng các ứng dụng trực tuyến (RIA: Rich Internet Appliacation) gia tăng mạnh mẽ. RIA là những ứng dụng triển khai trên nền Web, được thi hành trên các trình duyện Web nhưng có tính năng và đặc điểm như các ứng dụng trên nền máy đơn thông thường (Desktop Application). Những ưu điểm của các chương trình RIA là người dùng không cần cài đặt chương trình, việc cập nhật chương trình dễ dàng, nhanh chóng, người dùng có thể sử dụng chương trình từ bất kỳ một máy tính nào có kết nối Internet,vv… RIA sẽ làm mờ ranh giới giữa các ứng dụng trên nền desktop và trực tuyến. Đây được cho là tương lai của các ứng dụng trực tuyến. Để tạo RIA, các nhà phát triển có thể sử dụng những giải pháp sauc: Một là dùng DHTML (gồm HTML, CSS, Javascript) kết hợp với AJAX. Đây là công cụ rất mạnh, tuy nhiên HTML không phải là một công cụ trình diễn, mà là một chuẩn tài liệu. Javascript chưa đủ mạnh, và thiếu chặt chẽ. DHTML thường gặp vấn đề về tương thích với các trình duyệt. Giải pháp thứ hai là sử dụng công nghệ SilverLight của Microsoft, một plug-in hoạt động trên đa nền tảng, đa trình duyệt cho các chuyên gia phát triển ứng dụng. Plug-in này có thể cho phép phát triển các ứng dụng một cách phong phú gồm có media, khả năng tương tác và hoạt ảnh. Silverlight plug-in có thể làm việc trên các trình duyệt Internet Explorer và Firefox trong Windows và Firefox cũng như trình duyệt Safari trên hệ điều hành Mac. Hình 1: Silverlight Vũ Tấn Hưng 8 Nguyễn Thị Minh Toàn
  11. Tìm hiểu ngôn ngữ lập trình trong Adobe Flash - Xây dựng ứng dụng minh họa Nhưng dường như công nghệ này chỉ đang trong giai đoạn phát triển, các tài liệu hỗ trợ kĩ thuật cho công nghệ chưa thật sự đầy đủ, phong phú; công nghệ chưa hỗ trợ hệ điều hành Linux và người sử dụng cần thêm thời gian để đánh giá và lựa chọn. Giải pháp thứ ba là dùng Flash (công nghệ ảnh động vector của Adobe). Trước đây, Flash được phát triển nhằm mục đích phục vụ xây dựng hoạt họa, quảng cáo hay các thành phần trang trí của các trang Web. Sau nhiều thập kỷ thành công, tới nay có tới 97% (theo Adobe Flex 2: Training from the Source) các chương trình duyệt trang Web có cài đặt Flash. Các tập tin Flash, mang phần mở rộng là .swf và có thể hiện thị bởi các chương trình duyệt trang Web hay chương trình Flash Player. Nhưng Flash sinh ra không phải để làm ứng dụng: công cụ lập trình không chuyên nghiệp, giao diện lập trình hạn chế, chi phí để viết ứng dụng rất lớn do thiếu các thành phần giao diện, thư viện hỗ trợ…Để khắc phục những nhược điểm này, Adobe đưa ra công nghệ Flex - một nền tảng công nghệ, công cụ phát triển ứng dụng RIA chuyên nghiệp. Với Flex, lập trình viên có thể kết hợp giữa phương pháp thiết kế kéo - thả và phương pháp viết mã lệnh, giúp xây dựng từng phần của ứng dụng một cách thích hợp. Sản phẩm của Flex có thể được xuất sang thành ứng dụng Desktop (AIR). Hình 2: Flex Flex hiện gồm 2 thành phần chính là MXML (Macromedia XML) và ActionScript 3.0 (xây dựng theo ECMAScript 4). ActionScript 3.0 giống Javascript, dễ học và có thể lập trình hướng đối tượng. Flex có sự hậu thuẫn mạnh mẽ vì phát triển trên nền tảng Flash nổi tiếng và được nhiều người sử dụng. Xây dựng các ứng dụng hướng Flash Player, các nhà phát triển có thể tránh được các không tương thích về trình duyệt và nền tảng. Những người dùng Flash nay chuyển lên Flex không cần phải thay một nền tảng khác. Hiện tại trên thế giới đã có nhiều hệ thống, Website sử dụng công nghệ Flex như trang Web giới thiệu sản phẩm của Sony Ericsson, Yahoo Messenger (phiên bản Vũ Tấn Hưng 9 Nguyễn Thị Minh Toàn
  12. Tìm hiểu ngôn ngữ lập trình trong Adobe Flash - Xây dựng ứng dụng minh họa dành cho Web), www.pikeo.com, một Website chia sẻ hình ảnh và một vài Wesite thông dụng được thể hiện trong hình sau: Hình 3: Những ứng dụng sử dụng công nghệ Flex Với những ưu điểm của các ứng dụng RIA và những đặc tính ưu việt của công nghệ Flex, chúng em đã quyết định thực hiện đề tài: “Tìm hiểu ngôn ngữ lập trình trong Adobe Flash và xây dựng ứng dụng minh họa”. Trong đề tài này chúng em tìm hiểu ngôn ngữ lập trình ActionScript 3.0 và công nghệ Flex; qua đó xây dựng chương trình quản lý album ảnh và tạo slideshow hình ảnh trực tuyến. Vũ Tấn Hưng 10 Nguyễn Thị Minh Toàn
  13. Tìm hiểu ngôn ngữ lập trình trong Adobe Flash - Xây dựng ứng dụng minh họa Chương 2. FLEX 2.1. Giới thiệu Flex là tập hợp các công nghệ cho phép ta nhanh chóng xây dựng ứng dụng để triển khai cho Flash Player, là một môi trường thực thi chuyển giao những giao diện và tương tác của người dùng. Làm đòn bẩy cho Flex là những công nghệ và tiêu chuẩn hoàn thiện như XML, dịch vụ web, HTTP, Flash Player và ActionScript. Flex cho phép ta tạo ra những ứng dụng Internet hoàn thiện, biên soạn ứng dụng nhanh chóng bằng việc tập hợp các thành phần, bao gồm các điều khiển giao diện, các khung thiết kế, mô hình dữ liệu và các thành phần giao tiếp dữ liệu. Hai phiên bản đầu là Flex 1.0 và Flex 1.5 được Macromedia giới thiệu vào năm 2004 với giá thành rất cao. Vào tháng 1 năm 2007, Adobe tạo một bước đột phá về vấn đề bản quyền khi cung cấp SDK (Software Development Kit) của phiên bản Flex 2.0, gồm toàn bộ thư viện các lớp hỗ trợ và bộ biên dịch bằng dòng lệnh miễn phí. Vào tháng 3 năm 2008, Adobe phát hành phiên bản Flex 3.0 hỗ trợ công nghệ Air. Chương 2 này xin được giới thiệu một số kĩ thuật làm việc với Flex 2.0. Hình 4: Flex SDK 2.1.1. Những công nghệ trong ứng dụng Flex 2.1.1.1. Flash Player Flex là một phần của Adobe Flash Platform – một bộ công nghệ với Flash Player là trung tâm. Flash Player chạy tất cả các ứng dụng Flex. Hầu hết các máy tính kết nối Internet đều có cài đặt Flash Player và một số thiết bị di động có tích hợp Flash. Vì vậy Flash Player là một phần mềm có mặt hầu hết mọi nơi. Vũ Tấn Hưng 11 Nguyễn Thị Minh Toàn
  14. Tìm hiểu ngôn ngữ lập trình trong Adobe Flash - Xây dựng ứng dụng minh họa Nội dung Flex 2 được thể hiện trọn vẹn trên Flash Player 9. Nghĩa là người dùng phải chạy từ Flash Player 9 trở lên nếu muốn xem nội dung Flex 2 chính xác. Sử dụng Flex framework ta có thể xây dựng và biên dịch sang định dạng tập tin .swf. Tập tin .swf là định dạng mã nhị phân mà Flash Player có thể đọc. Flash Player 9 giới thiệu máy ảo ActionScript AVM2 (ActionScript Virtual Machine 2). AVM2 hoạt động khác với các phiên bản Flash Player trước. Với AVM2, nội dung .swf được biên dịch và chạy tương tự như cách làm việc của các ứng dụng trong Java và .NET 2.1.1.2. Flex Framework Flex framework đồng nghĩa với một thư viện lớp của Flex và là một tập hợp các lớp ActionScript được sử dụng bởi các ứng dụng Flex. Flex framework được viết hoàn toàn bằng các lớp ActionScript, định nghĩa các điều khiển và quản lý thiết kế để xây dựng một ứng dụng Internet. Hình 5: Flex Framework Flex framework bao gồm các mục sau: Các điều khiển của form: Button, text input, text area, list, radio button, checkbox, combo box, rich text editor, a color selector, a date selector, … Các điều khiển menu: pop-up menu, menu bar Các thành phần truyền thông: Hỗ trợ âm thanh, hình ảnh, video. Các khung thiết kế: Grid, form, box, canvase, … Thành phần dữ liệu và kết buộc dữ liệu Vũ Tấn Hưng 12 Nguyễn Thị Minh Toàn
  15. Tìm hiểu ngôn ngữ lập trình trong Adobe Flash - Xây dựng ứng dụng minh họa Định dạng và chuẩn hóa Quản lý con trỏ Quản lý trạng thái Các hiệu ứng Quản lý kéo thả Ghi chú (Tool tips) Quản lý các kiểu định dạng 2.1.1.3. Flex Builder 2 Hình 6: Flex Builder 2 Flex Builder 2 là một môi trường phát triển ứng dụng (IDE - Integrated Development Environment) dành cho việc xây dựng và tìm lỗi trong ứng dụng Flex. Dựa trên Eclipse IDE, Flex Builder có những công cụ sẵn có để viết mã, sửa lỗi, và xây dựng ứng dụng sử dụng công nghệ Flex như MXML và ActionScript. Flex framework được tích hợp vào Flex Builder. Nhưng không có nghĩa muốn dùng Flex framework thì ta phải dùng Flex Builder. Ta có thể cài đặt miễn phí Flex SDK. Flex SDK gồm bộ biên dịch và Flex framework. Hoặc cũng có thể tích hợp Flex framework với một IDE khác hoặc dùng công cụ soạn thảo để viết MXML và ActionScript sao đó biên dịch nó bằng command line. Flex Builder là một sản phẩm thương mại. Để biết thêm thông tin có thể tham khảo tại http://www.adobe.com/go/flexbuilder 2.1.1.4. Dịch vụ dữ liệu – Data service Data services là một bộ phận quan trọng của hầu hết các ứng dụng Flex. Nó là cách mà ứng dụng Flex có thể tải và gửi dữ liệu từ cơ sở dữ liệu. Flash Player cung cấp Vũ Tấn Hưng 13 Nguyễn Thị Minh Toàn
  16. Tìm hiểu ngôn ngữ lập trình trong Adobe Flash - Xây dựng ứng dụng minh họa dữ liệu văn bản, định dạng truyền tin nhị phân - AMF (binary messaging format) và những kết nối bảo đảm cho dữ liệu truyền từ server đến client trong thời gian thực. Ứng dụng Flex yêu cầu dữ liệu XML từ tài nguyên tĩnh hoặc tài nguyên động như trang PHP 2.1.1.5. Media Servers Ứng dụng Flex sử dụng Flash Player để phát lại các đoạn Flash video hoặc các đoạn nhạc MP3. 2.1.1.6. Các thành phần và thư viện khác cho Flex Như là bộ Flex Charting Components (hỗ trợ lập biểu đồ). 2.1.2. Sử dụng những phần tử của Flex 2.1.2.1. MXML MXML dựa trên nền tảng ngôn ngữ XML để mô tả màn hình thiết kế. Nó tương đối giống HTML. Sử dụng thẻ MXML , ta có thể thêm các thành phần như form, phát lại media. Ngoài ra, MXML còn dùng để mô tả các hiệu ứng, các giao tác, kiểu dữ liệu và sự kết buộc dữ liệu. Flex Builder cho phép ta xây dựng MXML với WYSIWYG. WYSIWYG cho phép ta xây dựng một ứng dụng Flex cơ bản mà không cần viết một dòng mã nào. MXML tạo khung và giao diện một cách nhanh chóng và hiệu quả. MXML được dịch qua rất nhiều bước và bước đầu tiên là chuyển MXML thành lớp ActionScript. 2.1.2.2. ActionScript ActionScript là ngôn ngữ lập trình trong Flash Player và là công cụ chủ yếu trong các ứng dụng Flex. ActionScript có thể làm nhiều việc mà MXML không thể. Mặc dù có thể xây dựng một ứng dựng dụng thuần MXML hoặc thuần ActionScript nhưng thông thường và hợp lý hơn nếu ta xây dựng ứng dụng với cả MXML và ActionScript. MXML đơn giản hóa việc thiết kế giao diện và thực hiện những tác Vũ Tấn Hưng 14 Nguyễn Thị Minh Toàn
  17. Tìm hiểu ngôn ngữ lập trình trong Adobe Flash - Xây dựng ứng dụng minh họa vụ cơ bản. ActionScript thích hợp cho sự tương tác với người dùng, các thao tác dữ liệu phức tạp và các chức năng không có trong thư viện lớp của Flex. 2.1.3. Bảo mật của Flash Player Tính bảo mật của Flash Player là bảo mật về dữ liệu. Các ứng dụng Flex chỉ có thể truy xuất các nguồn dữ liệu trên cùng một domain. Nếu khác domain thì việc truy xuất dữ liệu không được chấp nhận trừ khi được sự cho phép của domain đó thông qua file cross-domain policy. Đây là một file XML trên server tiếp nhận nguồn dữ liệu. Định dạng của cross-domain policy file như sau:
  18. Tìm hiểu ngôn ngữ lập trình trong Adobe Flash - Xây dựng ứng dụng minh họa Flash Player có thể thực hiện RPCs đến nhiều loại dịch vụ dữ liệu. Lớp thư viện Flex cũng có thể gửi yêu cầu đến hầu hết dịch vụ dữ liệu. Hơn nữa, ứng dụng Flex còn có thể gọi đến các phương thức của các lớp trên server bằng cách sử dụng kỹ thuật Flash Remoting. Flash Remoting dùng định dạng truyền tin nhị phân AMF được cung cấp bởi Flash Player. AMF có mọi lợi ích của SOAP, nhưng vì nó là nhị phân nên băng thông được giảm đáng kể. 2.1.5. Sự khác biệt giữa ứng dụng HTML và ứng dụng Flex Web Cả ứng dụng HTML và Flex đều có n tầng. Ít nhất là 3 tầng HTML Flex Tầng dữ liệu Tầng dữ liệu Tầng giao tiếp Tầng giao tiếp Tầng thể hiện Tầng client Tầng dữ liệu gồm cơ sở dữ liệu hoặc tài nguyên. Tầng giao tiếp nhận yêu cầu từ tầng thể hiện hoặc client, truy vấn xuống tầng dữ liệu và trả về dữ liệu được yêu cầu. Tầng thể hiện bao gồm HTML, CSS, JavaScript, JSP, ASP, PHP … Tầng client cho phép client offload quá trình tính toán từ server, ngầm giải phóng tài nguyên mạng và đáp ứng tốt sự tương tác với giao diện người dùng. 2.1.6. Cách làm việc của ứng dụng Flex Nguồn Biên dịch Triển khai ActionScript3 ActionScript + ActionScript Mã nhị phân MXML được phát AVM2 sinh + Tài nguyên Tài nguyên Tài nguyên (PNG, Gif,…) (PNG, Gif,…) Hình 7: Mô hình nguồn – biên dịch – triển khai của ứng dụng Flex Vũ Tấn Hưng 16 Nguyễn Thị Minh Toàn
  19. Tìm hiểu ngôn ngữ lập trình trong Adobe Flash - Xây dựng ứng dụng minh họa 2.2. Làm việc với dữ liệu 2.2.1. Sử dụng mô hình dữ liệu Ta có thể dùng mô hình dữ liệu để chứa dữ liệu nhận từ RPC – Remote Procedure Call, hoặc chứa dữ liệu người dùng nhập vào trước khi gửi nó cho server. 2.2.1.1. Dùng thẻ Thẻ cho phép ta tạo một đối tượng đại diện cho cấu trúc dữ liệu. Trong thẻ này, cấu trúc dữ liệu chỉ được xây dựng bằng những thẻ XML. Ví dụ: example@example.com 123 555-1212 … Thẻ này chỉ có một nút gốc. Do đó khi tham chiếu, ta không cần dùng nút gốc. Ví dụ: Nếu dùng mô hình dữ liệu để chứa dữ liệu tĩnh thì nạp dữ liệu từ file bằng thuộc tính source của thẻ sẽ tốt hơn là định nghĩa một cấu trúc và khởi tạo đối tượng dữ liệu. Ví dụ như khi ta định nghĩa cấu một cấu trúc gồm 50 bang nước Mỹ thì ta nên nạp dữ liệu từ file nếu không tài liệu MXML của ta sẽ rất dài và không hợp lý. Ví dụ: Khi đó, dữ liệu sẽ được nạp vào lúc biên dịch. Tất cả dữ liệu sẽ được biên dịch thành .swf Vũ Tấn Hưng 17 Nguyễn Thị Minh Toàn
  20. Tìm hiểu ngôn ngữ lập trình trong Adobe Flash - Xây dựng ứng dụng minh họa Không giống như nhưng thẻ khác, thẻ không có lớp cùng tên bên ActionScript, mà nó là thể hiện của lớp ObjectProxy. Mục đích chính của lớp này là để kết buộc dữ liệu. 2.2.1.2. Dùng XML Nếu làm việc với dữ liệu định dạng kiểu XML thì ta phải dùng thẻ mô hình cấu trúc dựa trên XML. Ví dụ: … Thẻ XML có một namespace riêng nên Flex Builder thêm xmlns=”” để phân biệt với namespace của những thẻ khác. Cũng giống như thẻ , thẻ này cũng chỉ có một nút gốc nên khi tham chiếu ta bỏ qua nút gốc. Ví dụ: 2.2.1.3. Dùng ActionScript Hai thẻ và chỉ thích hợp với những dữ liệu tĩnh, không thích hợp với dữ liệu phức tạp, dữ liệu động. Ví dụ: Định nghĩa mô hình dữ liệu cho người dùng package com.oreilly.programmingflex.data { public class User { private var _nameFirst:String; private var _nameLast:String; Vũ Tấn Hưng 18 Nguyễn Thị Minh Toàn
nguon tai.lieu . vn