Sencha Touch hoạt động như thế nào trên Android trong thực tế? [đóng cửa]


17

Tôi sắp bắt đầu một dự án bằng Sencha Touch và vừa thực hiện một số thử nghiệm nhỏ trên thiết bị mong muốn HTC của mình. Tất cả các video hướng dẫn tại Vimeo dường như đang sử dụng trình giả lập iPhone chạy trên máy Mac. Tôi không chắc trình giả lập này được so sánh nhanh như thế nào với một thiết bị iPhone thật hay thậm chí là một thiết bị Android thực sự, nhưng từ những gì tôi đã trải nghiệm, có vẻ như mong muốn HTC của tôi không hoạt động tốt như trình giả lập này.

Tất cả các hình ảnh động (trượt, mờ dần, v.v.) có vẻ hơi chậm. Bạn có thể dễ dàng nhận thấy rằng FPS ít hơn nhiều so với trên video Vimeo.

HTC mong muốn là một điện thoại Android 2.2 mới và hiện đại, chạy với phần cứng khá tốt, vì vậy tôi tự hỏi liệu Sencha Touch có "sẵn sàng" cho nền tảng Android hay không.

Bất cứ ai có kinh nghiệm thực tế với Android và Sencha Touch?

Câu trả lời:


19

Tôi đang làm việc trên một số Ứng dụng Sencha Touch cho Android bằng Phonegap và kết quả thật đáng thất vọng. Trải nghiệm giao diện người dùng trên thiết bị iOS vượt trội hơn hẳn so với Android.

Trên các thiết bị iOS, mọi thứ đều trơn tru (băng chuyền, trượt mọi thứ), nhưng trên Android, tất cả đều hơi lag và không phản hồi.

Cập nhật Tôi đã thực hiện thêm một chút nghiên cứu và dường như các thiết bị iOS sử dụng khả năng tăng tốc phần cứng GPU để thực hiện chuyển đổi CSS. Trên các thiết bị Android, tất cả đều được thực hiện bởi CPU cùng với mọi thứ khác mà nó đã làm, do đó chúng tôi có giao diện chậm trễ và giao diện người dùng. Thở dài ..... Tôi đoán việc thực hiện tăng tốc phần cứng khó hơn nhiều khi phần cứng thay đổi quá nhiều.

Thật thú vị, tôi cũng đọc được rằng ngay cả các ứng dụng Android gốc (ngay cả màn hình menu tích hợp) cũng không sử dụng khả năng tăng tốc phần cứng. Chỉ những ứng dụng sử dụng OpenGL mới thực sự sử dụng GPU.


Tôi cảm thấy tương tự khi thử nghiệm Sencha Touch trên HTC Desire Z của mình, nhưng cũng cảm thấy rằng mọi thứ cảm thấy giống iPhone nhiều hơn so với Android-ish. Một điều nữa là - trong khi tỷ lệ người áp dụng có thể thấp - Sencha Touch không còn "hoạt động" đối với tôi trên Android kể từ khi tôi sử dụng Firefox Mobile, trong khi Sencha Touch chỉ dành cho Webkit.
zenzelezz

2
Đã 2 năm và Sencha liên lạc vẫn còn thất vọng.
Kugel

nó vẫn còn sencha touch là một thứ vô bổ! Có rất nhiều điều họ nói họ làm nhưng thậm chí không có một điều họ làm đúng ... chỉ cần hỏi họ xem họ có hỗ trợ tính năng trợ năng của Android hoặc thậm chí iOS và xem họ vặn vẹo không!
Nav

3

Từ sencha.com :

Sencha Touch, khung JavaScript di động HTML5 đầu tiên cho phép bạn phát triển các ứng dụng web di động trông và cảm nhận tự nhiên trên iPhone và Android

Tôi nghĩ lý do nó rất chậm, là ứng dụng được viết bằng HTML5 / javascript. Điều mà, khi bạn lần đầu tiên nghĩ về nó là khá tuyệt vời, vì nó giúp việc di chuyển trên các nền tảng dễ dàng hơn. Nhược điểm là chúng "nhìn và cảm nhận" giống như các ứng dụng gốc, nhưng thực tế thì không. Vì vậy, thay vì mã gốc thực thi nhanh trên thiết bị của bạn, bạn có khả năng trình bao bọc cho trình duyệt, trong đó tất cả mã chỉ là đánh dấu / js, tốc độ chậm hơn. Hãy suy nghĩ về việc sử dụng ứng dụng cnn so với việc truy cập cnn.com trong trình duyệt web của iphone, về cơ bản đó là cùng một loại khác biệt. Đây có thể là những gì bạn đang thấy, vì máy mac nhanh và trình giả lập có thể đẩy mạnh hơn rất nhiều so với thiết bị (trừ khi trình giả lập được điều chỉnh xuống chậm như thiết bị gốc, có thể là ... ai đó nhân đôi kiểm tra tôi).


