且构网

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

战斗的“本土VS HTML5的移动应用程序争夺战

更新时间:2022-12-21 09:31:43

下面是一个简单的情况下,与Native对HTML5去。从技术上讲没有什么$ P $变得一样强大的基于本地的解决方案pventing一个基于浏览器的解决方案,但它永远也不会发生在这里的原因:该商贩invovled:苹果,谷歌和微软都没有动力,使这个发生。想想吧。如果他们完全标准化的IT会有很少或没有优势的平台。让我们的消息,例如,你可以有通过HTML5提供的***的苹果或Android消息服务?当然,你可以,但为什么会一个平台厂商走这条路?他们为什么会贬值的iOS SDK或者Android SDK?因此,这是真的就像只打在移动领域的浏览器大战。当浏览器大战开始大家都以为尤伯杯浏览器会出现,但它永远不会出现,也不会这个时候无论是出于同样的原因。因此,其实它不只是一个技术问题作为其描述,开放与封闭。它的事实,商贩也不会提供他们的最新和最伟大的,公开透明。这是大多数跨平台的解决方案是后面的卖主发布的步骤的原因之一。

Here is the simple case for going with Native vs. HTML5. Technically speaking there is nothing preventing a browser based solution from becoming just as powerful as a native based solution, but its NEVER going to happen and here's why: The venders invovled: Apple, Google, and Microsoft have no incentive to make this happen. Think about it. If they completely standardized it there would be little or no advantage to their platforms. Lets take messaging as an example. Could you have the best Apple or Android messaging services delivered via HTML5? of course you could, but why would a platform vender take this route? Why would they devalue iOS SDK or Android SDK? So this is really the like the browser wars only played out in the mobile space. When the browser wars began everyone thought the uber-browser would emerge, but it never emerged, and it won't this time either for the same reason. So really its not just a technical issue as its described, open vs. closed. Its the fact that venders will not provide their latest and greatest in an open way. This is one of the reasons that most cross platforms solutions are a step behind the vendor releases.

另一个例子是对WebGL的支持。支持WebGL的已远远超过它应该。一旦有东西比WebGL的更好,这将提供在本地的第一和然后的WebGL将最终得到充分的所有浏览器所支持,每majore设备上。但是,支持将永远落后于本土。问题的关键是基于将永远落后一步,因为多数民众赞成的方式,商贩喜欢的浏览器。

Another example of this would be support for WebGL. Support for WebGL has taken far longer than it should. Once there is something better than WebGl, it will be offered in native first and then WebGL will finally be fully supported in all the browsers, on every majore device. But the support will always lag behind the native. The point is browser based will always be one step behind because thats the way the venders like it.

另外请注意,许多应用程序的客户认为这将HTML5是更有效的网络/互联网兼容的时候,其实本机应用程序使用HTTP就像HTML5的应用程序做的。这是普遍的误解,因为大多数本地应用程序使用的服务通过HTTP访问,就像一个HTML5应用程序将。唯一的区别是你正在处理在JavaScript与本机的方式请求和响应。

Also please note that many app customers think that going HTML5 is effectively more web/internet compliant when in fact native apps use HTTP just like HTML5 apps do. This is common misconception as most native apps use services access over HTTP just like an HTML5 app would. The only difference is you are processing requests and responses in javascript vs. the native way.

安全性,有多少安全的应用程序是使用HTML5来考虑的另一个重要问题?我敢打赌,做到安全交易是本地人,是有原因的大多数应用程序。

Security is another important issue to consider, how many secure apps are using HTML5? I bet most apps that do secure transactions are native, and for good reason.

这将是有用的,如果人能提供那些最近发布的Andr​​oid或iOS和对所提供的PhoneGap这些功能是什么的PhoneGap的路线图,在支持这些功能的SDK支持水平功能的示例。在当SDK的新版本问世换句话说,PhoneGap的是不锁步,既不是钛合金。然而PhoneGap的是在我看来,本机解决方案竞争的主体,因此,其相较于本土将是最有意义的。我觉得比较原产于专有的SDK,它是跨平台是在浪费时间。这是永远不会有足够的吸引力让无论是PhoneGap的还是本地的钱跑了。

