简体   繁体   English

Xamarin Forms与本机移动应用程序开发

[英]Xamarin Forms vs. Native Mobile App Development

What are the limitations in app development with Xamarin forms as compared to native iOS/Android app development? 与本机iOS / Android应用程序开发相比,使用Xamarin表单进行应用程序开发有哪些限制?

Can Xamarin forms be used for CRM or enterprise level applications? Xamarin表格可以用于CRM或企业级应用程序吗?

Native vs Cross 本地人vs十字架

Cross platform development 跨平台开发

Pros - Development time: It can be potentially faster to develop a cross platform mobile app rather than a native app for iOS and Android. 优点-开发时间:开发跨平台移动应用程序而不是iOS和Android原生应用程序可能会更快。 You can leverage one codebase and customise for multiple platforms instead of creating a new codebase for each platform. 您可以利用一个代码库并针对多个平台进行自定义,而不必为每个平台创建新的代码库。 Making one cross-platform app functional across all platforms can also be more efficient than building multiple native apps from scratch. 使一个跨平台应用程序在所有平台上都可以运行比从头开始构建多个本机应用程序更有效。

  • Costs: In theory, its more cost effective to build a cross platform solution for multiple platforms because it leverages one codebase. 成本:从理论上讲,为多个平台构建跨平台解决方案更具成本效益,因为它利用了一个代码库。 This is generally true unless, the application requires a lot of customisation for each platform. 除非应用程序需要针对每个平台进行大量自定义,否则通常都是如此。

  • Simplicity: Updates to your cross-platform app would, naturally, be instantly synced across all platforms and devices. 简便性:跨平台应用程序的更新自然会在所有平台和设备之间立即同步。 There are also a number of technologies like PhoneGap and Appcelerator offering a cross-platform solution that one team of developers can more easily handle to deploy changes. 还有许多技术,例如PhoneGap和Appcelerator,它们提供了一种跨平台的解决方案,使一组开发人员可以更轻松地处理部署变更。

Cons 缺点

  • Platform limitations: Each platform has its own unique style and affords certain flexibilities missing in others. 平台的局限性:每个平台都有其独特的风格,并提供了其他平台所缺乏的某些灵活性。 This may put you at a disadvantage because you may not be able to leverage the unique functionality and tools of the respective native platform when developing an app for multiple platforms. 这可能使您处于不利地位,因为在为多个平台开发应用程序时,您可能无法利用各自本机平台的独特功能和工具。 Limited access to advanced features such as gyroscopes, geolocations, cameras, and much more. 有限访问高级功能,例如陀螺仪,地理位置,相机等。

  • User Experience: iPhone and Android operating systems, screen layouts, functions, etc. are different so designing and developing a cross-platform app that offers a good user experience on two or more platforms will undoubtedly be challenging. 用户体验:iPhone和Android操作系统,屏幕布局,功能等不同,因此设计和开发可在两个或多个平台上提供良好用户体验的跨平台应用程序无疑将具有挑战性。 The majority of successful consumer apps are built on either Native iOS or Android. 大多数成功的消费者应用程序都基于Native iOS或Android构建。

Performance and secure - Native application provides the high performance and best user experience in secured environment. 性能和安全性-本机应用程序可在安全的环境中提供高性能和最佳的用户体验。

  • Integration challenges: Integrating the app with preferences, local settings, and notification apps can be quite a task. 集成挑战:将应用程序与首选项,本地设置和通知应用程序集成可能是一项艰巨的任务。 Diverse storage options may also require engaging a third-party cloud service. 多样的存储选项可能还需要使用第三方云服务。 Clearly, there's lots to consider when deciding whether to build native or cross-platform. 显然,在决定构建本机平台还是跨平台平台时,需要考虑很多因素。 Consider these pros and cons when assessing your resources and the level of expertise of your team to make the decision easier. 在评估您的资源和团队专业知识水平时,请考虑这些利弊,以使决策更加容易。

Overall cross platform application would be better for simple application for displaying content with less user interaction. 总体而言,跨平台应用程序将更适合于简单的应用程序,以较少的用户交互显示内容。

Xamarin.forms can be used to develop CRM or other enterprise level applications. Xamarin.forms可用于开发CRM或其他企业级应用程序。

If you need to create highly customizable UI, it's better to use native iOS and Android. 如果需要创建高度可定制的UI,最好使用本机iOS和Android。 Because you have to create custom renderers for your custom controls and implement them in each platforms by yourself(Or use some third-party libs for Xamarin.forms, but the resources are far less than the ones for native). 因为您必须为自定义控件创建自定义渲染器,然后自己在每个平台中实现它们(或者对Xamarin.forms使用一些第三方库,但是资源远远少于本机资源)。

But, for CRM or other enterprise level applications, UI is not the important point. 但是,对于CRM或其他企业级应用程序,UI不是重点。 Thus, you can directly use the Xamarin.forms controls in PCL to achieve your targets and just need to write the code once in the PCL without implementing renderers in each platforms. 因此,您可以直接使用PCL中的Xamarin.forms控件来实现目标,而只需要在PCL中编写一次代码即可,而无需在每个平台中实现渲染器。 And you can save much time with Xamarin.forms instead of writing the same logic in each native platform. 而且,您可以使用Xamarin.forms节省大量时间,而不必在每个本机平台中编写相同的逻辑。

More information on Xamarin.Forms, please refer to its official documentations here: https://developer.xamarin.com/guides/xamarin-forms/getting-started/ . 有关Xamarin.Forms的更多信息,请在此处参考其官方文档: https : //developer.xamarin.com/guides/xamarin-forms/getting-started/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM