• Thứ Năm, 01/04/2010 17:26 (GMT+7)

    Hướng ứng dụng trên smartphone

    Xu hướng sử dụng các loại ngôn ngữ kịch bản, lưu trữ đám mây và nguồn mở đang là mảnh đất màu mỡ dành cho các nhà phát triển phần mềm để tạo ra nhiều ứng dụng trên điện thoại thông minh (smartphone).

    Thực tế, những xu hướng nói trên không mới, nhưng quan trọng là quy mô phát triển của nó theo chiều hướng lớn hay nhỏ mà thôi. Bài viết sẽ đề cập đến một số hướng ứng dụng trên smartphone có khả năng phát triển trong những năm sắp tới.

    Điện thoại thông minh

    Sau một thời gian dài máy tính để bàn (desktop) chiếm ưu thế, thì giờ đây nó đã nhường lại ngôi vị quán quân cho các thiết bị di động. Nguyên nhân của sự chuyển dịch có thể do các thiết bị di động như smartphone, máy tính xách tay (laptop), netbook (máy tính sổ tay), smartbook (máy sổ tay thông minh) có tính di động, nhỏ gọn hơn và giá thành xấp xỉ với desktop. Một điều quan trọng nữa, các ứng dụng thuờng thấy trên desktop cũng dần xuất hiện trên smartphone, mặc dù cấu hình của smartphone có thể chưa sánh bằng desktop. Thậm chí ngay cả dân viết blog quen sử dụng các ngón tay cái gõ “lọc cọc” ở các trang Twitter, Facebook… nay cũng chuyển sang dùng trên smartphone hay smartbook. Song song đó, các nhà phát triển đã chuyển hướng phát triển sang các máy tính bỏ túi với kích thước nhỏ, chạy trên HĐH Android của Google, WebOS của Palm, Symbian của Nokia.

    Đặc biệt, sự nổi lên nhanh chóng của smartphone với các tính năng, các ứng dụng tiếp tục là lực hấp dẫn đối với đa số người tiêu dùng. Đơn cử là sự ra mắt của smartphone iPhone. Đây có thể được coi là cuộc trình làng thành công nhất của họ tính đến thời điểm này.

    Trên thực tế, HĐH Android được viết bằng Java và OS X (HĐH của iPhone) dựa trên Objective-C. Một ứng dụng thường được các nhà phát triển ưa thích, đó là thư viện mã nguồn mở WebKit (http://webkit.org). Trong đó, HĐH OS X và Android đều sử dụng trực tiếp thư viện này. Mới đây Google quyết định tập trung thời gian phát triển các ứng dụng dành cho smartphone chạy Android dùng HĐH Google Chrome.

    Ứng dụng web trên smartphone

    Chẳng có gì đáng ngạc nhiên khi bạn cài một ứng dụng nào đó vào máy tính, nhưng trong những năm gần đây và sắp tới, mọi người có thể truy cập các ứng dụng web ngay trên smartphone - hiện được xem là phương tiện có nhiều ưu thế hơn bao giờ hết.

    Ứng dụng web cho phép các chương trình liên kết mọi người đến một cơ sở dữ liệu tập trung được lưu trên Internet. Nghĩa là cho phép bạn xử lý văn bản ngay trên web mà không cần phải lưu dữ liệu trên đĩa cứng nữa.

    Dù khuynh hướng này vẫn chưa phổ biến so với việc lưu trữ trên máy tính, nhưng Google đã rất tự tin khi giới thiệu HĐH Chrome (xây dựng trên Linux) thông qua trình duyệt Chrome. Sản phẩm này sẽ chính thức có mặt vào giữa năm 2010. Tuy nhiên, bạn phải là một người trung thành với trình duyệt Chrome, vì để sử dụng được HĐH này chỉ có cách duy nhất là vào trình duyệt Chrome.

    Khi một ứng dụng nào đó ra đời, các nhà phát triển cũng cần sự trợ giúp từ các công cụ phát triển phần mềm dù đó có thể là nguồn đóng hay mở. Dưới đây là một vài dự báo về khả năng “tiến xa” của các công cụ, có thể hỗ trợ tốt cho smartphone.

    Nguồn mở

    Từ các smartphone mới nhất cho đến các mạng xã hội đang quá phổ biến, không ít thì nhiều đều có sử dụng nguồn mở. Điều này cho thấy mức độ “phủ sóng” của phần mềm nguồn mở. Và việc Oracle kết hợp với Sun cũng được các nhà phát triển ngầm hiểu Oracle muốn đạt được lợi ích từ MySQL và Java. Thậm chí các công ty chuyên phát triển nguồn đóng cũng phải cạnh tranh bằng cách cho phép chia sẻ nguồn tài nguyên và mời gọi các nhà phát triển đóng góp vào các phiên bản ứng dụng.

    Sự xuất hiện của phần mềm nguồn mở cũng làm thay đổi đáng kể mô hình phát triển phần mềm nói chung, khuyến khích nhà phát triển chia sẻ và tiếp cận với mã nguồn nhiều hơn. Hiện tại đã có nhiều công ty phát triển mã nguồn mở. Mặc dù có những thành công nhất định nhưng thường các công ty nguồn mở lại khó có thể thu được lợi nhuận. Tuy nhiên, các công ty nguồn mở vẫn có thể tạo ra lợi nhuận nếu họ có thể cung cấp mã nguồn cho cộng đồng và xem đó như một công cụ bán hàng, ai mua thì phải trả tiền hoặc người dùng có thể trả phí nếu như phiên bản đó sử dụng được và chạy tốt.

    Các ngôn ngữ kịch bản

    Khi Google tung ra dịch vụ lưu trữ trên máy chủ Google App – cho phép người dùng, doanh nghiệp, tổ chức sử dụng các dịch vụ như e-mail, ghi chú trên tài liệu, tán gẫu (Google Talk)… dường như đang “lấn lướt” hơn các ứng dụng WordPress hoặc Dupal, hỗ trợ ngôn ngữ Python, PHP.

    Bên cạnh đó, xu hướng hiện nay cũng thiên về công cụ phát triển trên web, cụ thể là ngôn ngữ như JRuby, Jython giúp phát triển các ứng dụng dễ dàng. Bên cạnh đó, ngôn ngữ Ruby on Rails tiếp tục được hoàn thiện hơn. Ngôn ngữ động chạy trên JVM (Java Virtual Machine - hoạt động như một máy tính ảo, cũng có bộ lệnh, cấu trúc dữ liệu, bộ nhớ…), cũng được các lập trình viên tin dùng.

    Cơ sở dữ liệu SQL

    Mỗi lần nhắc đến cơ sở dữ liệu, nhà phát triển không thể không nhắc đến SQL, nhưng SQL sẽ không còn độc quyền khi mà cụm từ “NoSQL” (tạm dịch phi SQL) đã xuất hiện. Đây là một khái niệm mới trong cơ sở dữ liệu, NoSQL được xem là hệ thống quản lý cơ sở dữ liệu hướng theo tài liệu (document-oriented database management system), với các giải pháp điển hình như MongoDB, Cassandra, và CouchDB để truy xuất dữ liệu. Một trong những điểm khác biệt giữa NoSQL so với SQL là không có hỗ trợ tính năng liên kết (join) giữa các bảng. Đây cũng là mô hình mới so với cơ sở dữ liệu theo hướng quan hệ truyền thống, nên thích hợp dùng cho các loại ứng dụng như wikis, blog. Tham khảo 10 công nghệ có ảnh hưởng nhất (ID:A0912_106).

    HTML và AJAX

    Không cần phải tìm hiểu về con trỏ (pointer), cấu trúc dữ liệu… ngôn ngữ lập trình AJAX có thể tương tác bằng cách kết hợp với HTML hay DOM (Document Object Model) - là một sân chơi mang đậm chất sáng tạo dành cho các nhà phát triển.

    Cũng phải nhắc đến, jQuery là thư viện JavaScript (JavaScript Framework), hỗ trợ việc xử lý HTML, các sự kiện trong trang HTML, tạo các hiệu ứng đẹp, giúp xử lý AJAX nhanh và ngắn gọn hơn cho ứng dụng web. Bên cạnh đó thư viện như Dojo, YUI và GWT (Google Web Toolkit) để xây dựng các ứng dụng trong môi trường AJAX.

    Và phương pháp luận trong công nghệ phát triển phần mềm Agile cũng đang được các nhà phát triển lập trình quan tâm, vì nếu hiểu về phương pháp này có thể dễ dàng tham gia phát triển các dự án lớn.

    Phương Nga

    ID: A1002_84