use*_*913 -1 android sencha-touch cordova xamarin
我是Objective C开发人员,现在我也想为Android制作应用程序.建议我应该从以下内容中学到什么?哪个最合适?*Android开发*Xamarine跨平台*PhoneGap*Sencha Touch或任何其他.谢谢
我想做Xamarine,因为它也支持Windows Phone应用程序,它是否适合我?谢谢
您可以使用嵌入式浏览器控件并编写包裹为本机应用程序的Web应用程序,如Adobe PhoneGap/Cordova或Sencha采用的类似方法,或者您可以使用创建本机应用程序的跨平台工具,例如Xamarin Studio,Appcelerator Titanium或Embarcardero FireMonkey.
PhoneGap的允许最广泛的平台支持,但需要用JS/HTML5框架如煎茶触摸或jQuery Mobile的使用,并且作为一个真正的本地app.PhoneGap不是Web的只是本地包装一般不会像高性能应用程序.通过PhoneGap javascript API,"网络应用程序"可以访问手机功能,如地理位置,加速度计相机,联系人,数据库,文件系统等.基本上,手机SDK提供的任何功能都可以"桥接"到javascript世界.另一方面,在移动Web浏览器上运行的普通Web应用程序无法访问大多数这些功能(安全性是主要原因).因此,PhoneGap应用程序更像是一个移动应用程序,而不是一个Web应用程序.您当然可以使用PhoneGap来打包一个完全不使用任何PhoneGap API的Web应用程序,但这不是为PhoneGap创建的.
Titanium不会将你的html,css或javascript代码编译成"native bits".它们作为资源打包到可执行包中,就像嵌入的图像文件一样.当应用程序运行时,这些资源被加载到UIWebView控件并在那里运行(当然是javascript,而不是本机位).没有javascript到本机代码(或to-objective-c)编译器这样的东西.这在PhoneGap中也以相同的方式完成.从架构的角度来看,这两个框架非常相似.
Xamarin 使用本机代码开发跨平台应用程序,它将很容易为您和性能不会成为一个问题,本机外观,良好的IDE,很像Xcode和Visual Studio.但对于xamarin,您需要了解iOS,Android,WP8等各个平台的知识.在Android的情况下,您不需要Java知识,但您应该了解Android活动,生命周期,类等.有设计每个平台的UI如果你的项目有大量的屏幕,你必须独立设计每个平台的用户界面,这可能需要花费时间,这分别是诅咒,有时是祝福.如果您拥有较少数量的屏幕,并且更多的工作与数据库和Web服务等核心相关,那么xamarin将是一个不错的选择.
Sencha Touch是一个HTML5移动应用程序框架,用于构建外观和感觉像本机应用程序的Web应用程序.与煎茶触摸内置应用程序可以使用的Apache Cordova/PhoneGap的或煎茶的本地打包使用-无论是将打包在一个本机容器应用程序,允许访问选择设备级的API无法使用传统的网络apps.Sencha Touch是一个HTML5移动应用用于构建外观和感觉像本机应用程序的Web应用程序的框架.使用Sencha Touch构建的应用程序可以与Apache Cordova/PhoneGap或Sencha的本机打包程序一起使用 - 它们将应用程序打包在本机容器中,并允许访问传统Web应用程序无法使用的选定设备级API.但是使用Sencha Touch编写的移动应用程序如果开发人员在编写高效的JavaScript和DOM结构方面没有纪律,那么他们可能会遇到与Cordova/PhoneGap应用程序相同的性能问题.许多开发人员已经建立了构建基于HTML5/JavaScript/CSS的应用程序的首选框架的意见和经验.Sencha强调自己的堆栈将被视为供应商锁定.
Adobe AIR是一个跨操作系统运行时,允许开发人员将HTML,JavaScript,AdobeFlash®和Flex技术以及ActionScript®组合在一起,在各种设备上部署富Internet应用程序(RIA),包括台式计算机,上网本,平板电脑,智能手机和电视.Adobe AIR拥有令人印象深刻的影响力 - 可在各种桌面和移动设备上运行.此外,如果您计划拥有更多参与/动画的UI(并且不打算使用本机方法),则使用AIR over HTML/JavaScript/CSS方法可能会有所帮助.但对于许多移动开发者而言,"房间里的大象"是Adobe购买Nitobi(以及PhoneGap名称的权利)的事实,这清楚地向许多人发出信号,即AIR可能不是移动开发的长期策略.这与Flash的快速下降相结合,削弱了许多开发人员在选择AIR时可能会有的信心.
摩托罗拉发布的RhoStudio是基于Eclipse的IDE.它的框架是免费的,MIT许可证,用于构建B2C应用程序B2B许可框架,构建在罗德之上,提供对数据编码,条形码扫描,Windows Mobile和Windows CE支持的支持.RhoConnect的同步和集成框架(需要许可证).主机和用于Rhodes/RhoElements的构建服务器(需要商业用途的许可证),企业应用程序商店.(需要商业用途许可证).
Qt("Cute")是一个跨平台开发工具,面向众多嵌入式,桌面和移动平台.开发者编写使用"QML",吹捧为"CSS和JavaScript的像语言",并应用已与一套广泛的C++库的支持,并利用C++编写的图形/ UI组件.Qt提供了实质性的组包含直观的API库的用于线程,网络,动画等等.Qt的IDE工具(Qt Creator IDE和Qt Designer)似乎是可靠的开发工具,QML Profiler中提供了代码分析.但是Qt的工具被宣传为"完整的工具链",而QML是专用于Qt堆栈的专用语言.许多公司都认为采用这种方法是"平台锁定",因为大多数企业在采用CPT时都在寻求重用现有的技能,而不是进一步削弱技能.(从JavaScript到QML的飞跃可能不是从基于Web的技能到Objective-C的飞跃 - 每个团队只需要评估它能够处理什么