1

Tôi đã thực hiện một điểm chuẩn nhỏ của Sencha, JQuery mobile và dojox.mobile trên trình giả lập Android và điện thoại bằng cách sử dụng phonegap cho một ứng dụng thực tế. Điểm mấu chốt là, võ đường đó dễ dàng vượt trội hơn cả Sencha và JQuery, cả hai hiện đang rất chậm chạp đến mức hoàn toàn vô dụng ngay cả trên phần cứng mạnh.

Vì vậy, bây giờ tôi sẽ đích thân đi với võ đường hoặc đi bản địa.

Dễ dàng tự mình thử nó bằng cách lấy một trong hai 'tủ trưng bày' từ các khung khác nhau và chrome2phone cho thiết bị của bạn.


1
Bạn là người đầu tiên nói rằng Dojo Mobile vượt trội hơn bất kỳ khuôn khổ nào khác. Trong số tất cả các nhà phát triển ứng dụng di động mà tôi biết, Dojo là trò đùa của một khung di động đã sai ...
Steffen Müller

Nếu bạn chỉ nói về hiệu suất, không bao giờ nên sử dụng trình giả lập. Chúng rất khác nhau sau đó chạy trên phần cứng.
Mufasa

1

Tôi biết đây là một câu hỏi cũ hơn, tuy nhiên, tôi có thể xác nhận rằng chúng tôi cũng đang gặp vấn đề về hiệu suất khi chạy Sencha Touch 2.0 trên Android. Chúng tôi đã xây dựng một nguyên mẫu khá đơn giản với bố cục thẻ rất đơn giản và không có hình ảnh hoặc css tùy chỉnh nào cả và vẫn nhận thấy một độ trễ lớn trên mọi thiết bị Android mà chúng tôi đã thử nghiệm. Lúc đầu, chúng tôi nghĩ rằng chúng tôi đã vi phạm một số thực tiễn tốt nhất của Sencha, tuy nhiên sau khi xem qua mã và sửa đổi mọi lĩnh vực mà chúng tôi nghĩ có thể gây ra sự cố, chúng tôi vẫn không thể có được sự đáp ứng và thông suốt ở bất cứ nơi nào gần với những gì chúng tôi hy vọng.

Nói thêm, có vẻ như nói chung, bất kỳ phương pháp không phải bản địa nào (đặc biệt là dựa trên JS / HTML / CSS) để phát triển ứng dụng di động sẽ luôn có ít nhất một số vấn đề nhỏ về hiệu suất. Chúng tôi hiện đang xem xét sử dụng Titanium vì nó cung cấp một giải pháp cơ sở mã duy nhất với hiệu suất gần với nguồn gốc hơn (vì về mặt kỹ thuật là bản địa).


1
Vì tò mò, bạn đã thử trên thiết bị Android 4.0 chưa? Vì chúng có sẵn khả năng tăng tốc GPU, nó có thể hoạt động tốt hơn. Cách bật: developer.android.com/guide/topics/graphics/hardware-accel.html
Drake Clarris

1
Cảm ơn vì tiền hỗ trợ. Chúng tôi chưa thử nghiệm trên bất kỳ thiết bị 4.0 nào. Đánh giá từ câu trả lời của Dean Wild, tôi cho rằng các vấn đề tăng tốc GPU có lẽ là thủ phạm chính. Vấn đề bây giờ là ngay cả khi chúng tôi có thể tăng hiệu suất trên các thiết bị 4.0, thì chúng vẫn chiếm một phần nhỏ (~ 10%) của thị trường Android mà chúng tôi vẫn có thể sẽ kết thúc bằng một giải pháp ngoài Sencha.
paz

bất kể bạn làm gì với sencha, nó sẽ luôn chậm ... lý do là cấu trúc dom lồng nhau sâu của chúng không phù hợp với bất kỳ trình duyệt nào để lại các trình duyệt di động.
Nav

0

Chúng tôi vừa ra mắt một ứng dụng sencha touch và có một số vấn đề hiệu suất đáng kể trong Android so với iOS. Hãy thận trọng khi cố gắng thực hiện các giao diện nặng thiết kế.

