-1

我需要为 iPhone 和 Android 创建一个应用程序,该应用程序只需打开手机摄像头,单击并将图片发布到服务器,并在需要时检索它们。仅此而已,仅此而已。

我正在考虑使用这些流行的 HTML5 平台。我浏览了 Jquery Mobile、Sencha、Phonegap 的文档和 stackoverflow 问题。老实说,我越来越困惑。

我很困惑他们是否会给我一个原生应用程序或“原生喜欢”应用程序。

我的要求——

我需要一个本机应用程序(不要在网络浏览器中打开)。

我是一个.net 程序员。我也可以使用 Xamarin。

请建议!

4

2 回答 2

2

Fernando 非常正确,因为使用 PhoneGap,您的 UI 将是“原生的”,但 PhoneGap 会公开原生功能,例如访问您的 Javascript 的相机。

至于使用 Xamarin,您绝对可以使用 C# 来创建您的 iOS 和 Android 应用程序。使用 Xamarin verus PhoneGap 的主要区别在于您需要为每个平台的用户界面编写特定代码。如果您的应用程序非常简单明了,这可能不会太麻烦。特别是当您考虑可以在 Xamarin Studio 中使用适用于 iOS 的 Interface Builder 和 Android Designer 时。

至于应用程序的其余代码,Xamarin 现在提供了一个库,可让您使用相同的代码访问相机,而不受平台限制:http: //xamarin.com/mobileapi

除此之外,您还可以共享负责将照片上传到服务器/从服务器检索照片的代码。

C#/Xamarin 的另一个好处是您可以使用多线程。考虑到这一点,您可以让您的上传在后台工作,而不会对主 UI 线程征税(使您的应用程序更具响应性。)我认为任何 JS 解决方案都不能做到这一点(任何人,如果我错了不要毫不犹豫地纠正我。)

于 2013-05-11T13:30:46.657 回答
1

我认为您的困惑来自这样一个事实,即 phonegap 等许多框架为您提供了本机功能,但仍使用 Web 视图和 HTML5 来创建应用程序,因此它们可以移植到所有平台。这是一种非常常见的方法,您将拥有一个原生应用程序,该应用程序包含一个简单的包装器,该包装器为 Web 视图提供原生功能。

由于您需要使用相机,因此您需要构建一个原生应用程序。如果您想完全原生或使用前面提到的框架之一是您的决定。wrapper 方法可以让你非常快速地为所有平台构建一个独特的应用程序,而 native 会给你更多的定制,但是你需要为每个平台构建一个不同的应用程序。

澄清一下,Sencha a 和 Jquery Mobile 是专门用于移动的 WEB 框架,因此它们本身不具备使用手机摄像头的能力,您需要围绕它们的本地包装器来执行此操作。

我的建议是 phonegap,它被广泛使用并记录在案,它通过一个非常方便的 API 为您提供了相机功能:

http://docs.phonegap.com/en/2.5.0/cordova_camera_camera.md.html

于 2013-05-11T10:24:47.433 回答