It would be useful if people could provide examples of features that are recently released in Android or iOS and the level of support for those features provided by PhoneGap and what is the roadmap of PhoneGAP in supporting these sdk features. In other words when a new version of the SDK's come out, PhoneGAP is not in lock step, and neither is Titanium. However PhoneGap is in my opinion the main competition to the native solution, and therefore its comparison to native will be the most meaningful. I think comparing native to a proprietary SDK that is cross-platform is a waste of time. This is never going to be attractive enough to give either PhoneGAP or Native a run for the money.

谨慎为那些但是兴奋与PhoneGap的一个字。内置的插件可能存在于所有你所需要的平台,但如果你需要编写自己的插件PhoneGap的是什么? (您将要学习的PhoneGap的差距背后的真实故事),要么是因为你想要做的事情完全不是一个现有的插件,或者是因为你想自定义现有的插件不同。这不是一次写入随处部署情形。你需要写你想在该功能的自定义插件,为每一个平台。换句话说,你又回到了原生了。所以你***采取谨慎评估的插件(在所有的平台上你要运行的HTML5应用程序)的时间,并确保他们现在和将来你要什么需要。在另一方面HTML5没有的PhoneGap是相当precarious,和有限的,你会发现你的自我重写的PhoneGap不久。

A word of caution for those thrilled with PhoneGap however. The built in plugins might exist on all the platforms you need, but what if you need to write your own plugin for PhoneGap? (You are about to learn the real story behind the GAP in PhoneGAP) Either because you want to do something entirely different than an existing plugin or because you want to customize an existing plugin. This is not a write once deploy everywhere scenario. You need to write a custom plugin for each and every platform you want that feature on. In other words you are back to native again. So you better take the time to evaluate the plugins carefully (on all the platforms you are going to run the HTML5 app on), and make sure that they are now and in the future what you are going to need. On the other hand HTML5 without PhoneGAP is quite precarious, and limited and you will find your self rewriting PhoneGAP before long.

另外一点是,一个应用程序能够真正互动在几个方面,其中只有一个是HTTP。它也经常需要在与操作系统和资源设备上***的方式进行交互。没有太多别说谁真的不关心什么底层技术的使用,但有一个基于有很多原生的应用程序进行交互很高的期望用户。

Another point is that an app can really interacts in several ways, only one of which is with HTTP. It also often needs to interact in optimal ways with the operating system and resources on the device. Not too mention the user who really does not care about what underlying technology is used but has high expectations based on interacting with a lot of native apps.

当你运行你基本上是运行在其它应用程序您的应用程序,即浏览器的HTML5应用程序。该浏览器应用程序是只作为强大的平台厂商允许其是。如果以史为鉴,就会演变,以及更多的功能将被添加,但从来没有优化,从来没有在与所有其他商贩同步,从不以同样的速度作为基础操作系统和SDK的技术和商业原因。

When you run an HTML5 application you are essentially running your app within another application, namely the browser. The browser app is only as powerful as the platform vender allows it to be. And if history is any guide, it will evolve, and more features will be added, but never optimally,never in sync with all the other venders, and never at the same pace as the underlying OS and SDK for both technical and business reasons.

用户希望获得***的体验,它应该指出的是,虽然你有很多的人谁拥有机器人,和许多谁拥有iPhone和iPad有相对较少谁拥有这两个在同一时间。换句话说一个Android用户可以不在乎了iOS版本的应用程序,并在iOS用户可以不关心你的Andr​​oid应用程序。但是用户真正关心的是如何应用他们所选择的平台上运行。他们不希望运行的一半以及这两个平台上的东西,因为他们从来没有看到它在两个平台上。用户几乎总是遇到在一个平台上应用程序的时间。

Users want the best experience, and it should be noted that while you have many people who own Androids, and many who own iPhones and iPads there are relatively few who own both at the same time. In other words an Android user could care less the iOS version of your app, and an iOS user could care less about your Android app. But the user really cares about how the app runs on their platform of choice. They don't want something that runs half as well on both platforms because they never see it on both platforms. The user almost always experiences the app on a single platform at a time.

至于定位本机的解决方案与HTML5,我认为其有关使决策者认识到,它不只是本土开发商,像本地人,它也是平台供应商,像本土的解决方案,这意味着更好的,更高质量的应用程序取得同步的OS的改进。 反过来,这意味着幸福的应用程序用户提供更好的移动体验。

As far as positioning the native solution vs. HTML5 I think its about making the decision makers recognize that its not just native developers that like native, its also the platform vendors that like native solutions, and that means better, higher quality apps made in sync with OS improvements. In turn this means happy app users with a better mobile experience.