【发布时间】:2011-04-05 07:23:17
【问题描述】:
您好,我最近一直在探索一些可用于开发移动 Web 应用程序的 Javascript 移动框架,例如 Sencha、JQTouch、JQuery mobile 等。
我知道两者的优缺点。
我只需要一些最近的统计数据来显示市场的采用或意见。
【问题讨论】:
-
大声笑,不知道 Stackoverflow 用户名不是唯一的。很高兴知道
您好,我最近一直在探索一些可用于开发移动 Web 应用程序的 Javascript 移动框架,例如 Sencha、JQTouch、JQuery mobile 等。
我知道两者的优缺点。
我只需要一些最近的统计数据来显示市场的采用或意见。
【问题讨论】:
我尝试了三种方法来开发移动应用程序。
第一种方法是使用框架来获取您的 html/css/js 文件并根据您的目标(黑莓、iPhone、Android 等)将它们打包到移动应用程序中。我使用了PhoneGap(今天称为Cordova)。我根本不喜欢它,因为 UI 的渲染在某些设备上是如此丑陋,并且用户体验被破坏了。我不得不将它与 jQuery Mobile 一起使用,因为它给了我一个良好的 UI 设计开端。我在我的个人设备上尝试了一些 Phonegap Android 生成的应用程序,这真的很可怕。他们中的一些人因此被Apple拒绝了......
第二种方法是使用Appcelerator Titanium SDK。一句话总结:厉害。使用一种语言(javascript)来创建您的 UI/控制器。它易于学习,开发功能强大,并且具有许多开箱即用的功能(如 facebook API、Yahoo Query Language 等),可让您轻松为 Android 和苹果手机。黑莓即将推出。我最喜欢的是它将编写的 Javascript 转换为具有默认 UI 的目标平台。这真的很棒。而且,最重要的是,用户界面很容易定制(使用类似 css 的系统)。
就个人而言,我安装了一些应用程序,可以:用设备拍照,然后将其发送到远程服务器,向 twitter/facebook 发送消息,高级地理定位等。
第三种方法:原生!如果您同时针对 iPhone 和 Android,这将需要一些时间,但最大的优势是您可以创建任何您想要的东西,而无需依赖于游戏、增强现实等领域的框架。
在我看来,如果您想创建具有一些不错功能的简单应用程序(天气、Twitter 提要、在 facebook 墙上发送...),请使用 Appcelerator Titanium SDK。 它将您的代码转换为 NATIVE。
如果您有时间花时间学习母语,那就去做吧。这是最好的方法;)
希望对你有帮助。
问候。
【讨论】:
我在博客文章中总结了我对整个“原生与网络”讨论的想法:http://www.springenwerk.com/2011/09/thoughts-on-mobile-ui-design.html
简而言之:如果您想提供出色的用户体验,就必须了解您的目标平台。另外,您不应该尝试在 Web 应用程序中模仿原生 UI/UX,它只会让您的用户失望。
【讨论】:
以下是本机应用程序与网络应用程序的一些优缺点:
原生应用:
原生应用更安全
原生应用具有更高的用户参与度,在提供广告的发布商中具有更高的点击率 (CTR)
在美学和整体用户体验方面,Web 应用很难超越原生应用
您不必购买和维护服务器,因此,对于小型企业来说,它是理想的解决方案,而不是需要服务器的 Web 应用程序。
网络应用:
它是跨平台的 - 这意味着您的一个应用程序可以在 iphone 和 android 上运行
开发和维护成本更低、速度更快
你会发现程序员比原生应用更容易
更新更容易
【讨论】:
查看这篇文章以获得更多意见 - http://www.thorntech.com/2013/01/html5-vs-native-apps-which-will-win-the-mobile-app-development-battle/
特别是最后一段值得注意。如果您沿着构建 HTML5 应用程序的道路前进,那么值得对内容进行某种类型的背景“同步”,这样您就不会总是从网络上实时提取它。如果您从磁盘加载 HTML 页面,该应用程序的响应速度会更快。
【讨论】:
根据我的经验,原生应用程序的成功率远高于基于 html 或 javascript 的应用程序。我没有足够的数字来支持它,但这些是在尝试为不同平台构建 html5 应用程序时可能会出现的一些问题。例如
浏览器操作系统或 webkit 的差异可能会导致意外错误、可能需要很长时间才能调试的 css 问题。
您的应用程序运行在占用额外资源的 webkit 浏览器引擎之上。
较旧或非智能手机设备可能没有现代 webkit 引擎。
尽管如此,如果您拥有优于原生的网络技能,那么将应用程序推向市场最快且最便宜的途径将是 html5。一些应用程序非常适合 html5,例如数据列表和文本内容驱动的应用程序。我在我的博客上写了一篇关于HTML5 vs Native 的文章。希望它有用。
【讨论】: