2012-03-16 26 views
13

Khi tôi nói thiết bị di động có nghĩa là cả trong trình duyệt và được biên dịch sang PhoneGap.Khuôn khổ MVC JavaScript hiệu suất tốt nhất để phát triển di động

Tôi đang cố gắng so sánh hiệu suất số các khung công tác JS MVC. Tôi đã googled cho điều này, nhưng khi bạn nói Mobile, JS, và khung tất cả các bạn nhận được những liên kết đến Sencha, jQuery Mobile, Titanium vv

Tôi đặc biệt đề cập đến MVC framework như:

Ember 
Backbone 
Spine 
Knockout 
JavaScript MVC 
Batman 
Blossom 
etc. 

Tôi muốn xem các liên kết chứa số liệu hiệu suất cho từng liên kết này trong các trình duyệt trên thiết bị di động, cũng như PhoneGap.

+0

Tôi đã nhìn vào sencha touch cho cùng một mục đích và dường như cung cấp toàn bộ khung công tác MVC + UI. Tôi đang chơi với nó nhưng nó có vẻ là một lựa chọn tốt để ghi nhớ. Tôi cũng đã kiểm tra vào backbone.js và tìm thấy một số người thực hiện một số tinh chỉnh để nó hoạt động với jQuery Mobile. – Eldelshell

Trả lời

2

Tôi chưa thử tất cả, nhưng tôi đã thực hiện một số nghiên cứu về chủ đề và đã kết thúc bằng cách sử dụng Backbone JS. Tôi rất hài lòng với sự đơn giản và sức mạnh của nó cho đến nay. Tôi rất thích đọc qua mã nguồn (chỉ 6kb được rút gọn!) Và hiểu được câu nói của nó.

Tôi đã bắt đầu trên các ứng dụng được tối ưu hóa cho thiết bị di động được hỗ trợ bởi Backbone với a tutorial from Trigger.io (nhà sản xuất trình bao bọc ứng dụng gốc PhoneGap). Tôi đã điều chỉnh nó theo mục đích của riêng mình và thực hiện một số sửa đổi quan trọng như sử dụng chuyển đổi CSS thay vì hoạt ảnh javascript (chậm).

Tôi đã tạo đối tượng Backbone.View.MobileView có thể mở rộng giúp tạo ứng dụng được tối ưu hóa cho thiết bị di động nhanh chóng và dễ dàng. Tôi đã có ý nghĩa để đăng nó lên nắm tay, nhưng nó vẫn cần một chút sạch sẽ. Nếu bạn muốn có một phiên bản thô như một tài liệu tham khảo, tôi sẽ rất vui khi chia sẻ.

Chỉ một lưu ý khác - Tôi sẽ tránh jQuery Mobile bằng mọi giá. Bên cạnh chi phí khổng lồ của các khung công tác jQuery và jQuery Mobile kết hợp, bạn sẽ thấy mã và kiểu của mình bị ghi đè ở mọi ngã rẽ. Và từ những gì tôi tìm thấy, việc truyền dữ liệu qua lại tới máy chủ bằng AJAX giữa các trang là một nỗi đau thực sự.

Ứng dụng được tối ưu hóa cho thiết bị di động là sự phát triển web hoang dã ở phía tây hoang dã, đặc biệt là khi tích hợp với các dịch vụ giống như PhoneGap. Hãy chia sẻ những gì bạn đã học được với phần còn lại của chúng tôi!

Chúc may mắn!

+4

"Tôi sẽ tránh jQuery Mobile bằng mọi giá" Điều này sẽ không khiến bạn phải phát triển toàn bộ giao diện người dùng trên điện thoại di động của chính mình? Đối với mọi kích thước màn hình thiết bị? Có vẻ như rất nhiều công việc đã được thực hiện bởi jQuery Mobile. – Eldelshell

+2

Tôi không đồng ý với tuyên bố "tránh sử dụng jQuery Mobile bằng mọi giá". Nó không phải là giải pháp cho mọi tình huống, nhưng nó là một giải pháp hoàn hảo cho một số tình huống. Nó xử lý mọi thứ cho bạn: ui, định tuyến, kết xuất và hơn thế nữa. – commadelimited

+1

Brock Whitten, người đồng sáng lập của PhoneGap đã chỉ ra rằng jQuery Mobile là một trong những sai lầm dễ nhất và lớn nhất mà bạn có thể thực hiện khi tạo một ứng dụng di động trong HTML5. http://sintaxi.com/you-half-assed-it –

3

Tôi khuyên bạn nên xem hướng dẫn này Using Backbone.js with jQuery Mobile.
Nó giải thích cách ghi đè hệ thống định tuyến JQM để xử lý nó với hệ thống được cung cấp bởi Backbone.js (tốt hơn nhiều).
Hôm qua tôi đã tìm thấy ngay cả phân tích này 10 reasons why I switched to Spine.js cung cấp một số quan điểm về sự khác biệt giữa Spine.js và Backbone.js.
Sau đó, nếu bạn thích số liệu, bạn có thể xem so sánh này giữa các số khác nhau JS Template Engines Performance
Tôi hiểu sự sợ hãi khi sử dụng JQuery Mobile, vì hiệu suất không tốt trên mọi thiết bị, nhưng theo tôi biết người duy nhất làm việc với tất cả các nền tảng di động (không chỉ trên webkit) và chỉ một nền tảng duy nhất làm giảm tốc độ trên các trình duyệt không được hỗ trợ.
Tóm lại, tôi không nghĩ rằng có một giải pháp đúng trong số tất cả, nó phụ thuộc vào những gì bạn đang cố gắng đạt được, mục tiêu của bạn là gì, v.v.

5

Cũng đáng xem là AngularJS. Đó là một khuôn khổ Javascript hoàn chỉnh, được tạo ra bởi một số nhân viên của Google, với một cộng đồng đang phát triển. Thật là vui khi làm việc cùng!

0

Tôi nghĩ spine.js & knockout.js là khá tốt

tuy nhiên cả hai trong số đó là hơi phức tạp

cho tôi biết mà bạn đã sử dụng

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