« Home « Kết quả tìm kiếm

Nghiên cứu lập trình phản ứng với ngôn ngữ ELM


Tóm tắt Xem thử

- NGHIÊN CỨU LẬP TRÌNH PHẢN ỨNG VỚI NGÔN NGỮ ELM.
- Tôi xin chân thành cảm ơn các thầy cô giáo khoa Công nghệ Thông tin, trƣờng Đại học Công nghệ, Đại học Quốc gia Hà Nội, những ngƣời đã tận tình truyền đạt các kiến thức, quan tâm, động viên trong suốt thời gian tôi học tập và nghiên cứu tại Trƣờng..
- Tôi xin cam đoan bản luận văn “Nghiên cứu lập trình phản ứng với ngôn ngữ Elm” là công trình nghiên cứu của tôi dƣới sự hƣớng dẫn khoa học của PGS.TS..
- Mục đích nghiên cứu.
- Đối tƣợng và phạm vi nghiên cứu.
- Kết cấu của luận văn.
- 10 CHƢƠNG 1-GIỚI THIỆU VỀ LẬP TRÌNH PHẢN ỨNGError! Bookmark not defined..
- 1.1 Giới thiệu lập trình phản ứng.
- 1.2 Lập trình phản ứng là luồng dữ liệu.
- 1.3 Đặc điểm của lập trình phản ứng.
- 1.4 Lập trình hàm phản ứng.
- CHƢƠNG 2 – LẬP TRÌNH PHẢN ỨNG VỚI NGÔN NGỮ ELM.
- 2.1 Khái quát về ngôn ngữ lập trình hàm.
- 2.1.2 Tính khai báo của ngôn ngữ hàm.
- 2.1.3 Một số khái niệm cơ bản trong ngôn ngữ hàmError! Bookmark not defined..
- 2.2 Cơ bản về ngôn ngữ Elm.
- 2.2.3 Các tín hiệu tƣơng tác trong Elm.
- 2.3 Các ƣu điểm của ngôn ngữ Elm.
- 2.4 Các thao tác với tín hiệu trong Elm.
- 2.5 Lập trình tƣơng tác.
- 2.7 Kiến trúc Elm trong lập trình trò chơi.
- CHƢƠNG 3 – XÂY DỰNG ỨNG DỤNG TRÒ CHƠI HOCKEY.
- 3.1 Mô tả trò chơi.
- 3.2 Phân tích trò chơi.
- 3.3 Xây dựng code chƣơng trình với ngôn ngữ ElmError! Bookmark not defined..
- 3.3.1 Xây dựng giao diện.
- 3.3.2 Xây dựng mô hình dữ liệu.
- 3.3.3 Xây dựng tín hiệu đầu vào.
- 3.3.4 Cập nhật dữ liệu chƣơng trình.
- 3.4.1 Ƣu điểm của lập trình phản ứng.
- 3.4.2 Một số khó khăn của lập trình phản ứngError! Bookmark not defined..
- 3.4.3 Ƣu điểm của ngôn ngữ Elm.
- 3.4.4 Nhƣợc điểm của ngôn ngữ Elm.
- Hình 1.1: Sự truyển đổi giá trị liên tục của dòng theo tín hiệu chuột.
- Hình 1.2: Sơ đồ các đặc điểm của lập trình phản ứngError! Bookmark not defined..
- Hình 2.1: Hiển thị văn bản trong Elm.
- Hình 2.2: Các Forms đồ họa đƣợc tạo.
- Hình 2.3: Tạo và kết hợp các hình dạng thành một thành phần.
- Hình 2.4: Bảng các tín hiệu đầu vào trong ElmError! Bookmark not defined..
- Hình 2.5: Theo dõi sự chuyển động của trỏ chuột [5]Error! Bookmark not defined..
- Hình 2.6: Di chuyển đối tƣợng là hình tròn bằng các phím mũi tên.
- Hình 2.7: Mô tả quá trình hoạt động của tín hiệuError! Bookmark not defined..
- Hình 2.8: Elm’s Time Traveling Debugger.
- Hình 3.1: Ca sử ngƣời chơi.
- Hình 3.2: Ca sử dụng sân bóng.
- Hình 3.3: Mô hình các kiểu dữ liệu trong trò chơiError! Bookmark not defined..
- Hình 3.4: Giao diện chính của trò chơi.
- Hình 3.5: Văn bản hƣớng dẫn trò chơi.
- Hình 3.6: Giao diện trò chơi khi kết thúc.
- Hình 3.7: Giao diện Degbug chƣơng trình.
- Ngày nay Internet kết nối hàng tỷ ngƣời trên khắp thế giới và ứng dụng phổ biến nhƣ các mạng xã hội, công cụ tìm kiếm, các dịch vụ blog cá nhân… đƣợc sử dụng bởi hàng triệu hoặc thậm chí hàng tỷ ngƣời sử dụng trên máy tính.
- Với lợi ích của các ứng dụng web hiện đại và các ứng dụng trên di động đều có tính tƣơng tác cao với vô số các sự kiện liên quan đến tƣơng tác của ngƣời dùng.
- Các ứng dụng ngày càng phát triển và phong phú cho phép tƣơng tác cao với ngƣời sử dụng ở thời gian thực.
- Để làm đƣợc điều đó chúng ta cần phải nghiên cứu và thiết kế những ứng dụng phổ biến để thực hiện những kỹ thuật này..
- Điều đầu tiên là khi chúng ta cung cấp cho một máy tính một nhiệm vụ chúng ta muốn nó phản ứng lại nhanh nhất có thể.
- Nói một cách khác các máy tính phải phản ứng với ngƣời sử dụng của nó và đáp ứng đƣợc các yêu cầu một cách chính xác.
- Hoặc khi chúng ta chơi một trò chơi thì các tƣơng tác của chúng ta với các nhân vật trong trò chơi phải đƣợc phản ứng theo ý của chúng ta trong một thời gian nhất định để có thể đạt mục đích.
- Để có thể làm đƣợc những điều này thì lập trình phản ứng là một câu trả lời..
- Lập trình phản ứng là sự kết hợp của hệ thống đồng thời và hệ thống hƣớng sự kiện và cho phép xử lý luồng dữ liệu không đồng bộ nhƣng vẫn duy trì phong cách của những ngôn ngữ lập trình thông thƣờng..
- Lập trình phản ứng làm tăng mức độ trừu tƣợng mã giúp ngƣời lập trình tập trung vào các sự kiện có liên quan tới nhau giải quyết những logic phức tạp.
- trong lập trình phản ứng thƣờng ngắn gọn, rõ dàng và dễ duy trì hơn.
- Tƣ duy trong lập trình phản ứng thƣờng thiên về việc truyển đổi từ các dữ liệu đầu vào tƣơng tác với dữ liệu trong chƣơng trình để hiện thị dữ liệu đầu ra..
- Ở trên thế giới hiện nay lập trình phản ứng là một xu hƣớng mới nổi đƣợc dựa trên luồng chảy dữ liệu (dataflow) và giá trị của chúng sẽ đƣợc thay đổi một cách tự động nếu nhƣ có sự tác động từ môi trƣờng bên ngoài vào.
- Với sự phổ biến của hƣớng sự kiện, khả năng mở rộng và các kiến trúc tƣơng tác trên cả máy chủ và máy trạm các khái niệm về "reactiveness".
- Nó ứng dụng rất cao để viết các ứng dụng web hoặc các hệ thống liên quan tới cơ sở dữ liệu lớn và cũng là phƣơng pháp tạo ra nhiều hệ thống đồng thời có tính hiệu quả cao..
- Mục đích nghiên cứu trong luận văn nhằm tìm hiểu các đặc điểm của lập trình phản ứng, cụ thể ở đây là nghiên cứu về lập trình phản ứng trong ngôn ngữ Elm, một ngôn ngữ khá mới trên thế giới và đang trong quá trình phát triển.
- Từ đó nắm vững đƣợc các đặc điểm của lập trình phản ứng cũng nhƣ cách vận dụng chúng trong ngôn ngữ Elm để tạo ra các ứng dụng mang tích tƣơng tác với ngƣời sử dụng có tính hiệu quả cao.
- Mục đích thứ 2 là hiểu rõ đƣợc các cú pháp cũng nhƣ phƣơng thức hoạt động động của ngôn ngữ Elm từ đó áp dụng vào để xây dựng lên một chƣơng trình cụ thể..
- Đối tượng và phạm vi nghiên cứu.
- Đầu tiên ta sẽ nghiên cứu các đặc điểm và phƣơng thức hoạt động của lập trình phản ứng xem chúng có điểm tƣơng đồng gì với luồng dữ liệu.
- Tiếp theo tôi tập chung nghiên cứu sâu về ngôn ngữ Elm để làm nổi bật đƣợc các đặc điểm của lập trình phản ứng.
- Ngôn ngữ Elm là một ngôn ngữ mới đƣợc phát triển nó hoạt động dựa trên các thao tác với các giá trị đầu vào cái đƣợc gọi là tín hiệu (Signal)..
- lý để thay đổi các giá trị luồng dữ liệu trong chƣơng trình.
- Các thƣ viện trong Elm cũng khá là đơn giản và đầy đủ cho phép tối ƣu hóa mã lập trình và tạo giao diện tƣơng tác ngƣời dùng một cách dễ dàng.
- Elm là hoàn toàn hƣớng sự kiện và việc tính toán lại giá trị chỉ trừ khi một sự kiện xảy ra và nó hỗ trợ việc xử lý các luồng dữ liệu không đồng bộ.
- Cuối cùng tôi sẽ xây đựng một trò chơi bằng ngôn ngữ Elm để thể hiện rõ đƣợc đặc điểm của lập trình phản ứng trong đó..
- Chƣơng 1 sẽ nghiên cứu về lập trình phản ứng, nội dung trong chƣơng sẽ nêu ra những đặc điểm về lập trình phản ứng, đặc điểm về luồng dữ liệu và xem chúng có những đặc điểm gì tƣơng đồng hay không.
- Chƣơng 2 tôi sẽ nghiên cứu đôi nét về lập trình hàm từ đó đi sâu về các cú pháp cơ bản của ngôn ngữ lập trình hàm Elm và cách tạo các giao diện đồ họa và tìm hiểu các tín hiệu đầu vào tƣơng tác với chƣơng trình.
- Sau đó tôi sẽ đi sâu vào cơ chế vận hành của ngôn ngữ Elm với các tín hiệu để thấy rõ đƣợc điểm mạnh của của lập trình hàm phản ứng.
- Cũng trong chƣơng này ta nghiên cứu về trình gỡ lỗi và lập trình tƣơng tác trong Elm.
- Chƣơng 3 sẽ áp dụng ngôn ngữ Elm vào để xây dựng một trò chơi nhỏ thể hiện rõ các đặc điểm của lập trình hàm phản ứng.
- Qua ứng dụng trò chơi cũng nhƣ các nghiên cứu thì luận văn tôi sẽ đƣa ra một số nhận xét, đánh giá, thảo luận về ƣu nhƣợc điểm của lập trình phản ứng trong chƣơng này.
- Nhờ những đánh giá này mà các nhà nghiên cứu và ngƣời lập trình có thể tiếp tục phát triển ngôn ngữ Elm dùng nó làm công cụ để tạo ra các ứng dụng mang tính tƣơng tác cao với ngƣời sử dụng..
- Phan Huy Khánh (2004), Lập trình hàm, Nhà xuất bản khoa học và kỹ thuật, Hà Nội.