Một cái gì đó tôi ước tôi biết 3 tháng trước: thiết kế trả trước lớn là xấu trong điện thoại di động. Bạn thực sự cần một cách tiếp cận lặp lại giữa nhóm thiết kế / dev. Chuyển đổi CSS3 rất khó khăn trên Android: tránh nhiều góc tròn, RGBA, độ dốc, bóng văn bản. Nó sẽ làm cho ứng dụng của bạn có một cơn động kinh.

Giữ DOM càng nhỏ càng tốt; phá hủy các tấm vì chúng không còn được sử dụng.

Chúng ta đã thấy một số hành vi vẽ () lạ trên Android, nhưng điều đó có thể đơn giản đến từ thực tế là chúng ta yêu cầu quá nhiều CPU. Cách duy nhất để biết là lập hồ sơ tất cả các mã như một ninya


0

Vui lòng tham khảo bài viết này của nhóm LinkedLN Engineering về cách họ cải thiện hiệu suất của ứng dụng HTML5 của họ bằng cách mã hóa thủ công DOM:

http://engineering.linkedin.com/linkedin-ipad-5-techniques-smooth-infinite-scrolling-html5

Trong ngữ cảnh của bài viết này, tôi thấy hai vấn đề với Sencha Touch:

  1. Sencha Touch xây dựng giao diện người dùng của nó bằng cách chuyển đổi các đối tượng Javascript thành Nút Node và thêm chúng vào Cây Dom. Công cụ Chrome sẽ cho thấy rằng nó kết thúc bằng cách thêm một số DIV tương đối cao và các thành phần DOM khác vào cây Dom. Điều này sẽ không có ảnh hưởng bất lợi đến hiệu suất.

  2. Hầu hết các nút Dom trong giao diện người dùng Sencha được tạo bởi mã API Sencha chứ không phải từ đánh dấu. Nếu chúng ta viết mã để thao tác trực tiếp các phần tử Dom này, chúng ta có thể chắc chắn rằng nó sẽ không tạo ra bất kỳ tác dụng phụ nào không?

Tôi đã đăng câu hỏi này trên Diễn đàn Sencha chính thức hôm nay. Sẽ cập nhật câu trả lời này với câu trả lời.


1
Không thể xem nếu bạn đã đăng bài này vào năm 2011/2012 nhưng hiện tại iPad / iPhone không phải là vấn đề trên Sencha Touch. Nó chạy hoàn toàn hoàn hảo. Vấn đề là bất kỳ phiên bản hiện tại nào của Android 2,4, v.v., transl3d rất khó sử dụng.
Đaminh Watson

0

Chúng tôi đang làm một ứng dụng web cho iOS / Android bằng khung Sencha 2 và hiệu suất chỉ là khủng khiếp trên Android so với iOS. Thật không may, bây giờ tôi đang nói với khách hàng của mình rằng nếu họ muốn có một ứng dụng trên Android, có thể là bản gốc hoặc Titanium. Hy vọng họ có thể cải thiện, nhưng tôi sẽ không bao giờ sử dụng Sencha nữa nếu nền tảng mục tiêu là Android.

FYI (thiết bị mục tiêu là Galaxy S3).


-1

Sencha Touch + Phonegap Sucks trên thiết bị Android. Đặc biệt nếu bạn đang nhắm mục tiêu 2.2 trở đi. Sự kết hợp này hoạt động tốt cho danh mục G3 / Note của thiết bị Android. Quên Sencha Touch + Phonegap trên Android nếu bạn muốn hiệu suất và giao diện người dùng như bản địa.

Sencha Touch + Phonegap chỉ tốt khi nhanh chóng tung ra thị trường trên hàng ngàn thiết bị mà không muốn mắt bật và hiệu suất tuyệt vời.

NẾU khách hàng của bạn rất cụ thể về UI và Hiệu suất và nhấn mạnh vào giải pháp Hybrid, chỉ cần đưa cho anh ta từ chối trách nhiệm và giấy có chữ ký của anh ta rằng anh ta muốn ứng dụng Sencha Touch + Phonegap.

Tôi đã bị bỏng không chỉ ngón tay mà cả cơ thể với combo chết người này trên Android.


-1

Bản thử nghiệm bồn rửa nhà bếp tháng 11 năm 2013 và Sencha 2 của nó treo trên HTC Android 4.0 của tôi, các khung html5 khác cho thấy phản hồi tốt hơn như XDK của intel sử dụng jqMobi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.