2013-12-12 11 views
8

Vì vậy, tôi khá mới để phát triển ứng dụng dành cho thiết bị di động. Hiện đang tạo tài liệu dự án cho một ứng dụng dành cho thiết bị di động và tôi muốn một số đầu vào về giải pháp cơ sở dữ liệu nào tôi nên sử dụng.Thực hành lựa chọn cơ sở dữ liệu tốt nhất cho ứng dụng di động

1) ứng dụng di động -> trực tuyến duy nhất -> nói chuyện với một cơ sở dữ liệu

2) Tôi có một vài máy chủ web và chạy (mysql chủ yếu), có thể sử dụng không?

Vì vậy, câu hỏi của tôi rất đơn giản :) Tôi nên sử dụng giải pháp nào cho cơ sở dữ liệu ứng dụng dành cho thiết bị di động của mình. - Thiết lập cơ sở dữ liệu mysql trên máy chủ? - Sử dụng một số loại giải pháp dựa trên đám mây? - Bất kỳ xem xét API nào?

  • cần phải là "phương pháp hay nhất" cho cả android và ios.

Bất kỳ và tất cả đề xuất đều được đánh giá cao! Cảm ơn tất cả! Bạn thật tuyệt vời!

Trả lời

2

Tom - Nếu bạn cần dữ liệu khả dụng ngoại tuyến mà không cần kết nối internet thì bạn nên đặt cơ sở dữ liệu SQLITE là một phần của android/ios.

Nếu ứng dụng của bạn lưu dữ liệu trên máy chủ mà lần lượt được sử dụng bởi cổng hoặc thiết bị khác (chia sẻ), hãy xem xét lưu trữ dữ liệu qua web/server và cơ sở dữ liệu mysql.

Vì vậy, thực sự nó phụ thuộc vào các yêu cầu sử dụng và chia sẻ. Lưu trữ dữ liệu tại địa phương có nhiều lợi thế vì nó là nhanh hơn, không cần mạng, dữ liệu luôn sẵn có, và không sử dụng mạng cũng làm tăng tuổi thọ pin ..

+0

Cảm ơn bạn đã nhập. Yêu cầu là những người chia sẻ "dữ liệu" với nhau. Sẽ không đi vào spesifics, nhưng cơ bản, người 1 ứng dụng mở, và xem người 2, 3, 4 dữ liệu. Vì vậy, đăng ký và chia sẻ dữ liệu. Bất kỳ đầu vào về thực hành tốt nhất để lưu/truy xuất dữ liệu từ mysql? Xây dựng một API? – Tom

+2

Trong trường hợp đó - bạn cũng cần cấu phần máy chủ. Máy chủ nên hiển thị dịch vụ web. Webservice có thể là loại REST/JSON phù hợp nhất với điện thoại. Để cung cấp trải nghiệm người dùng tốt nhất, bạn nên đồng bộ hóa dữ liệu với máy chủ và lưu trữ cục bộ trong SQLITE (trong iOS bạn sử dụng dữ liệu cốt lõi để sử dụng sqlite). – Jailbroken

+0

Vì vậy, mysql (innodb) là một giải pháp tốt? Không cần bất kỳ giải pháp cơ sở dữ liệu "spesific" nào cho các ứng dụng di động? Đề xuất về cách tiếp cận nào cho REST ở phía máy chủ? bất cứ điều gì ra khỏi đó để có một cái nhìn tại? – Tom

4

Tom,

Các giải pháp phổ biến nhất cho vấn đề này là:

1) Ứng dụng của bạn nhận dữ liệu qua dịch vụ web trong máy chủ của bạn. Bạn có thể sử dụng giải pháp Xà phòng dựa trên giao tiếp XML hoặc truy cập REST đơn giản (yêu cầu http đơn giản trong phương thức GET hoặc POST) và sử dụng lựa chọn của riêng bạn: XML hoặc JSON. Hôm nay, có rất nhiều giải pháp dựa trên REST GET/POST với giao tiếp tệp JSON.

2) Sau đó, nếu bạn muốn ứng dụng của mình có thể chuyển sang chế độ ngoại tuyến hoặc chỉ phản ứng nhanh hơn, bạn có thể lưu trữ dữ liệu đã tải cũ bởi webservice trong cơ sở dữ liệu cục bộ. Đối với điều này, trong Android, bạn có thể sử dụng truy cập trực tiếp vào cơ sở dữ liệu sqlite, và trong iOs, bạn có thể sử dụng api CoreData.

Hy vọng nó sẽ giúp bạn.

Fabecc.

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