Trao đổi với tôi

http://www.buidao.com

11/28/10

[Symbian] Lập trình với Symbian OS P1

Ra đời với sự hậu thuẫn của những “ông lớn” trong làng điện thoại di động, hệ điều hành Symbian (Symbian OS) đang ngày càng chứng tỏ khả năng của mình. Những chiếc smartphone chạy trên nền Symbian OS ngày càng được ưa chuộng và doanh số của các hãng ở thị phần này liên tiếp tăng mạnh.

* Giới thiệu về hệ điều hành Symbian
- Trong thập kỉ 1980, Symbian OS vốn được biết nhiều trong giới công nghệ với tên gọi EPOC, do hãng Psion thiết kế. Hệ điều hành này ban đầu được viết cho các máy vi tính đời cũ với mục tiêu phát triển để có thể vận hành những dòng máy có kích thước nhỏ, tài nguyên (bộ nhớ, CPU…) có giới hạn. EPOC được sử dụng đầu tiên trên chính các sản phẩm PDA đời đầu của Psion.
- Đến năm 1998, thấy được tiềm năng của hệ điều hành này, Nokia, Ericsson, Motorola, Matsushita quyết định cùng liên kết với Psion thành lập một liên danh chuyên sản xuất hệ điều hành cho PDA và điện thoại di động. EPOC lúc này đã ở phiên bản 5.
- Năm 1999, EPOC xuất hiện trong một vài model điện thoại di động của Ericsson và được chính thức đổi tên thành Symbian OS, theo tên của liên danh 5 hãng, khi phiên bản 6 ra đời. Tuy nhiên, vào thời điểm đó hệ điều hành này không được xem là một “hệ điều hành thân thiện” vì không hỗ trợ người dùng cài đặt thêm các phần mềm ứng dụng.
- Đến năm 2001, chiếc điện thoại Nokia đầu tiên chạy hệ điều hành Symbian OS ra đời. Người dùng có thể cài đặt những phần mềm ứng dụng vào máy cũng như gỡ bõ khá dễ dàng. Cùng giao diện dễ sử dụng, Symbian OS bắt đầu chứng tỏ sức mạnh của việc được hậu thuẫn tốt.
- Hiện nay, Symbian là hệ điều hành chiếm thị phần lớn nhất trong các smartphone trên thị trường, bao gồm những dòng Series 40, 60, 80, 90, UIQ và các dòng máy của nhà cung cấp mạng DoCoMo tại Nhật Bản.

* Mở mà đóng
- Symbian không phải là một hệ điều hành mở như Linux trên máy vi tính hay MobiLinux trên điện thoại di động. Tuy nhiên, mã nguồn của Symbian OS được sẵn sàng cung cấp cho bất cứ nhà sản xuất điện thoại di động hay thiết kế chương trình ứng dụng nào có nhu cầu. Bên cạnh đó, người dùng cũng không thể can thiệp để sửa chữa mã nguồn của máy. Chỉ duy nhất các ứng dụng viết bằng ngôn ngữ lập trình Java mới có thể can thiệp một phần nào đó vào các bước vận hành của hệ điều hành này.

* Các phiên bản Symbian
- Series 40: Những điện thoại chạy Symbian OS series 40 có màn hình vuông, độ phân giải 128x128, thường chỉ cài được nhạc, hình phim và các ứng dụng Java. Một số dòng máy tiêu biểu: Nokia 6100, 6610, 6230, 7250…
- Series 60: Có màn hình lớn hơn, độ phân giải 176x208, có thể cài đặt được nhiều chương trình, ứng dụng như từ điển, game dung lượng lớn,… Rất nhiều model điện thoại Nokia chạy bằng phiên bản này như: 3650, 7650, 6600, 7610, N-Gage, các máy thuộc N series…
- Series 80: Số điện thoại chạy trên Symbian series 80 hiện chưa nhiều, gồm: 9210, 9290, 9300, 9300i, 9500. Hệ điều hành này hỗ trợ bàn phím QWERTY trên điện thoại di động, nhiều ứng dụng văn phòng, truy cập internet bằng trình duyệt Opera…
- Serie 90: Hiện chỉ có 2 model Nokia sử dụng phiên bản hệ điều hành này là 77007710. Các điện thoại này không sử dụng bàn phím điện thoại truyền thống mà người dùng tương tác với máy qua màn hình cảm ứng hoặc chương trình nhận diện chữ viết tay (7710). Các phần mềm hỗ trợ Series 60 và UIQ hoàn toàn không tương thích với phiên bản hệ điều hành này trong khi một số chương trình ít dành cho Series 80 có thể hoạt động trên 7700 và 7710.
- UIQ: Đây là phiên bản dành cho những điện thoại di động có màn hình cảm ứng và người dùng có thể tương tác với máy qua cả bàn phím thật lẫn bàn phím ảo. Motorola có các model A920, A1000, M1000… sử dụng UIQ. Có thể nói Sony Ericsson hiện là hãng có nhiều mẫu điện thoại chạy trên nền UIQ nhất với các máy dòng P (800, 900, 910, 990, P1i), M600, W950.

