我需要为iPhone和Android创建一个应用程序,只需打开手机摄像头,点击并将图片发布到服务器,并在需要时全部检索。多数民众赞成,仅此而已。
我在考虑使用这些流行的HTML5平台。 我已经阅读了Jquery Mobile,Sencha,Phonegap的文档和stackoverflow问题。老实说,我越来越困惑。
我很困惑他们是否会给我一个本机应用程序或“本机喜欢”应用程序。
我的要求 -
我需要一个原生应用程序(不要在WEB浏览器中打开)。
我是.net程序员。我也可以使用Xamarin。
请建议!
答案 0 :(得分:2)
费尔南多是非常正确的,因为使用PhoneGap你的用户界面会像“原生一样”,但PhoneGap会公开本机功能,比如将相机访问到你的Javascript。
至于使用Xamarin,您绝对可以使用C#来创建iOS和Android应用程序。使用Xamarin verus PhoneGap的主要区别在于您需要为每个平台编写用户界面的特定代码。如果你的应用程序非常简单明了,那可能不会太麻烦。特别是当您考虑使用Interface Builder for iOS和Xamarin Studio中的Android Designer时。
至于其他应用程序代码,Xamarin现在提供了一个库,无论平台如何,都可以使用相同的代码访问摄像头: http://xamarin.com/mobileapi
除此之外,您还可以共享负责向/从服务器上传/检索照片的代码。
C#/ Xamarin的另一个好处是可以使用多线程。考虑到这一点,您可以让您的上传工作在后台工作而不会对主UI线程产生负担(使您的应用程序更具响应性。)我不认为任何JS解决方案都可以做到这一点(任何人,如果我错了,请不要不要纠正我。)
答案 1 :(得分:1)
我认为您的困惑来自于像phonegap这样的许多框架为您提供本机功能但仍然使用Web视图和HTML5来创建应用程序,因此它们可以移植到所有平台。这是一种非常常见的方法,您将拥有一个本机应用程序,它包含一个简单的包装器,为Web视图提供本机功能。
由于您需要使用相机,因此您需要构建原生应用。如果你想完整的原生或使用前面提到的框架之一是你的决定。包装器方法可以让您非常快速地为所有平台构建一个独特的应用程序,而本机将为您提供更多自定义,但您需要为每个平台构建不同的应用程序。
正如澄清一样,Sencha aand Jquery Mobile是专门用于移动设备的WEB框架,因此他们自己没有使用手机摄像头的能力,你需要一个原生的包装器才能做到这一点。
我的推荐是phonegap,它的广泛使用和记录,它为您提供了一个非常方便的API相机功能:
http://docs.phonegap.com/en/2.5.0/cordova_camera_camera.md.html