实际上,Sencha Touch在Android上的表现如何?[关闭]


17

我将要使用Sencha Touch开始一个项目,并且刚刚在我的HTC欲望设备上做了一些小测试。Vimeo上的所有教程视频似乎都使用在Mac上运行的iPhone模拟器。我不确定该模拟器与真实的iPhone设备甚至真实的Android设备相比有多快,但是从我的经验来看,似乎我的HTC愿望并没有像该模拟器那样出色。

所有动画(滑动,淡入淡出等)似乎有点滞后。您可以很容易地注意到,FPS比Vimeo视频要少得多。

HTC的愿望是相对较新的现代Android 2.2手机,并配备了不错的硬件,因此我想知道Sencha Touch是否已为Android平台“就绪”。

有使用Android和Sencha Touch的实践经验吗?

Answers:


19

我正在使用Phonegap开发多个Android的Sencha Touch应用程序,结果令人失望。iOS设备上的UI体验大大优于Android。

在iOS设备上,一切都很顺畅(轮播,滑动一切),但在Android上,一切都有些滞后且反应迟钝。

更新我做了一些更多的研究,似乎iOS设备利用GPU硬件加速来进行CSS转换。在Android设备上,这已经由CPU完成,除了已经在做的其他事情之外,因此UI的外观和感觉都比较落后。感叹.....我想当硬件变化如此之大时,实施硬件加速要困难得多。

有趣的是,我还读到,即使本机Android应用程序(甚至内置菜单屏幕)也不使用硬件加速。只有使用OpenGL的应用程序才能真正使用GPU。


在HTC Desire Z上测试Sencha Touch时,我感觉类似,但是感觉与iPhone相比,与Android类似。另一件事是-尽管适用的人数比例可能很小-但自从我使用Firefox Mobile以来,Sencha Touch在我的Android上不再“起作用”,而Sencha Touch仅适用于Webkit。
zenzelezz 2011年

2
已经2年了,Sencha touch仍然令人失望。
Kugel 2013年

它仍然很烂😡煎茶的手是一文不值的废话!他们说他们做了很多事情,但做得还不是一件正确的事……只要问他们是否支持android甚至iOS的辅助功能并观看它们蠕动!
2015年

3

来自sencha.com

Sencha Touch,第一个HTML5移动JavaScript框架,可让您开发在iPhone和Android上具有原生外观的移动Web应用程序

我认为它之所以这么慢是因为应用程序是使用HTML5 / javascript编写的。第一次考虑时,它就很棒,因为它使跨平台移动变得更容易。缺点是它们像本地应用一样“看起来和感觉”,但实际上并非如此。因此,与其使用本机代码在设备上快速执行,不如使用浏览器的包装器,其中所有代码都只是标记/ js,这比较慢。想想使用cnn应用程序与在iPhone Web浏览器中访问cnn.com的本质上相同的区别。这很可能是您所看到的,因为快速的Mac和模拟器可能比设备更难推动整个工作(除非模拟器的速度降低到与本机一样慢,否则可能会...倍增)检查我)。


1

我已经在Android模拟器和手机上使用Senscha,JQuery mobile和dojox.mobile做了一个较小的基准测试,并使用了真实应用程序的phonegap。最重要的是,dojo轻易胜过Sencha和JQuery,后者目前都很缓慢,甚至在强大的硬件上也完全没有用。

因此,现在我将亲自使用dojo或原生语言。

通过将各种框架中的任何一个“展示柜”放入chrome2phone并将它们放到自己的设备中,可以轻松地自己尝试一下。


1
您是第一个说Dojo Mobile胜过其他任何框架的人。在我所知道的所有移动应用程序开发人员中,Dojo是一个移动框架的运行错误……
SteffenMüller

如果您只是在谈论性能,则永远不要使用模拟器。它们与在硬件上运行的软件有很大的不同。
Mufasa 2012年

1

我知道这是一个较旧的问题,但是,我可以确认我们在Android上运行Sencha Touch 2.0时也遇到性能问题。我们已经构建了一个非常简单的原型,具有非常简单的卡布局,完全没有自定义图像或CSS,但仍然注意到我们测试的每台Android设备上都存在很大的滞后。最初,我们认为我们违反了一些Sencha最佳实践,但是在仔细阅读代码并修改了我们认为可能导致问题的每个区域之后,我们仍然无法获得我们所希望的响应和流畅度。

