NativeVersusCross-Platform:PhoneGap、Titanium、Xamarin应用三种App开发方案优缺点总结。面对如此庞大的应用生态,精心策划和调整战略技术决策,无疑有助于确保应用的成功发布,获得良好的市场反响。用户界面(简称UI)、用户体验(简称UX)和必要的功能自然是在真正搭建相关平台之前首先需要明确的要素。然后,您应该考虑如何采取适当的措施来促进开发过程。事实上,纯原生或跨平台的决定已经可以产生许多后续影响。为应用程序开发选择的主要平台和编程语言在产品对用户的直观程度和受众类型方面发挥着巨大作用。例如,您的应用只能在一种类型的设备(Android或iOS)上运行吗?原生还是跨平台的决定最终取决于你的实际业务目标,各有优缺点。本机应用本机应用是使用特定于平台的编程语言构建的。在Android方面,它是Java;在Windows上,它是C#、VB.NET或C/C++;在iOS平台上,它是Objective-C或Swift。这些应用程序需要从头开始构建,并且只能在指定的平台上运行。好处用户界面(UI)–应用程序的整体外观和使用方式可以决定其最终成功与否。由于本机应用程序可与创建它们的平台无缝协作,因此用户能够使用更熟悉的界面。这有助于提供更积极的用户体验并鼓励长期使用。性能(UX)——原生应用程序开发往往涉及大量的媒体(如图像、视频或动画)资源,因此需要进行大量的交互和数据处理操作。原生应用在这方面更好,因为它们的原生代码可以直接调用操作系统独特的硬件和软件功能,几乎没有延迟。此外,使用本机代码开发复杂的应用程序可以最大限度地降低应用程序冻结或崩溃的风险。更好的排名–原生应用通常在用户中具有更好的口碑,可以在应用商店中得到强烈推荐。此外,原生应用也能以其出色的性能和友好的用户界面获得受众的高度认可。平台集成——原生应用程序往往能在给定平台上流畅运行,这意味着它们的功能可以根据用户偏好进行定制,并让用户感觉将其作为移动设备的固有部分。缺点耗时–为多个平台开发原生应用程序通常更耗时,因为相同的代码不能直接在其他平台上运行,这意味着开发人员需要花费额外的时间进行代码转换甚至重写。对开发技能的要求更高——为开发多平台原生应用,企业需要更多具备更高技能的开发人员。根据您选择的平台类型,跨平台原生应用程序开发至少需要两名开发人员——一名负责Android,一名负责iOS。高成本——开发者数量的增加意味着开发成本也会快速增加。加上更长的项目开发过程,公司可能需要将总体预算增加一倍甚至两倍。跨平台跨平台应用使用的代码可以根据具体的操作系统进行定制,然后发布。这种一体化解决方案允许单个应用程序在多个平台上运行,深受注重时间和成本的企业和开发人员的欢迎。优势节省时间——与原生应用程序不同,跨平台应用程序开发可以为多个系统平台使用单一代码库,帮助企业节省花费在代码重写和平台定制上的时间。低成本——企业可以有效降低开发项目的人员数量和成本水平。这种“一次编写,随处运行”的代码可以显着提高开发效率,加快部署速度。利润最大化——跨平台应用除了节省成本,还可以同时在多个平台和用户市场上获得影响力,最终实现利润最大化。轻松启动和更新——组织可以先启动应用程序,然后根据需要同时向多个平台推出更新。缺点性能延迟-跨平台应用程序通常不能像本机应用程序那样与它们运行的??平台无缝地工作。因此,此类应用程序经常出现卡顿或延迟,因为代码无法与设备的硬件或软件功能顺利配合使用。以通用性交易功能——跨平台应用程序无法与当前平台完美集成,因为它们共享相同的代码库,这意味着用户通常无法利用平台内的某些功能,例如预设手势、相机,甚至麦克风。PhoneGapPhoneGap,也称为ApacheCordova,是一个流行的开源平台,用于创建跨平台/混合应用程序。它使用JS、HTML5和CSS3编程语言。优点编程语言熟悉度高——由于PhoneGap使用JS、HTML5和CSS3等流行语言,开发人员可以轻松上手并开始使用它。这不仅减少了相关培训的需要,还使公司能够更快地将应用程序开发成果推向市场。在应用程序商店中容易被发现——PhoneGap应用程序可以以与本机应用程序类似的方式安装,从而在应用程序商店中获得理想的曝光度。插件架构——PhoneGap使用灵活的插件架构,可以以模块化方式扩展本机设备API。无许可费用——PhoneGap是一个开源项目,可免费使用,因此企业无需支付许可费用。可用的大量库——开发人员可以轻松访问各种资源库并从中寻求帮助,以增强他们自己的应用程序功能。缺点性能——PhoneGap应用程序的性能经常受到批评。一旦应用程序架构中出现大量图形或复杂元素,就可能导致应用程序无响应甚至崩溃。插件——在大多数情况下,开发人员必须使用特定的插件来避免干扰其本机指定的属性。PhoneGap具有灵活的插件友好架构,开发者可以选择必要的插件或根据自己的需要开发插件。但是,如果开发者找不到合适的插件或者不能轻易编写自己的插件,开发过程就会出现明显的延迟。缺乏文档——PhoneGap的用户指南含糊不清,与用户界面相关的指南文档中缺少一些关键信息。此外,它还没有提供有关可用于增强跨平台应用程序开发的最佳实践的信息。内存丢失——由于PhoneGap缺乏缓存/内存管理功能,因此经常出现内存丢失问题。TitaniumAppceleratorTitanium是一个开源开发平台,可用于开发桌面、本机移动和跨平台应用程序。目前,Titanium已经使用JS、HTML5、jQuery、CSS3等语言开发了超过35,000个模型。优点编程语言熟悉度高——Titanium使用JS、HTML5和CSS3等流行语言,因此开发者可以轻松上手并开始使用。访问高级功能——Titanium拥有独立的API来访问设备上的各种功能,包括摄像头、麦克风、触摸屏和GPS。这意味着用户可以将Titanium应用程序作为其设备的固有部分来使用,并获得良好的体验。即时反馈——Titanium缩短了应用程序开发时间,允许开发人员使用更少的代码构建应用程序。这意味着开发人员可以快速构建应用程序原型并根据即时反馈评估用户如何与UI交互。庞大的技术社区——Titanium/Appcelerator社区拥有超过200,000名开发人员,并开放访问其开放移动市场。开发人员可以在这里购买、销售和共享Web服务的各种模块、模板、设计元素和扩展。缺点更高的复杂性——增加的应用程序复杂性也会导致成本增加。开发者在遇到大量的crash和bug时,往往需要投入更多的时间和精力进行调试,这无形中增加了代码组织和多平台支持维护的成本。有限的灵活性——虽然Titanium的API需要更少的代码行,这可以帮助开发人员节省时间,但这种限制也导致了应用程序复杂性的增加。此外,它可能会导致应用程序出现延迟和其他持续性问题。功能不稳定——Appcelerator提供了StoreKit模块,旨在实现指向AppleAppStore的应用内购买机制。但是,此功能非常不稳定,有时无法正常使用。该模块的某些功能极大地影响了Titanium的免费增值定价策略。事实上,这款免费下载软件运行极差,根本无法实现有效的应用内购买。而这种不稳定甚至导致一些用户彻底放弃了相关应用。Toolkit失败——很多开发者可能会有同感,那就是自从TitaniumStudio(一个基于Eclipse的IDE)出现后,Titanium的学习成本大幅增加。TitaniumStudio有很多问题,最严重的是在构建过程中忽略了一些更改。这迫使开发人员要么在每次更改后清理项目,要么完全重新启动一个新项目。Xamarin自2011年发布以来,这个著名的框架就被广泛应用于跨平台应用程序开发中。通过API,Xamarin应用程序可以以原生方式与iOS、Android和Windows等设备上的相机、GPS和其他功能进行通信。优点一套代码玩转所有平台——Xamarin使用C#和.NET框架的结合,保证应用程序可以在多个平台上正常运行。这意味着开发人员可以重用大部分源代码以加快开发过程。Xamarin还可以与VisualStudio和XamarinIDE配合使用,开发者无需在不同的开发环境之间切换。SimulatedNative——Xamarin开发的跨平台应用,理论上可以归类为原生应用,因为其性能指标与单一平台的原生应用高度相似。此外,Xamarin应用在应用商店中还可以享受到原生应用的待遇。本机UX–Xamarin允许用户为每个平台自定义其UI。通过使用Xamarin.Forms工具,开发人员可以构建跨平台应用程序并为其配备有针对性的UI组件。为了获得更好的性能,开发人员还可以使用Xamarin.iOS或Xamarin.Android工具来开发具有原生用户体验的高速、可靠的跨平台应用程序。功能-使用Xamarin,所有硬件兼容性问题将不复存在。Xamarin允许开发人员访问各种特定于平台的API,并且可以访问本机库以无缝跨多个设备平台,而不会出现任何功能或性能问题。没有昂贵的许可成本——在微软于2016年年中收购Xamarin之前,Xamarin的许可费用高达每个开发人员每个平台1,000美元。这意味着非常小的开发团队会给企业带来高昂的许可成本。不过自收购之后,微软开始免费向VisualStudio用户提供Xamarin,目前正在将其打造成一个真正的开源平台。缺点小社区——Xamarin在过去几年中看到了稳定的发展步伐,其大多数追随者来自Microsoft。由于社区规模较小,因此寻找经验丰富的Xamarin开发人员可能并不容易。需要更广泛的技能——Xamarin广泛使用.NET开源资源和其他开源技术,因此想要使用Xamarin的朋友需要精通.NET并具有其他特定平台(如JS或Objective-C)的专业知识。应用程序规模——Xamarin需要大量的操作软件来链接.NET框架和平台特定操作系统之间的代码和引用,这意味着它的应用程序规模相对较大。原标题:NativevsCross-PlatformAppDevelopment:ProsandConsofPhoneGap,Titanium,andXamarin原作者:PremKhatri
