- 已关闭。**此问题为off-topic。当前不接受答案。
- 想要改进此问题吗?**Update the question,因此堆栈溢出为on-topic。
九年前就关门了。
Improve this question
我需要为iPhone和Android创建一个应用程序,它只需要打开手机摄像头,点击并将图片发布到服务器上,然后在需要时检索所有图片。仅此而已。
我在考虑使用这些流行的HTML5平台。我已经看过了jQuery Mobile,Sencha,Phonegap的文档和堆栈溢出问题。老实说,我越来越困惑了。
我很困惑他们会给我一个原生应用程序还是"类似原生"的应用程序。
本人要求:
我需要一个本地应用程序(不能在网页浏览器中打开)。
我是一个. net程序员。我也可以使用xamarin。
2条答案
按热度按时间zynd9foi1#
费尔南多是非常正确的,在使用PhoneGap您的UI将是“本地一样”,但PhoneGap将暴露本地功能,如访问相机到您的Javascript。
至于使用Xamarin,你完全可以使用C#来创建你的iOS和Android应用程序。使用Xamarin和PhoneGap的主要区别在于你需要为每个平台的用户界面编写特定的代码。如果你的应用程序非常简单明了,这可能不会太麻烦。特别是当你考虑到你可以在Xamarin Studio中使用iOS界面构建器和Android设计器时。
至于应用程序的其余代码,Xamarin现在提供了一个库,允许您使用相同的代码访问相机,而不受平台的限制:http://xamarin.com/mobileapi
除此之外,您还可以共享负责向/从服务器上传/检索照片的代码。
C#/Xamarin的另一个好处是你可以使用多线程。记住这一点,你可以让你的上传工作在后台,而不会加重主UI线程的负担(使你的应用程序更响应)。我不认为任何JS解决方案可以做到这一点(任何人,如果我错了,请毫不犹豫地纠正我)。
zwghvu4y2#
我认为你的困惑来自于这样一个事实,即许多框架,如phonegap,给你提供了原生功能,但仍然使用web视图和HTML5来创建应用程序,使其可移植到所有平台。这是一个非常常见的方法,你会有一个原生应用程序,它由一个简单的 Package 器组成,为web视图提供原生功能。
由于你需要使用相机,你需要构建一个原生应用。如果你想完全原生或使用前面提到的框架之一是你的决定。 Package 器的方法将让你建立一个独特的应用程序为所有平台非常快,而原生将给予你更多的定制,但你需要建立一个不同的应用程序为每个平台。
作为一个澄清, Sencha 和Jquery移动的是专门用于移动的WEB框架,所以它们本身没有使用手机摄像头的能力,你需要一个本地 Package 器来完成这一任务。
我的建议是phonegap,它的广泛使用和记录,它给你一个非常方便的API相机功能:
http://docs.phonegap.com/en/2.5.0/cordova_camera_camera.md.html