很难在移动应用程序的本机或跨平台之间进行选择

时间:2012-06-10 17:03:55

标签: android iphone cordova web native

我想创建一个支持Android和iPhone的应用程序 它将是一个人们聊天,分享照片等的互动系统 因此,它将包含lo-gin系统,用户的所有信息都将存储在mysql中 问题在于,我应该为Android和iPhone编写两组代码,还是使用一些跨平台工具,如Phonegap + jQueryMobile进行开发。
1)我想知道如果我使用Phonegap,html + css + javascript是否可以完成我想要包含在这个应用程序中的所有函数。例如,如何在从db加载数据时处理数据传输,我应该创建多个.html对于不同的页面。以及使用Phonegap的表现......

2)另外,发展时间如何。假设Android有一个开发人员,iPhone有一个开发人员。如果我们分开发展,我们就无法互相帮助。另一方面,网络可能更容易,我们可以一起研究。

3)然后,对于UI,它更容易使用母语。但是,网络很难制作移动应用程序之类的东西 我问了很多问题。但是我很长时间都在考虑这个问题,现在是我做出决定的时候了 任何人都可以帮助我并给我一些想法吗?真的是...... [/ p>

3 个答案:

答案 0 :(得分:1)

  1. 这取决于您的要求。使用Phonegap评估您是否可以满足所有要求。有关支持的功能列表,请参阅:http://phonegap.com/about/features 请注意,您只能使用phonegap提供的本机电话功能。

  2. 开发时间取决于各种因素,例如复杂性,项目规模和开发人员技能。我认为这里的主要区别是开发人员技能,因为项目的复杂性和规模是相同的。

  3. 这是你必须做出的权衡。可以在此处找到示例phonegap应用程序: http://coenraets.org/blog/2011/10/sample-application-with-jquery-mobile-and-phonegap/

答案 1 :(得分:1)

考虑这些因素&做出明智的决定,
 你熟悉哪种编码技术(HTML,CSS,JS)或(Java,C#)。

 关于您的第一个问题关于数据传输从db,(您的问题不清楚内部数据库或服务器端数据库),如果内部数据库Here is My Question我找不到解决方案给定的答案,如果你能解决问题,请帮助我。
(如果你在谈论服务器端数据库),无论是本机还是跨平台必须通过API的实现 由于您同时为两个平台编码,因此,当考虑两个平台时,开发时间在PhoneGap 中较少。

当你选择默认样式时,用户界面更容易 ONLY 例如,您可以考虑以* .png格式添加自定义按钮。 你可以多种尺寸多次添加单个按钮。
如果你想获得点击或悬停效果,你将再添加2个自定义按钮。对于单个屏幕和单击,单击一下就可以制作3张图像。单一方向,要实现正确的质量,你必须在ldpi,mdpi,hdpi,x-hdpi,no-dpi中添加不同尺寸的相同图像,最终为你带来单个按钮的5x3 = 15个图像。(想象你的应用程序的大小)。最后你必须添加几行Codes to achieve Clicked effect

 在几行代码(几乎不是5 KB)的CSS中也可以实现同样的目的。使用js也可以轻松实现许多动画。 您可以随时更改UI,只需更改几行代码即可更改。
用户界面 - PhoneGap赢取您的应用在浏览器中运行Android& iOS使用相同的浏览器引擎Webkit but still significant differences even in Webkit
 这是 few more issues in PhoneGap
性能
原生胜利。
在PhoneGap中,您的浏览器必须加载js,CSS,这会给您显着的延迟,可以 被忽略。

如果你想要很棒的用户界面,请选择CrossPlatform。
为了达到性能,请选择Native。
最后有时间做出决定。

答案 2 :(得分:0)

1.如果您使用更多页面的cordova构建应用程序,您的应用程序将变得缓慢,并且有一段时间它将获得更多的设计错误。所以     如果您使用单个html页面,每个页面具有不同的潜水效果会更好     页面并使用“display:none;”从你的java脚本或JQuery到     显示并隐藏您当前的页面。然后您的应用程序将更多     快。

  1. 有很多插件在cordova那些支持iOS和Android所以你不需要iOS开发人员或android 开发人员,如果你有适当的HTML和CSS设计,如响应式网络 站点。

  2. 如果使用bootstrap构建响应式html页面,UI将不会出现问题