6

Tôi đang phát triển một ứng dụng dành cho thiết bị di động sử dụng ASP.Net MVC để tạo HTML 5 trang. Các trang HTML 5 sẽ sử dụng loadPage của jQueryMobile để thực hiện cuộc gọi đến ASP.Net MVC để tải các trang vào DOM. Sau đó, nó sẽ sử dụng pagePage của jQueryMobiles để làm cho trang hoạt động trong DOM dựa trên tương tác của người dùng với ứng dụng. Các cuộc gọi đến ứng dụng MVC sẽ gọi các dịch vụ web khác nhau để truy xuất dữ liệu nguồn để xây dựng HTML.asp.net mvc, jquery điện thoại di động, thực hành tốt nhất về kiến ​​trúc điện thoại

Chúng tôi dự định sử dụng PhoneGap với ứng dụng để chúng tôi có thể gửi ứng dụng đã hoàn tất tới các cửa hàng Apple và Android. Ứng dụng của tôi không cần tương tác với chức năng gốc của thiết bị (danh bạ, vị trí địa lý, v.v.) Vì chúng ta không cần tương tác với hệ điều hành của thiết bị thực tế (ngoại trừ việc thực hiện các cuộc gọi jQuery đến ứng dụng MVC), vậy PhoneGap có thực sự cần thiết không? Cách tiếp cận tôi đã mô tả ở trên một cách thích hợp để làm cho ứng dụng web có khả thi trên thiết bị di động?

Vì ứng dụng của tôi là asp.net mvc và sẽ được lưu trữ trên máy chủ của tôi, những gì được gửi đến các cửa hàng Android và Apple? Đây có phải là nơi PhoneGap được phát? PhoneGap có tạo ra tệp thực thi của một số loại được gửi tới các cửa hàng Android và Apple không? Sau đó, tệp thi hành này được tải xuống thiết bị khách? Tôi giả định thực thi sau đó sẽ thực hiện cuộc gọi ra các trang web MVC thông qua URL để lấy HTML ứng dụng?

Tôi có đang xem chính xác điều này không? Cảm ơn bạn đã giúp đỡ.

+0

không chắc chắn tại sao câu hỏi của tôi bị bỏ phiếu. Tôi đã làm rất nhiều nghiên cứu. Tôi cần một số làm rõ. Có rất nhiều tài nguyên khác nhau mà tôi đã đọc có nhiều cách khác nhau để làm mọi thứ. Thông qua nghiên cứu của tôi, tôi nghĩ rằng tôi đã tìm ra cách tiếp cận. Tôi chỉ cần một số xác nhận của các giả định của tôi. –

Trả lời

5

Phonegap (hoặc một số thay thế) không hoàn toàn bắt buộc nhưng rất hữu ích khi tạo gói ứng dụng từ nguồn HTML/JS/CSS của bạn. Phonegap không tạo ra tệp thực thi (IDE của bạn làm điều đó) nhưng là một khuôn khổ của chức năng Java sang JavaScript (làm cho nó có thể chạy mã Java từ JavaScript của bạn).

Phonegap về cơ bản bao bọc trang HTML/JS/CSS của bạn trong webview để mã của bạn có thể được trình duyệt của thiết bị giải thích (đôi khi theo kiểu hộp cát hơn chạy trình duyệt bình thường, ví dụ như trước iOS-5 webview trường hợp không nhận được công cụ Nitro JS để chúng chạy chậm hơn các trang web trong trình duyệt Mobile Safari).

Bạn có thể tự tạo webview nếu trang web của bạn đơn giản đến mức không sử dụng bất kỳ chức năng Phonegap nào khác nhưng nó đã được đưa vào Phonegap và thiết bị sẽ không phải tải xuống Phonegap. Bạn cũng có thể sử dụng Phonegap.

