2012-05-01 28 views
5

Tôi đã phát triển một ứng dụng PHP. Tôi muốn sử dụng phonegap.com hoặc một cách tiếp cận tương tự để phát triển các ứng dụng gốc dựa trên cùng một cơ sở dữ liệu MySQL. Nói cách khác, kết nối các ứng dụng di động với ứng dụng web.Tạo ứng dụng di động gốc - dựa trên ứng dụng web PHP

Nó cần phải làm một hoặc hai điều khác nhau. Thứ nhất, sử dụng các tính năng GPS nguyên bản để xác định nơi người dùng đang - tôi đoán điều này chỉ có thể được thực hiện thông qua HTML5?

Thứ hai, gửi thông báo đẩy bất cứ khi nào người dùng ứng dụng web nhận được thông báo.

Tất cả thông tin đã có sẵn, trên cơ sở dữ liệu MySQL và mọi thứ ngoài hai tính năng ở trên hoạt động đúng.

Tôi hiện đang có API được phát triển cho mọi thứ trên ứng dụng web - làm cho API trở thành trung tâm. Trong đầu của tôi, sẽ dễ dàng kết nối hai phiên bản thông qua API.

Ví dụ: người dùng đăng ký trên ứng dụng web. Sau đó, ông được cung cấp cho ứng dụng iphone để tải xuống.

Có thể khiến anh ấy đăng nhập bằng cùng thông qua iPhone không. Ở phía bên kia, có thể cho anh ta tìm kiếm cơ sở dữ liệu, qua iphone, và "thêm một người bạn mới" - tạo kết nối của hai người dùng trong bảng bạn bè - trong đó, người bạn cũng là một người bạn trên ứng dụng web?

Tôi đã đọc rất nhiều trên tất cả các tùy chọn có sẵn và vẫn còn rất bối rối! Bất kỳ trợ giúp sẽ rất hữu ích.

Trả lời

3

Tôi không phải là nhà phát triển điện thoại, tuy nhiên tôi vừa hoàn thành việc xây dựng ứng dụng Android gốc kết nối với trang web và có thể đăng nhập, cũng có thể thực hiện trên trang web. Nếu tích hợp theo dõi GPS đang sử dụng các tính năng gốc hơn so với khả năng sử dụng HTML5 (mặc dù tôi không chắc chắn cách nó hoạt động).

Về cơ bản để kết nối với cơ sở dữ liệu/máy chủ từ xa, bạn cần thực hiện yêu cầu HTTP từ điện thoại đến tập lệnh phía máy chủ.

Vì vậy, chỉ để kết luận: Để đạt được kết quả bạn đang tìm kiếm công việc dòng chảy có thể trông như thế này:

1.Mobile dùng điền một mẫu đơn ->

2.App thực hiện một yêu cầu HTTP đến một kịch bản phía máy chủ ->

3.script làm công việc khó khăn (ví dụ như kết nối với cơ sở dữ liệu) ->

4.script làm cho kết quả là ->

5.Ứng dụng di động hiển thị kết quả.

Tôi hy vọng điều này sẽ hữu ích.

+0

Cảm ơn vì điều đó :) – Samwise

3

Im ý kiến ​​khách quan của tôi có ba khả năng:

Bắt đầu với Objective-C

Bạn sẽ phải học cách làm thế nào để mã hóa và bạn sẽ nhận được những kinh nghiệm bản địa tốt nhất cho người dùng của bạn. Điều này sẽ dễ dàng cho phép bạn sử dụng định vị GPS hoặc bạn có thể lưu vào bộ nhớ cache nội dung trên điện thoại của mình.Một vấn đề quan trọng với kết nối internet trên điện thoại là kết nối internet có thể không ổn định. Vì vậy, bạn phải thiết kế cho việc này. Bạn đã sử dụng đúng cách: sử dụng MySQL C-API trực tiếp để kết nối trực tiếp với máy chủ cơ sở dữ liệu sẽ không hoạt động tốt, bởi vì giao thức này không phải là không trạng thái. Trước tiên, bạn phải đăng nhập vào máy chủ và sau đó bạn có thể gửi các truy vấn SQL của mình.

Bằng cách sử dụng API của bạn, hy vọng là không trạng thái, thậm chí có thể là RESTful API, bạn có thể thực hiện một số phím tắt đẹp mắt cho ứng dụng iPhone gốc của mình. Sau đó bạn có thể sử dụng thư viện RestKit để dễ dàng chuyển đổi câu trả lời JSON của bạn từ máy chủ thành các đối tượng, lưu vào bộ nhớ đệm và các tính năng đẹp khác.

Viết một ứng dụng web

