Trong bài này chúng ta tìm hiểu 3 công nghệ cross-platform: Corona, PhoneGap (nay là Apache Cordova), và Titanium. Điểm chung: viết code một lần, chạy trên nhiều nền tảng (iOS, Android, Desktop).
Corona SDK
- Loại: Free, open-source SDK (Corona Labs, 2009).
- Ngôn ngữ: Lua (dễ học, nhẹ).
- Điểm mạnh: 2D game development, graphics (OpenGL), hiệu năng cao, API phong phú cho game (physics, particles, sprite sheets).
- Hỗ trợ: iOS, Android, Windows, macOS, tvOS, HTML5.
- Phù hợp: Game 2D, app đơn giản, prototype nhanh.
PhoneGap / Apache Cordova
- Loại: Free, open-source (Adobe, sau đó quyên góp cho Apache Foundation).
- Ngôn ngữ: HTML5, CSS3, JavaScript (Web technologies).
- Điểm mạnh: Dùng kỹ năng web dev, truy cập native API qua plugin (camera, GPS, contacts...), cộng đồng lớn.
- Hỗ trợ: iOS, Android, Windows Phone, Ubuntu, Firefox OS, v.v.
- Phù hợp: App nội dung, enterprise app, team có background web.
- Cài đặt: Cần Node.js, cài qua npm:
npm install -g phonegap(hoặccordova).
Appcelerator Titanium
- Loại: Free, open-source SDK (Appcelerator, nay Axway).
- Ngôn ngữ: JavaScript (Alloy framework - MVC).
- Điểm mạnh: Compile JS thành native code (không chạy trong WebView như Cordova), hiệu năng gần native, >90% code reuse, >5000 API.
- Hỗ trợ: iOS, Android, Windows, HTML5.
- Phù hợp: App cần hiệu năng cao, UI native, team biết JS.
Bảng so sánh tóm tắt
| Tiêu chí | Corona | PhoneGap/Cordova | Titanium |
|---|---|---|---|
| Ngôn ngữ | Lua | HTML/JS/CSS | JavaScript |
| Rendering | OpenGL (Canvas) | WebView | Native UI |
| Hiệu năng Game 2D | Rất tốt | Trung bình | Tốt |
| Truy cập Native API | Plugin/Plugin | Plugin | Built-in modules |
| Độ khó học | Thấp (Lua đơn giản) | Thấp (Web dev) | Trung bình |
| Cộng đồng | Nhỏ | Rất lớn | Vừa |
Kết luận: Tất cả 3 đều tốt cho cross-platform. Chọn Corona cho game 2D, PhoneGap cho app web-based/team web, Titanium cho app cần native performance/UI.