简体   繁体   English

如何确定应用程序是否使用移动 web 框架编写?

[英]How to determine if app is written with mobile web frameworks?

I'm doing market research of the competition and would like to know whether they have written their apps native or not.我正在对竞争对手进行市场调查,并想知道他们是否在本地编写了自己的应用程序。

Both APK and IPA files are merely zip files that follow certain conventions. APK 和 IPA 文件都只是遵循某些约定的 zip 文件。 You can view the files inside by unarchiving them, it should be easy to identify files relating to frameworks like PhoneGap.您可以通过取消归档来查看其中的文件,应该很容易识别与 PhoneGap 等框架相关的文件。 You can obtain the IPA for an iOS application by dragging it out of iTunes.您可以通过将 iOS 应用程序拖出 iTunes 来获取其 IPA。

Pull the apk from the device and use unzip.从设备中提取 apk 并使用解压缩。 If you end up with a bunch of.js/.html files then it's mainly web tech.如果你最终得到一堆 .js/.html 文件,那么它主要是 web 技术。

adb -d shell pm list packages -f

This command will list all packages and there storage location.此命令将列出所有包和存储位置。

I don't know if there is a foolproof way, but some warning signs I've noticed for these types of apps:我不知道是否有万无一失的方法,但我注意到这些类型的应用程序有一些警告标志:

  • Using the back button to go back doesn't cause an Activity switch animation to happen, it just refreshes the screen to the previous page使用后退按钮到 go 后退不会导致 Activity 切换 animation 发生,它只是将屏幕刷新到上一页
  • Sometimes, the back button simply quits the app.有时,后退按钮只是简单地退出应用程序。
  • Various UI elements look like the iPhone instead of Android.各种 UI 元素看起来像 iPhone,而不是 Android。 Particularly if there are back arrows in the upper left corner, or a spinner that looks like a mechanical odometer.特别是如果左上角有后退箭头,或者看起来像机械里程表的微调器。
  • Look at the package name.查看 package 名称。 I have seen them named something like com.sillycompany.iphone when it is an Android app.当它是一个 Android 应用程序时,我看到它们命名为 com.sillycompany.iphone。

EDIT: I realize after reading your question tags you may not mean just Android apps.编辑:阅读您的问题标签后,我意识到您可能不仅仅指 Android 应用程序。 All my answers only pertain to my experience with Android apps.我所有的答案仅与我使用 Android 应用程序的经验有关。

Buy/download their app and play around with it.购买/下载他们的应用程序并使用它。 You can usually get a feel of whether it is written in HTML & js or whether it is native by the look and feel of the controls (buttons switches, textfields, textviews, etc.).您通常可以通过控件(按钮开关、文本字段、文本视图等)的外观和感觉来了解它是用 HTML 和 js 编写的,还是原生的。 If you're still having a hard time you can always pop open the.ipa and take a look at the resources packaged with the app.如果您仍然遇到困难,您可以随时打开.ipa 并查看与应用程序打包的资源。 If you find any html or js files then it's probably a web app.如果您发现任何 html 或 js 文件,那么它可能是 web 应用程序。 You can also look at the binary of the app with a hex editor (you won't be able to see the source code but it should still give you an idea.您还可以使用十六进制编辑器查看应用程序的二进制文件(您将无法看到源代码,但它仍然可以让您有所了解。

If by mobile web framework you mean things like PhoneGap, then, technically speaking, you shouldn't be able to tell, as PhoneGap works within the IDE of the native dev environment and you end up with native code.如果移动 web 框架是指诸如 PhoneGap 之类的东西,那么从技术上讲,您应该无法分辨,因为 PhoneGap 在本机开发环境的 IDE 中工作,您最终会得到本机代码。

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

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