Khả năng thứ hai sẽ được xây dựng một ứng dụng web thoải mái sử dụng công nghệ HTML5 nhà nước-of-the-art. Điều tuyệt vời về điều đó là bạn sẽ viết một ứng dụng Android cũng như cả hai thiết bị di động sử dụng trình duyệt webkit. Vâng, nó không phải là chính xác như trường hợp như có các phiên bản khác nhau của Android ra khỏi đó với kích thước màn hình khác nhau, nhưng nói chung giả định này nắm giữ. Hãy xem ứng dụng web của Google cho Lịch Google chẳng hạn, tôi nghĩ đó là một sự thỏa hiệp tốt. Bạn cũng có thể nhận được biểu tượng màn hình chính cho điều này và bạn sẽ không có quy trình phê duyệt ứng dụng và có thể cập nhật bất kỳ lúc nào. Sử dụng bộ nhớ ngoại tuyến HTML5 mang đến cho bạn mức độ tự do.

Sử dụng PhoneGap

Các tùy chọn viết các ứng dụng trong PhoneGap hoặc một số khuôn khổ wrapper HTML khác mà sẽ tạo ra mã Objective-C là một trong những có thể, nhưng theo ý kiến ​​của tôi đây không phải là thực sự là một lựa chọn tốt. Lý do là bạn đang làm việc trên một số loại lớp trung gian và nếu bất cứ điều gì đi sai hoặc bạn gặp lỗi, bạn sẽ phải lặn xuống anyway khách quan-c. Vấn đề khác liên quan đến cập nhật của iOS. Nó có thể phá vỡ một số phụ thuộc và sau đó bạn phải đợi cho đến khi trung gian của bạn được cập nhật để sử dụng các tính năng mới.

+0

Vì vậy, theo ý kiến ​​của bạn; nó sẽ là tốt hơn để chỉ tạo ra một phiên bản web di động của web appliacation - giao diện người dùng khác nhau vv Sau đó cho phép người dùng iPhone, Android, vv để tạo ra một phím tắt từ nhà của họ-bảng điều khiển/springboards? Chúc mừng cho câu trả lời đó, rất hữu ích! – Samwise

+0

Vâng vâng và không. Từ quan điểm kỹ thuật có ý nghĩa. Thường thì khách hàng chỉ MUỐN một ứng dụng, không có vấn đề gì. Trong trường hợp này, một lớp bao bọc mỏng sẽ làm (về cơ bản là một trình duyệt web thứ hai chỉ dành cho ứng dụng của bạn). BTW nếu bạn tìm thấy câu trả lời hữu ích, cảm thấy tự do để bỏ phiếu bầu nó. – GorillaPatch

+0

Nhưng việc tạo webApp không giải quyết được sự cố khi nhận APN. Bạn nên đi cho người bản xứ nếu bạn cần một ứng dụng phức tạp như vậy. –

0

Sử dụng Zend Studio. Zend Studio giờ đây cho phép các nhà phát triển sử dụng PHP để phát triển các ứng dụng di động. Xem các liên kết sau: NewsTutorial

+0

Liên kết đó bị hỏng – Jez

1

Phonegap sẽ là một ý tưởng hay để phát triển ứng dụng này. Phonegap mặc dù chỉ hỗ trợ kịch bản lệnh phía máy khách - nghĩa là bạn không thể nhúng php vào mã của nó. Tuy nhiên bạn có thể dễ dàng tạo các cuộc gọi AJAX trong tập lệnh của bạn để nhận và gửi dữ liệu từ ứng dụng php/api đã được phát triển của bạn.

Phonegap cũng hỗ trợ tùy chọn lưu trữ GPS và dữ liệu nơi bạn có thể lưu trữ dữ liệu cục bộ và đồng bộ hóa sau khi có internet.

Để đồng bộ hóa ngược (máy chủ đến ứng dụng khách), bạn sẽ có hai tùy chọn. 1. Tạo một javascript để thực hiện các cuộc gọi ajax thường xuyên để kiểm tra các bản cập nhật. 2. Sử dụng thông báo đẩy (Đây là hướng dẫn dành cho iOS APN và tích hợp Phonegap) - http://devgirl.org/2012/10/19/tutorial-apple-push-notifications-with-phonegap-part-1/

Sử dụng thẻ SIM tùy thuộc vào tùy chọn của một người. Về mặt tích cực, bạn tiết kiệm thời gian/chi phí vì cùng một mã được sử dụng cho tất cả các nền tảng. Về mặt tiêu cực, nó có độ trễ nhẹ khi thay đổi các trang khiến trang web trông giống như một trang web, nhưng bạn có thể tránh điều đó bằng cách sử dụng thứ gì đó như jquery di động để tìm nạp trước tất cả các trang và sau đó tạo hoạt ảnh cho chúng. Điều này cũng sẽ giúp tải lên dữ liệu trong một chuỗi độc lập riêng biệt trong khi người dùng sẽ được tự do lang thang xung quanh ứng dụng.

Hy vọng điều đó sẽ hữu ích.

0

Nói một cách đơn giản, cách tốt nhất để sử dụng là sử dụng dịch vụ web php với khoảng cách điện thoại.

Bạn cũng có thể truy cập Android bằng PHP và Android. Đây là một cách rất tốt và đơn giản để đi. Hãy thử hướng dẫn here

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