Phonegap Build (https://build.phonegap.com/) là chương trình bạn có thể mua để gói ứng dụng của bạn được tạo và gửi tới các cửa hàng ứng dụng Apple/Google/RIM/Windows. Nói chung, bạn chỉ cần sử dụng IDE của riêng bạn để làm điều này tuy nhiên. Ví dụ để tạo một ứng dụng iOS, bạn phải sử dụng một máy tính Apple mới (bạn phải có phiên bản hệ điều hành mới nhất để xây dựng các phiên bản mới nhất của các gói iOS). gói ứng dụng iOS được tạo ra trong XCode, và Eclipse IDE là một môi trường rất phổ biến để tạo các gói ứng dụng Android của bạn: http://developer.android.com/sdk/eclipse-adt.html

tôi nhận thấy bạn nói bạn đang sử dụng $.mobile.loadPage() để tải trang vào DOM và $.mobile.changePage() điều hướng người dùng đến những các trang. Nếu bạn chỉ sử dụng $.mobile.changePage() thì nó sẽ tự động lấy trang với loadPage(). Nếu bạn đang sử dụng loadPage() nội dung tải trước sau đó check-out jQuery Mobile nạp trước khả năng: http://jquerymobile.com/demos/1.1.0-rc.1/docs/pages/page-cache.html

CẬP NHẬT năm 2014

Gần đây tôi đã xây dựng được một số ứng dụng sử dụng Cordova 3.5 và quá trình xây dựng là rất nhiều như vậy giản thể. Quá trình xây dựng gói bây giờ được quản lý thông qua bảng điều khiển của hệ thống và mọi thứ từ việc cài đặt các plugin để xây dựng lại một gói ứng dụng dễ dàng hơn nhiều.

+0

Cảm ơn bạn đã trả lời. Liên quan đến loadPage và changePage, jQueryMobile đang xóa các trang khỏi DOM khi tôi điều hướng khỏi các trang đó theo tài liệu. Vì trang không còn trong DOM, nên changePage không thành công. Vì vậy, khi tôi truy cập một trang, tôi đang sử dụng loadPage để tải tất cả các trang có khả năng vào DOM (bây giờ nó có thể quản lý được), sau đó tôi có thể gọi changePage nếu cần. Mỗi trang có thuộc tính "loại", vì vậy tôi có thể xóa tất cả các trang thuộc một loại nhất định khi người dùng điều hướng đến một khu vực mới nơi những trang cũ đó không còn cần thiết nữa. Có cách nào tốt hơn? –

+0

Nếu bạn đặt thuộc tính 'data-dom-cache =" true "' trên các phần tử 'data-role =" page "' thì jQuery Mobile sẽ không xóa các trang khi chúng được điều hướng khỏi. Nếu không, tôi đảm bảo đặt thuộc tính 'data-url' theo cách thủ công cho mỗi phần tử' data-role = "page" 'thành URL tuyệt đối, do đó khi bạn sử dụng:' $ .mobile.changePage ('/ about-us/default .html ') ', khung công tác sẽ có thể khớp chuỗi đó với thuộc tính' data-url' cho trang (nếu nó tồn tại trong DOM). – Jasper

+0

Gotcha. Cảm ơn vì tiền hỗ trợ. Tôi siêu tập trung vào hiệu suất và tôi lo rằng DOM sẽ lấp đầy các trang. Ứng dụng có các phần khác nhau, vì vậy nếu tôi đặt data-dom-cache = "true", thì tôi lo lắng DOM sẽ lấp đầy theo thời gian. Vì vậy, tôi đã tạo một cách tiếp cận trong đó mỗi trang có một thuộc tính type với giá trị của phần mà nó thuộc về. Vì vậy, khi người dùng đi đến một phần khác, sau đó tôi có thể xóa tất cả các trang khỏi phần cũ. Đây là bảo trì DOM. Cách tiếp cận này có ổn không? Tôi miễn cưỡng cho phép DOM điền vào các trang. Cảm ơn một lần nữa vì sự giúp đỡ của bạn. –

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