Đồ án Thành phần Client của hệ thống Mobile Portal: Ứng dụng Petto được phát triển trên nền tảng iPhone

Nhận thức được nhu cầu tìm kiếm thông tin trên di động, hệ thống cổng thông tin di động Mobile Portal đã ra đời và bắt đầu đi vào hoạt động. Mobile Portal sử dụng công nghệ tìm kiếm của máy tìm kiếm Socbay (trang chủ www.socbay.com) được phát triển bởi Công ty Cổ phần dịch vụ công nghệ thông tin Naiscorp với khả năng đem lại cho người dùng những thông tin đã được sàng lọc, lựa chọn và chuẩn hóa riêng cho thiết bị di động. Trọng tâm của đồ án xin trình bày thành phần client của hệ thống Mobile Portal - Ứng dụng Petto được phát triển trên nền tảng iPhone. Các phần chính của báo cáo: Phần 1: Nền tảng công nghệ Chương 1: Tìm hiểu về môi trường lập trình trên di động, tổng quan về lập trình iPhone. Giới thiệu ngôn ngữ, công cụ lập trình. Tìm hiểu lập trình mạng, mutithread, core audio. Chương 2: Đưa ra mô hình tổng quan về cổng thông tin tìm kiếm trực tuyến. Từ đó đưa ra ứng dụng mà đồ án xây dựng là “xây dựng ứng dụng tìm kiếm đa phương tiện trên điện thoại iPhone” – thành phần đóng vai trò client trong mô hình. Phần 2: Xây dựng chương trình Chương 3: Giới thiệu các loại ứng dụng trên iPhone, phát biểu bài toán cần giải quyết. Chương 4: Xây dựng các dịch vụ tìm kiếm đa phương tiện. Phân tích, thiết kế ứng dụng.

