2011-02-04 31 views
11

Với các bản cập nhật gần đây cho Sencha Touch, nó trông giống như một ứng dụng gốc cho iPhone và thậm chí cả iPad. Vẫn còn nhiều sự khác biệt và tài liệu hướng dẫn là một chút thiếu tại thời điểm này.Tôi có nên viết ứng dụng của mình bằng Sencha Touch hoặc Native không?

Câu hỏi của tôi là, tôi đã hoàn toàn có khả năng tạo ứng dụng gốc trong Mục tiêu C, tôi có nên chuyển sang Sencha Touch và PhoneGap hoặc bắt đầu tích hợp các công cụ đó không?

Ưu và khuyết điểm là gì?

EDIT:

Cảm ơn các điểm sâu sắc. Một trong những đối tác của tôi viết lên ý kiến ​​của họ cuối tuần qua với một số ý kiến ​​cho rằng chưa được đề cập ở đây: Web vs Native: How Should You Write Your App?

+0

Tại sao tôi nhận được thông báo về điều này? Có lẽ ai đó là một người chết tiệt thực sự ... –

Trả lời

13

Ưu điểm:

  • Dễ cảng đến các nền tảng khác.
  • Bạn có thể phân phối bên ngoài App Store nếu ứng dụng không yêu cầu bất kỳ API gốc nào.

Nhược điểm:

  • cuộn vẫn không cảm thấy hoàn toàn đúng với bất kỳ khung hình cảm ứng dựa trên web.
  • Chậm hơn (hoạt ảnh CSS tăng tốc phần cứng giúp, nhưng nó gần như không linh hoạt như Hoạt ảnh chính).
  • Thiếu quyền truy cập đầy đủ vào phần cứng và tích hợp hệ điều hành gốc (PhoneGap cung cấp một số, nhưng không phải mọi thứ), chẳng hạn như:
    • Thông báo đẩy.
    • Thông báo địa phương.
    • Cập nhật vị trí nền (bao gồm cả giám sát vị trí quan trọng).
  • Điều này là gây tranh cãi, nhưng theo quan điểm của tôi, Cocoa Touch dễ phát triển hơn JavaScript + Sencha/XUI/v.v.
3
  • Ưu điểm: Không
  • Nhược điểm: Nó sẽ không bao giờ được như mẹ đẻ là một ứng dụng bản địa . Và bạn phụ thuộc vào API không phải của bạn, ví dụ: tất cả các ứng dụng của bạn sẽ vô ích sau khi chúng dừng duy trì API của chúng.

Tuy nhiên, nếu bạn chưa có kinh nghiệm và chỉ cần tạo một ứng dụng cho một sự kiện ngắn (khuyến mãi phim sắp tới, v.v.), điều này sẽ hoàn hảo vì nó sẽ giúp bạn tiết kiệm thời gian. Nhưng tốt, nếu bạn muốn một ứng dụng có vòng đời dài hơn, hãy đi theo kiểu gốc.

+2

Chắc chắn, khả năng chạy ứng dụng iPhone của bạn trên một thiết bị Android không phải là một chuyên nghiệp ... –

+0

@ckuetbach: Không, không phải của nó. Cả hai hệ điều hành đều có một triết lý khác nhau. Nó giống như nói pro Qt sẽ là khả năng để có các chương trình Windows chạy trên máy Mac. Chắc chắn họ làm, nhưng muốn nôn không phải là một cảm giác tốt. – JustSid

+0

@ckuetbach: Brechreiz wäre das passende Wort, là một trong số đó có thể được sử dụng. – JustSid

5

câu hỏi dẫn đến câu trả lời của riêng bạn:

Bạn có cần thực hiện liệu của một ứng dụng ARM mẹ đẻ? Hay bạn cần một API chỉ có sẵn cho Objective C? (Ví dụ: để tổng hợp âm thanh trong thời gian thực, v.v.) Bạn có muốn sử dụng các API mới nhất của Apple mà không cần chờ một số công cụ hoặc nhà cung cấp thư viện không?

Bạn có nhớ mã nguồn javascript của mình ở dạng không nhìn thấy được không được mã hóa bên trong tệp .ipa của mọi khách hàng không?

Hoặc bạn có muốn dễ dàng chuyển một nền tảng ứng dụng đơn giản hơn không?

3

Hãy quên chi tiết so sánh các khung này với ứng dụng gốc, bản địa sẽ luôn giành chiến thắng. Nếu ứng dụng của bạn cần chạy trên nền tảng "nhiều" thì bạn nên sử dụng PhoneGap và khung javascript. Những khuôn khổ này sẽ mất một thời gian để trưởng thành, vì vậy bạn sẽ phải tìm hiểu xem bạn có thể nhận được bằng những gì họ cung cấp ngay bây giờ không. PhoneGap cũng là nguồn mở, vì vậy nếu có thứ gì đó bản địa mà bạn muốn trưng ra, hãy đóng góp cho dự án.

Các vấn đề liên quan