且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

开发跨平台移动应用程序

更新时间:2023-02-03 10:43:31

我的回答 此处涵盖了跨平台工具的一些技术限制,但让我稍微扩展一下:

My answer here covers some of the technical limitations of cross-platfrom tools but let me expand a bit:

我认为跨平台工具在历史上也一直被人忽视,因为这些工具的哲学重点是错误的.

I think that cross-platform tools have historically always been also-rans because such tools have the wrong philosophical focus.

跨平台工具的所有卖点都是它们为开发人员带来的好处.他们被认为允许开发人员在任何地方编写一次运行.他们被认为允许开发人员在不学习新 API 的情况下扩展他们的市场.它们被出售的想法是它们允许开发人员削减成本和上市时间.

All the selling points for cross-plaform tools are the benefits they bring to developers. They are sold on the idea that they allow the developers to write-once-run-anywhere. They are sold on the idea that they allow the developers to expand their market without learning new APIs. They are sold on the idea that they allow the developers to slash cost and time to market.

销售的跨平台工具是它们为最终用户带来的好处.

What cross-plaform tool are NOT sold on is the benefit they bring to end users.

对最终用户的好处不是卖点,因为跨平台开发很少能给最终用户带来好处.最终用户并不关心开发人员为将产品推向市场付出了多少努力.当他们只使用一个平台时,他们也不关心应用程序可以在多少平台上运行.他们只关心应用程序是否在他们需要运行的硬件上执行他们需要的操作.除非他们有在许多不同平台上运行应用程序的特定需求,否则它不会给他们带来任何价值.

Benefit to the end user is not a selling point because cross-platform development is seldom a benefit to the end user. The end user does not care how hard the developer had to work to bring the product to market. Nor do they care how many platforms the app can run on when they they don't use but one platform. They just care if the app does what they need it to on the hardware they need to run it on. Unless they have a specific need to run the app on many different platforms, the fact that it does brings them no value.

相反,制作跨平台 API 不可避免的妥协意味着该 API 创建的所有应用在每个平台上最多只能达到 B 级.它们永远不会成为在每个平台上使用的***工具.

Conversely, the inevitable compromises of making a cross-platform API mean that all the apps created by the API will be at best B-grade on every platform. They will never be the best tool to use on each platform.

所有这一切意味着,在大多数用例中,与使用特定于平台的 API 制作的产品相比,跨平台工具为最终用户提供的产品质量较差.最终用户总会有更好的选择.

All this means that in most use cases, cross-platform tools give the end user an inferior product compared to ones made with platform specific APIs. The end user will always have a better choice.

从长远来看,您可以通过为最终用户提供最有用的工具来赚钱.如果您在哲学上不专注于使最终用户的生活更轻松、更高效,那么您从一开始就注定要失败.最终用户有很多选择,如果您的工具不是***的工具之一,您将无法在市场上销售.

You make money in the long run by giving end users the most useful tools. If you don't philosophically concentrate on making the end user's life easier and more productive, you are pretty much doomed from the outset. End users have lots of choices and if your tool isn't one of the best you won't make it in the market.

如果您认为用户将真正受益于在许多不同平台上运行此应用程序",那么您应该只使用跨平台工具.如果您开始考虑跨平台工具只是因为它们会让您(开发人员)的生活更轻松,那么您选择它们​​的原因是错误的,它们对您的伤害大于帮助.

You should only use cross-platform tools if you think, "the users will really benefit from running this app on many different platforms." If you start out looking at cross-platform tools solely because they will make your (the developers) life easier, then you have picked them for the wrong reason and they will hurt you more than they will help.