doc111 trang | Chia sẻ: tuandn | Lượt xem: 2354 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Đồ án Thành phần Client của hệ thống Mobile Portal: Ứng dụng Petto được phát triển trên nền tảng iPhone, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 1. Thông tin về sinh viên Họ và tên sinh viên: .An Thị Hồng Điện thoại liên lạc: 0984393387 Email: rosenangiyala@gmail.com Lớp: CNPM Hệ đào tạo: Đại học chính quy Đồ án tốt nghiệp được thực hiện tại: Đại học Bách Khoa Hà Nội Thời gian làm ĐATN: Từ ngày 28 /02/2010 đến 28/05 /2010 2. Mục đích nội dung của ĐATN - Tìm hiểu môi trường lập trình trên điện thoại iPhone - Tìm hiểu mô hình cổng thông tin tìm kiếm trực tuyến trên điện thoại di động - Xây dựng ứng dụng hỗ trợ người dùng trên điện thoại (thành phần client) 3. Các nhiệm vụ cụ thể của ĐATN Từ các mục đích nội dung, các nhiệm vụ cụ thể của đồ án sẽ thực hiện - Tìm hiểu về lập trình trên điện thoại di động - Tìm hiểu về iPhone - Tìm hiểu công cụ, ngôn ngữ, nền tảng lập trình cho điện thoại iPhone - Tìm hiểu lập trình mạng, multithreading, media cho iPhone - Tìm hiểu mô hình hệ thống Mobile Portal - Xây dựng ứng dụng tìm kiếm đa phương tiện trên điện thoại iPhone 4. Lời cam đoan của sinh viên: Tôi - An Thị Hồng - cam kết ĐATN là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của Thạc sĩ Lương Mạnh Bá. Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất kỳ công trình nào khác. Hà Nội, ngày 24 tháng 05 năm 2010 Tác giả ĐATN An Thị Hồng 5. Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép bảo vệ: Hà Nội, ngày tháng năm Giáo viên hướng dẫn Ths Lương Mạnh Bá TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP Nhận thức được nhu cầu tìm kiếm thông tin trên di động, hệ thống cổng thông tin di động Mobile Portal đã ra đời và bắt đầu đi vào hoạt động. Mobile Portal sử dụng công nghệ tìm kiếm của máy tìm kiếm Socbay (trang chủ www.socbay.com) được phát triển bởi Công ty Cổ phần dịch vụ công nghệ thông tin Naiscorp với khả năng đem lại cho người dùng những thông tin đã được sàng lọc, lựa chọn và chuẩn hóa riêng cho thiết bị di động. Trọng tâm của đồ án xin trình bày thành phần client của hệ thống Mobile Portal - Ứng dụng Petto được phát triển trên nền tảng iPhone. Các phần chính của báo cáo: Phần 1: Nền tảng công nghệ Chương 1: Tìm hiểu về môi trường lập trình trên di động, tổng quan về lập trình iPhone. Giới thiệu ngôn ngữ, công cụ lập trình. Tìm hiểu lập trình mạng, mutithread, core audio. Chương 2: Đưa ra mô hình tổng quan về cổng thông tin tìm kiếm trực tuyến. Từ đó đưa ra ứng dụng mà đồ án xây dựng là “xây dựng ứng dụng tìm kiếm đa phương tiện trên điện thoại iPhone” – thành phần đóng vai trò client trong mô hình. Phần 2: Xây dựng chương trình Chương 3: Giới thiệu các loại ứng dụng trên iPhone, phát biểu bài toán cần giải quyết. Chương 4: Xây dựng các dịch vụ tìm kiếm đa phương tiện. Phân tích, thiết kế ứng dụng. mỤC lỤC DANH MỤC HÌNH Hình 1.1 Các nền tảng lập trình di động 11 Hình 1.2 Apple Dev Center 21 Hình 1.3 Xcode - New Project 23 Hình 1.4 Xcode editor 25 Hình 1.5 Interface Builder - New File 27 Hình 1.6. Cửa sổ tài liệu Interface Builder 29 Hình 1.7 Cửa sổ thư viện Interface Builder 30 Hình 1.8 Cửa sổ thuộc tính Interface Builder 31 Hình 1.9 Bảng kết nối của Interface Builder 32 Hình 1.10 Cấu trúc file giao diện của một lớp 39 Hình 1.11 Cấu trúc file thực thi của một lớp 40 Hình 1.12 CFNetwork và các lớp phần mềm khác trong Mac OS X 45 Hình 1.13 Cấu trúc CFStream API 47 Hình 1.14 Cấu trúc và nguồn của runloop 68 Hình 1.15 Kiến trúc Core Audio của Mac OS X 72 Hình 1.16. Kiến trúc Core Audio của hệ điều hành iPhone 73 Hình 1.17 Ba lớp API của Core Audio 74 Hình 1.18 Cấu trúc Core Audio của hệ điều hành iPhone 75 Hình 2.1 Mô hình hệ thống Mobile Portal 79 Hình 2.2 Mô hình đơn giản của Socbay Search Engine 80 Hình 4.1 Usercase tổng thể của hệ thống 87 Hình 4.2 MP3 Streaming 97 Hình 4.3 Giao diện chính của ứng dụng 98 Hình 4.4 Giao diện chính của dịch vụ Tin Tức 99 Hình 4.5 Giao diện chính của dịch vụ Truyện 99 Hình 4.6 Giao diện chính của Địa Điểm 100 Hình 4.7 Giao diện chính của dịch vụ Cẩm Nang Tư Vấn 100 Hình 4.8 Giao diện chính của dịch vụ Hình Ảnh 101 Hình 4.9 Giao diện chính của dịch vụ Nhạc MP3 101 Hình 4.10 Biểu đồ lớp của tầng ứng dụng Cocoa Touch 102 Hình 4.11 Biểu đồ lớp của lớp ứng dụng 103 Hình 4.12 Biểu đồ lớp của dịch vụ Tin Tức 104 Hình 4.13 Biểu đồ lớp của dịch vụ Nhạc MP3 106 Hình 4.14 Biểu đồ lớp của tầng Mobile Interface 107 DANH MỤC BẢNG Bảng 1.1 Các template ứng dụng thường dùng 24 Bảng 1.2 Các template của Interface Builder 29 Bảng 1.3 Các phương thức quản lý bộ nhớ của Objective-C 41 Bảng 1.4 Property attribute 42 Bảng 1.5 Các công nghệ có thể sử dụng thay thế thread trong ứng dụng 57 Bảng 1.7 Giao tiếp giữa các thread 61 Bảng 1.8 Chi phí sử dụng thread 62 Bảng 1.9 Cấu hình thread 65 Bảng 1.10 Các chế độ run loop 69 Bảng 2.1 Các dịch vụ 82 Bảng 4.2 Đặc tả usercase dịch vụ Tin Tức 89 Bảng 4.3 Đặc tả usercase dịch vụ Truyện 90 Bảng 4.4 Đặc tả usercase dịch vụ Địa điểm 91 Bảng 4.5 Đặc tả usercase dịch vụ Cẩm nang tư vấn 92 Bảng 4.6 Đặc tả usercase dịch vụ Hình Ảnh 93 Bảng 4.7 Đặc tả usercase dịch vụ Nhạc MP3 94 LỜI NÓI ĐẦU Đồ án tốt nghiệp này đã được hoàn thành sau một thời tìm hiểu, xây dựng tại Công ty Cổ phần dịch vụ công nghệ thông tin Naiscorp. Ngoài sự cố gắng và nỗ lực của bản thân, còn có sự giúp đỡ của nhiều người để em có thể hoàn thành được đồ án như ngày nay. Trước hết, em xin được gửi lời cảm ơn sâu sắc đến ThS Lương Mạnh Bá - Bộ môn Công nghệ phần mềm, Viện Công nghệ Thông tin và Truyền thông, trường Đại học Bách Khoa Hà Nội đã hết lòng giúp đỡ, định hướng và chỉ dạy tận tình giúp em vượt qua những khó khăn trong quá trình em làm đồ án tốt nghiệp. Em xin được gửi lời cảm ơn tới các thầy cô giáo trong trường Đại học Bách Khoa Hà Nội nói chung và các thầy cô trong viện Công nghệ Thông tin và Truyền thông, Bộ môn Công nghệ phần mềm nói riêng đã tận tình giảng dạy, truyền đạt cho em những kiến thức, những kinh nghiệm quý báu trong suốt 5 năm học tập và rèn luyện tại trường Đại học Bách Khoa Hà Nội. Ngoài ra, em cũng xin gửi lời cảm ơn đến anh Nguyễn Xuân Tài, anh Mai Đình Thắng và các anh chị em công ty Naiscorp đã tạo điều kiện để em có thể hoàn thành sản phẩm và cũng là đồ án của mình. An Thị Hồng PHẦN I: NỀN TẢNG CÔNG NGHỆ CHƯƠNG 1: TÌM HIỂU MÔI TRƯỜNG LẬP TRÌNH TRÊN IPHONE 1.1 Tổng quan về lập trình trên di động 1.1.1 Thị trường lập trình trên di động Số lượng thiết bị di động ngày càng tăng ở Việt Nam, nhiều người đã coi điện thọai di động như một vật không thể thiếu trong cuộc sống hằng ngày. Cùng với sự phát triển mạnh mẽ của công nghệ thông tin trong thời đại mới, người sử dụng di động bắt đầu hướng tới những nhu cầu cao cấp hơn. Không chỉ nghe-gọi, nhắn tin mà giờ đây họ còn muốn sở hữu một chiếc điện thoại có khả năng truy cập mạng và thực hiện mọi ứng dụng như một chiếc máy tính bỏ túi. Để có thể thực hiện được các tính năng cao cấp như đọc báo, tiểu thuyết, tra từ điển, bản đồ và nhất là thế giới giải trí với ca nhạc, xem phim, chơi game… thì ngoài nền tảng phần cứng do nhà sản xuất điện thoại cung cấp còn cân phải có các phần mềm chuyên dụng cài đặt trên di động để thực hiện các chức năng trên. Tuy nhiên, thị trường di động là một thị trường rất sôi động với đủ loại thiết bị di động của các nhà sản xuất có kiểu dáng, tính năng, tốc độ xử lý, bộ nhớ trong, màn hình giao diện…. khác nhau. Và cũng vì có nhiều nhà sản xuất mà lại không có một chuẩn công nghệ (về mặt phần mềm) nào được áp dụng chung cho tất cả các máy điện thoại di động nên công việc lập trình cho điện thoại di động đúng là một bài toán khó cho các lập trình viên. Việc lựa chọn một nền tảng phát triển cho điện thoại di động cũng là một vấn đề nan giải. Hiện nay có thể kể tên các nền tảng di động phổ biến: iPhone, Window Mobile, Android, J2ME, Symbian. Nhìn vào hình dưới đây có thể thấy được phần nào sự phong phú của thị trường này. Hình 1.1 Các nền tảng lập trình di động 1.1.2. Những khó khăn khi lập trình cho di động So với chiếc máy tính để bàn hay laptop, chỉ với bộ nhớ trong vài GB, RAM cao nhất là 256 MB, bộ nhớ của chiếc điện thoại di động quả là quá nhỏ. Hơn nữa, một phần bộ nhớ này lại đã được sử dụng để chạy hệ điều hành, xử lý đồ họa… Do đó khi viết ứng dụng, lập trình viên phải chú ý nhiều đến bộ nhớ. Có thể nói rằng lập trình cho di động giống như việc đẩy các lập trình viên về với thời kỳ đầu của lập trình cho máy tính cá nhân, phải tiết kiệm từng KB bộ nhớ một nếu không muốn xảy ra tình trạng tràn bộ nhớ. Người sử dụng ứng dụng trên di động đòi hỏi tốc độ phải nhanh, ví như mở một game, người ta không thể ngồi chờ cả chục phút để game load xong. Do đó, quá trình đóng, mở ứng dụng phải diễn ra nhanh chóng. Hơn nữa, dù có thông minh đến mấy, nhiều chức năng đến mấy, chiếc điện thoại di động cũng phải là “chiếc điện thoại” trước đã. Vậy khi đang chạy ứng dụng, bất thình lình có một tin nhắn hay một cuộc gọi đến thì sao? Ứng dụng phải được đóng tạm thời một cách nhanh chóng, lưu trữ lại trạng thái trước khi đóng, cho người dùng nhận tin nhắn, cuộc gọi (nếu người dùng lựa chọn nhận), sau đó lại cho phép người dùng trở lại ứng dụng với trạng thái trước đó. Sức hấp dẫn của Internet là không thể chối cãi. Người dùng muốn truy cập internet mọi lúc mọi nơi, người lập trình thì muốn tạo ra các ứng dụng có khả năng khai thác nguồn tài nguyên vô tận của internet. Tuy nhiên không phải thiết bị di động nào cũng có khả năng truy nhập internet. Vì vậy, cần phải hiểu về các dịch vụ phần cứng của thiết bị đó hỗ trợ. Tư tưởng “code một chỗ, dùng ở mọi nơi” khó mà áp dụng được cho lĩnh vực lập trình di động. Ví dụ như với các dòng máy cho phép cài đặt các ứng dụng viết bằng ngôn ngữ Java. Về lý thuyết, chương trình Java được xây dựng xong có thể đem đi mọi nơi có máy ảo Java để chạy. Nhưng các thiết bị di động của các hãng khác nhau lại có bộ nhớ cùng với tốc độ xử lý khác nhau, phải hiểu rõ sự khác nhau này thì mới có thể điều chỉnh cho ứng dụng có thể chạy trên các dòng máy khác nhau. Hơn nữa, màn hình hiển thị của các thiết bị di động cũng “trăm hoa đua nở” với kích thước, độ phân giải màn hình… không theo một chuẩn nhất định nên chắc chắc sẽ không ra kết quả như mong muốn khi cài đặt cùng một ứng dụng lên các thiết bị khác nhau mà không có sự sửa đổi hiển thị đầu ra cho phù hợp. Mặt khác, các thiết bị di động cũng tiếp nhận tương tác của người dùng rất khác nhau: qua bàn phím, chuột, bút, cảm ứng… nên lập trình viên cũng cần phải lưu ý đến điều này. Màn hình của các thiết bị di động rất bé so với máy tính để bàn hay máy tính xách tay nên các ứng dụng cũng không thể có giao diện quá phức tạp bởi như thế sẽ làm rối mắt người sử dụng. 1.2 Tổng quan về lập trình iPhone 1.2.1 Giới thiệu về iPhone 1. Cuộc cách mạng về công nghệ trên điện thoại di động mang tên iPhone Tháng 6 năm 2007, chiếc iPhone thế hệ đầu tiên ra mắt và mở đầu cho cơn sốt iPhone trên toàn thế giới. Không hổ danh là công ty luôn đi đầu về công nghệ, Apple đã tạo ra thay đổi mang tính cách mạng với chiếc điện thoại di động khi giới thiệu một giao diện người dùng hoàn toàn mới trên nền tảng màn hình cảm ứng đa điểm và phần mềm mới có tính tiên phong. Hệ điều hành của iPhone giúp người dùng có thể điều khiển chiếc điện thoại của họ chỉ bằng một thao tác nhấn, gảy hoặc chụm tay. Đến năm 2008, Apple lại cho ra mắt iPhone 3G cùng với App Store - một “cửa hàng” các ứng dụng cho iPhone. iPhone có màn hình cảm ứng đa điểm, bàn phím ảo hoàn toàn thay thế bàn phím thật và có một gia tốc kế bên trong. Màn hình cảm ứng đa điểm tận dụng xúc giác tự nhiên của khách hàng mà không thông qua bút stylus. Các thao tác trên máy được thực hiện dễ dàng chỉ bằng cách đặt ngón tay lên màn hình nhấn, kéo, thả… iPhone loại bỏ hoàn toàn sự xuất hiện của bàn phím thật, thay vào đó là bàn phím thông minh hoạt động trên cơ sở phần mềm. Bàn phím ảo này cho phép người dùng chuyển đổi qua lại giữa 40 dạng bàn phím quốc tế và có phần mềm nhận dạng ký tự cho phép người dùng viết các ký tự Trung Hoa bằng ngón tay rồi nhấn chọn kết quả thích hợp. iPhone phản ứng với các chuyển động bằng một gia tốc kế lắp bên trong. Khi người dùng quay iPhone từ phương đứng sang phương ngang, gia tốc kế phát hiện ra chuyển động này và thay đổi màn hình, cho xem toàn bộ chiều rộng của trang web, hình ảnh, tin nhắn, hoặc bản ghi chú gia tốc kế cũng được sử dụng để kiểm soát việc chơi game hay đảo ngược hành động trước đó (như lệnh “Shake to Undo”). Với iPhone 3GS, người dùng có thể tự điều chỉnh và sắp xếp các biểu tượng trên màn hình Chủ (Home screen), kể cả các biểu tượng trên Thanh Công Cụ theo ý muốn của mình. iPhone phân tích các cú gõ để đề nghị các từ mà người dùng gõ vào, và học được những từ người dùng thường hay gõ nhất – kể cả tên riêng và thông tin trong sổ liên lạc (contact list) của họ. Nhấn và giữ nút Home để mở chế độ Voice Control (Điều Khiển Bằng Khẩu Lệnh), rồi đọc vào tên hay số điện thoại của một người liên lạc để gọi điện. iPhone cũng mở nhạc và tạo ra các danh mục mở (playlist), bằng cách chỉ việc dùng khẩu lệnh. Đây là một trong các tính năng mới được thêm vào sau này của iPhone iPhone 3GS được chuẩn hóa bằng các tính năng tiếp cận sử dụng (accessibility) hỗ trợ cho người khuyết tật.  iPhone cung cấp các dữ liệu vị trí để tìm đến các ứng dụng cài đặt sẵn và Cửa Hàng Ứng Dụng (App Store). Khi chụp ảnh bằng camera iPhone có thể gắn thẻ địa lý (geotag), ghi các thông tin về địa điểm GPS (Hệ Thống Định Vị Toàn Cầu) cho nó. Nhờ vậy, khi người dùng chia sẻ hình ảnh trên mạng, bạn bè và gia đình có thể biết được địa điểm của hình chụp. 2. Giới hạn của iPhone Bộ nhớ và tốc độ xử lý: Mặc dù Apple không tiết lộ thông tin về tốc độ sử lý và bộ nhớ nhưng hacker Craig Hockenberry trên trang furborg.org đã đánh giá iPhone có tốc độ xử lý tầm 600 MHz và 128MB bộ nhớ vật lý. Bộ nhớ và tốc độ xử lý này quá giới hạn so với các máy tính cá nhân hiện nay hiện nay. Màn hình nhỏ: màn hình của iPhone có độ phân giải 480 x 320 pixel. Không có nhiều không gian để làm việc cùng. Kích thước màn hình nhỏ cũng dẫn tới việc chỉ có duy nhất 1 cửa sổ có thể hiển thị tại một thời điểm. Bảo mật: chỉ có thể đọc và ghi vào thư mục là một phần của gói ứng dụng. Vùng có thể truy nhập trong một ứng dụng được gọi là sandbox. Không thể đọc file được tạo bởi ứng dụng khác. Không thể ghi vào bất cứ nơi nào ngoài sandbox của ứng dụng. Ứng dụng có vòng đời ngắn: các ứng dụng iPhone không thể thường trú trong bộ nhớ. Các ứng dụng thường trú trong bộ nhớ là ứng dụng có thể chạy ẩn trong khi người dùng chạy ứng dụng khác. iPhone chỉ cho phép 1 chương trình chạy tại một thời điểm đo đó cần lưu ý tới các trường hợp như đang chạy ứng dụng thì có tin nhắn, điện thoại… Tuy nhiên, hạn chế này sẽ sớm được khắc phục khi Apple đang dự kiến cho ra mắt iPhone 4.0 với hệ điều hành đa nhiệm trong năm nay. Tự quản lý bộ nhớ do iPhone không có bộ gom rác (garbage collection). 1.2.2 Các nền tảng phát triển di động hứa hẹn trong năm 2010 Năm 2010 sẽ đánh dấu một năm đầy sôi động với sự ra mắt của iPhone 4.0, các nền tảng Symbian, Windows Phone và BlackBerry mới. Smartphone ngày một chiếm thị phần lớn trên tổng số điện thoại di động bán ra, song song, cuộc chiến giữa các nền tảng ngày một nóng bỏng hơn. Palm OS, Windows Mobile, Symbian đã có một quá khứ thành công, tuy nhiên việc chậm thay đổi, đã làm cho iPhone, Android thay đổi cục diện khi liên tục gia tăng thị phần trong hai năm gần đây. Chưa bao giờ, làng di động lại có nhiều hệ điều hành cho smartphone như hiện tại. Nokia sau khi sở hữu Symbian, tiếp tục phát triển Maemo và gần đây là kết hợp với Intel để xây dựng thành MeeGo. Palm sau khi về tay HP, đang có kế hoạch nâng cấp webOS lên phiên bản mới, ngoài ra Android cũng sắp được Google nâng cấp bản 2.2. Dưới đây là 5 nền tảng di động đã được các nhà sản xuất thông báo chính thức, và sẽ có mặt trên thị trường trong thời gian tới. iPhone 4.0 Có thể nói iPhone 4.0 là nền tảng được mong chờ nhất hiện nay, cùng với hệ điều hành này, một phiên bản di động thế hệ thứ tư của Apple gần như chắc chắn sẽ có mặt vào tháng 6 tới. So với các phiên bản trước, iPhone OS 4.0 đã có thể chạy đa nhiệm, thay đổi được coi là đáng kể nhất. Sự thành công của iPhone không chỉ bởi nền tảng có giao diện đơn giản, những chiếc di động thiết kế đẹp, mà Apple đã xây dựng một "hệ sinh thái" với vô số ứng dụng trong App Store. Nền tảng mới sẽ xuất hiện mùa hè năm nay và cho phép cài đặt lên các mẫu iPhone từ 3G, 3GS và iPod Touch. Symbian^3 Symbian^3 là bản nâng cấp từ S60 phiên bản thứ 5, và được xem là nền tảng tạm thời, trước khi Nokia trình làng Symbian^4. Nokia N8 là thiết bị đầu tiên sử dụng hệ điều hành này. So với S60, Symbian^3 không có nhiều thay đổi từ Menu, cách bố trí màn hình Home, các biểu tượng. Tuy nhiên, sự khác biệt là hệ điều hành này có thêm 3 màn hình Home, cho phép trượt và chuyển đổi cùng công nghệ cảm ứng đa điểm. N8 sẽ ra mắt vào quý III, model mạnh mẽ, các tính năng giải trí đa phương tiện, chụp ảnh 12 Megapixel. Windows Phone 7 Windows Mobile là một trong những nền tảng khai sinh smartphone với nhiều ứng dụng. Tuy nhiên, sự xuất hiện của iPhone đã mang tới cho người dùng những suy nghĩ mới, theo đó điện thoại thông minh cần đơn giản, dễ dùng, trong khi Windows Mobile ngược lại, khá rắc rối. Sau phiên bản Windows Mobile 6.5 ra mắt năm ngoái, tháng 2 vừa rồi, Microsoft giới thiệu Windows Phone 7, hệ điều hành sẽ có mặt trên di động vào cuối năm nay. Gần như, Windows Phone không có sự kế thừa nào so với nền tảng trước của hãng về giao diện, tất cả đều được làm mới, từ các hub chứa ứng dụng đến các bố trí icon. Hiện tại, HTC, LG, Acer... và nhiều thương hiệu khác cam kết sẽ ra mắt di động chạy Windows Phone 7 vào cuối năm. Microsoft cũng đang tích cực phát triển gian ứng dụng Market Place và công cụ cho các lập trình viên xây dựng phần mềm. BlackBerry 6 BlackBery OS 6 được RIM công bố tại sự kiện Wireless Enterprise Symposium (diễn ra từ 27 đến 29/4 tại Mỹ). RIM chưa đưa ra chi tiết về hệ điều hành mới, ngoài một đoạn video quảng cáo khá ấn tượng. Theo những thông tin đầu tiên, nhiều cải tiến từ giao diện, màn hình Home mới, menu pop-up, khả năng chuyển dịch, trình duyệt web mới dựa trên nền tảng WebKit tương thích HTML5. Ngoài ra, BlackBerry OS 6 hỗ trợ khả năng điều khiển trên màn hình cảm ứng đa điểm tốt hơn. Samsung Bada Samsung từng sản xuất di động chạy Windows Mobile, Android... Bada là nền tảng của hãng phát triển riêng, với giao diện có nhiều đường nét của TouchWiz. Bada dành cho màn hình cảm ứng, nhấn mạnh vào các yếu tố như giải trí, kết nối. Samsung Wave S8500 là model đầu tiên chạy nền tảng này, máy sẽ bán ra trong quý này. Hiện tại, Bada đang được Samsung hoàn thiện, hãng cũng đã giới thiệu công cụ lập trình, các nhà phát triển có thể viết các ứng dụng về giao diện Flash, điều khiển web, điều khiển chuyển động, nhận dạng khuôn mặt, thời tiết... và các ứng dụng nhập vai, tương tác. 1.2.3. Môi trường lập trình iPhone Hệ điều hành: MacOS hoặc OS X 10.5.* trở lên. Môi trường: iPhone SDK. iPhone SDK có thể download miễn phí từ trang IDE: Xcode Ngôn ngữ lập trình: Ojective – C 1.2.4. iPhone SDK: 1. Phân tích một ứng dụng: Hệ điều hành OS X của Apple là một platform xây dựng dựa trên nền tảng UNIX nên kế thừa các quy ước cơ bản của UNIX về file. Nhìn vào bất kỳ ứng dụng Mac nào cũng sẽ thấy rằng phần mở rộng .app không phải biểu diễn một file mà là một thư mục. Đây là thư mục của ứng dụng. Trong đó là một cấu trúc có tổ chức chứa các tài nguyên mà ứng dụng cần cũng như các thuộc tính mang thông tin về ứng dụng và file thực thi nhị phân của ứng dụng. iPhone SDK build file thực thi nhị phân cho chương trình và gửi các file nó cần vào thư mục chương trình này. Do vậy, để xây dựng một ứng dụng hoàn thiện, các file hỗ trợ cần được cài đặt phải được chỉ ra cho Xcode IDE. Ứng dụng chỉ được thực thi bên trong “sandbox” của iPhone. Thuật ngữ “sandbox” dùng để chỉ vùng giới hạn ngăn không có các ứng dụng truy xuất vào các tài nguyên không được cho phép. Một trong các chức năng của nó là ngăn chặn bất kỳ hoạt động đọc hay ghi nào ở bên ngoài