Công ty của tôi có nhiều kinh nghiệm trong việc phát triển .NET và một trong những sản phẩm của chúng tôi trong hệ thống ERP. Gần đây, một khách hàng hỏi chúng tôi rằng chúng tôi có thể cung cấp giao diện máy tính bảng cho hệ thống đó không, tức là phần mềm cho phép khách hàng xem thông tin sản phẩm và tạo đơn hàng trên máy tính bảng.
Tất nhiên, chúng tôi không vui mừng về ý tưởng đầu tư nhiều thời gian và tiền bạc vào việc học Objective-C, mua máy trạm phát triển Mac, trả phí cho Apple, v.v. chỉ cho một dự án này (chúng tôi có thể bán ứng dụng này cho một vài khách hàng bổ sung sau đó, nhưng thị trường rất nhỏ, vì nó sẽ chỉ hữu ích cho các khách hàng hiện tại của hệ thống ERP của chúng tôi).
Vậy chúng ta nên làm gì? Theo như tôi có thể thấy, chúng ta có các tùy chọn sau:
Viết một " ứng dụng Windows cũ đơn giản " (WPF) và chạy nó trên máy tính bảng Windows 7, chẳng hạn như Samsung Slate hoặc Acer Iconia.
Hạn chế: Các thiết bị nặng, đắt tiền với thời gian chạy ngắn (so với máy tính bảng "thật").
Đợi máy tính bảng chạy Windows 8 ARM và viết ứng dụng Metro (WinRT).
Hạn chế: Chờ ít nhất một năm; Không rõ liệu Windows 8 ARM có hỗ trợ cài đặt các ứng dụng B2B tùy chỉnh mà không cần thông qua cửa hàng ứng dụng hay không.
Sử dụng mono cho Android và viết ứng dụng .NET cho Android.
Hạn chế: Một thư viện UI khác (khác với WPF và Silverlight); một số nhà cung cấp không cho phép tải ứng dụng.
Cho đến nay, các tùy chọn 1 và 3 dường như là thực tế nhất. Tôi đã bỏ lỡ bất kỳ nhược điểm rõ ràng hoặc lợi thế? Có lựa chọn nào khác mà tôi chưa xem xét? Bạn đã từng ở trong một tình huống tương tự và (thành công) chọn một tùy chọn cụ thể?