* Những thử thách
Tuy đang chiếm lĩnh thị phần lớn nhất trong những chiếc điện thoại di động thông minh nhưng Symbian OS đang gặp khá nhiều thách thức:
- Các virus máy tính tác oai tác quái thế nào thì cũng đang lăm le đe dọa điện thoại di động như thế. Dĩ nhiên, “miếng mồi” ngon nhất không gì khác hơn là thị phần lớn nhất. Từ sau sự xuất hiện của Cabir – virus đầu tiên tấn công vào những điện thoại chạy Symbian OS , người ta nhận ra rằng việc bảo vệ cho những chiếc điện thoại vốn không được quan tâm đúng mức. Tuy nhiên, thực tế là những virus này lây lan đều do sự chủ quan của người dùng. Nếu không bấm phím kích hoạt nhận file lạ từ máy khác, Cabir hoàn toàn không lây nhiễm vào điện thoại được. Vì thế, trong khi những “nhà phát minh” tiếp tục viết ra những virus mới, vẫn còn đủ thời gian để những nhà sản xuất tạo thêm thành trì bảo vệ người dùng.
- Có lẽ thử thách lớn nhất hiện nay của Symbian là những hệ điều hành nguồn mở khác. Tuy cùng góp sức tạo dựng nên Symbian nhưng Motorola gần đây lại chuyển hướng sang dùng MobiLinux cho những chiếc điện thoại mới xuất xưởng của mình. Theo nhiều người, bên cạnh tính mở hơn, MobiLinux còn giúp những nhà lập trình dễ dàng sửa đổi và tùy biến hơn Symbian khá nhiều.
- Theo một số dự báo, Symbian có thể sẽ thất thế khi các hệ điều hành khác cho điện thoại di động ngày xuất hiện càng nhiều, với nhiều hứa hẹn ứng dụng cực kì hấp dẫn. Nổi trội trong số này là Android của Google. Tuy nhiên, tương lai này có lẽ vẫn còn khá xa khi những chiếc điện thoại chạy trên nền Android vẫn chưa chính thức xuất hiện còn Nokia đã thâu tóm toàn bộ Symbian và nhiều ông lớn của ngành điện thoại di động vẫn tiếp tục đều đặn cho ra đời những chiếc smartphone chạy trên nền hệ điều hành này.

Ở phần trên, tôi nói qua về Symbian OS. Trước khi nói về lập trình Symbian, tôi xin đưa ra một vài tip nhỏ giúp bạn dễ dàng hơn trong việc học lập trình trên Symbian:
- Bạn đọc các sách về lập trình Symbian. Nếu bạn mới học, hãy bắt đầu với cuốn "Wiley S60 Programming - A Tutorial Guide (Apr - 2007).pdf” – Bạn có thể download ở một trong các địa chỉ sau:Tại Rapidshare hoặc Tại Megaupload.
- Bạn xem các example của SDK. Có rất nhiều ví dụ hữu ích trong SDK về nhiều vấn đề khác nhau.
- Bạn có thể tra cứu trong Help của SDK
- Bạn có thể tìm và tham khảo ở trang NewLC, một forum khá nổi tiếng dành cho lập trình Symbian. Bạn sẽ tìm thấy rất nhiều thứ mình cần ở trang này.
- …


Sau đây tôi xin giới thiệu loạt bài để giúp các bạn có thể lập trình được với hệ điều hành này. Ở đây chủ yếu tôi nói tới phiên bản Series 60 dành cho rất nhiều máy điện thoại hiện nay.
- Quản lý các tệp thực thi trên Symbian
- Cấu trúc Project trên Symbian OS
- Hướng dẫn cài đặt và lập trình Symbian S60 3rd với Visual Studio 2005
- Hướng dẫn cài đặt và lập trình Symbian S60 1st & 2nd với Visual Studio 6.0
- Cấu trúc chương trình trên Symbian S60
- Quy ước và cách đặt tên khi lập trình với Symbian OS
- Xử lý ngoại lệ trên Symbian (Leave-Symbian exeption)
- An toàn hơn với Cleanup stack
- Khởi tạo hai pha (Two-phase construction) trong Symbian
- Sử dụng chuỗi (Descriptor) trên Symbian
- Một số thao tác vẽ cơ bản với đồ họa trong Symbian
- Sử dụng font và vẽ chữ trên Symbian
- Xử lý phím nhấn
- Sự kiện cho Menu
- Một số lỗi liên quan đến lập trình và cài đặt trên Symbian
- Một số mã lỗi trong Symbian OS
...