从更多的方面来说,似乎通常任何用于开发移动应用程序的非本机方法(尤其是基于JS / HTML / CSS的方法)都会在性能上至少存在一些小问题。我们现在正在考虑使用Titanium,因为它提供了一个单一的代码库解决方案,其性能更接近于本机(因为从技术上讲它是本机的)。


1
出于好奇,您是否在Android 4.0设备上尝试过?由于他们具有GPU加速功能,因此可能会更好。如何启用:developer.android.com/guide/topics/graphics/hardware-accel.html
德雷克·克拉里斯

1
谢谢你的提示。我们尚未在任何4.0设备上进行测试。从Dean Wild的回答来看,我认为GPU加速问题可能是主要原因。现在的问题是,即使我们可以在4.0设备上提高性能,但它们只占Android市场的一小部分(约10%),因此除了Sencha之外,我们最终还是可能会选择其他解决方案。
paz 2012年

无论您如何使用sencha,它总是很慢……原因是它们的深层嵌套dom结构不适合任何浏览器,更不用说移动浏览器了。
2015年

0

我们刚刚推出了sencha touch应用,与iOS相比,Android中存在一些重大的性能问题。尝试实现繁重的设计接口时请多加注意。

我希望我3个月前了解到一些事情:大型的前期设计不利于移动设备。您确实需要设计/开发团队之间的迭代方法。CSS3过渡在Android上很难:避免大量圆角,RGBA,渐变,文本阴影。它将使您的应用程序发作。

保持DOM尽可能小;销毁不再使用的面板。

我们已经在Android上看到了一些奇怪的draw()行为,但这可能仅仅是由于我们要求太多CPU的事实造成的。唯一的了解方法就是像ninya一样分析所有代码


0

请参考LinkedLN工程团队的这篇文章,了解他们如何通过手工编码DOM操作来提高HTML5应用的性能:

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

在本文的上下文中,我看到了Sencha Touch的两个问题:

  1. Sencha Touch通过将Javascript对象转换为Dom节点并将其添加到Dom树中来构建其UI。Chrome工具将显示最终将大量DIV和其他DOM元素添加到Dom树中。这不会对性能产生不利影响。

  2. Sencha UI中的大多数Dom节点都是由Sencha API代码生成的,而不是由标记生成的。如果我们编写代码直接操作这些Dom元素,是否可以确定它不会产生任何副作用?

我今天在官方的Sencha论坛上发布了这个查询。将使用响应更新此答案。


1
无法查看您是否在2011/2012年发布了此信息,但目前iPad / iPhone并不是Sencha Touch上的问题。它运行完美无缺。问题是任何当前版本的Android 2,4等。translate3d断断续续,几乎无法使用。
多米尼克·沃森

0

我们正在使用Sencha 2框架为iOS / Android开发一个Web应用程序,与IOS相比,Android上的性能简直太糟糕了。不幸的是,我现在告诉我的客户,如果他们想要Android上的应用程序,则可以是本机或Titanium。希望他们可以进行改进,但是如果目标平台是Android,我将不再使用Sencha。

仅供参考(目标设备是Galaxy S3)。


-1

Android设备上的Sencha Touch + Phonegap很烂。特别是如果您的目标是2.2及更高版本。这种组合适用于Android设备的G3 / Note类别。如果您想要原生的性能和UI,请在Android上忘记Sencha Touch + Phonegap。

Sencha Touch + Phonegap仅适用于快速打入数千种设备的市场,而又不希望出现突如其来的性能。

如果您的客户对UI和性能非常具体并且坚持混合解决方案,请给他免责声明和由他签署的文件,要求他使用Sencha Touch + Phonegap应用程序。

Android上的这个致命组合不仅烧伤了手指,还烧伤了整个身体。


-1

它的2013年11月和Sencha 2厨房水槽演示程序挂在我的HTC Android 4.0上,其他html5框架则显示出更好的响应,例如使用jqMobi的英特尔XDK。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.