Phonegap 和 Sencha Touch 有什么区别?
Sencha Touch 是一个完整而丰富的框架,用于创建移动用户界面和相关的数据建模、服务器通信和业务逻辑。与桌面/平板应用程序的 Sencha ExtJS 一样,您使用基于 Javascript 类的干净 MVC 设计来编写大部分应用程序。 HTML 由这些将 HTML 视为汇编语言的类生成。这抽象了各种移动平台浏览器和浏览器版本之间的差异/错误/qwerk,从而使开发人员免于基于 HTML 的解决方案所表现出的大部分痛苦。相反,开发人员组装了提供数据建模和集合绑定、拖放和 UI 动画等功能的更高级别的组件。您还可以平滑滚动和自动预取潜在无限数据集合的数据,同时通过 DOM 元素重用在内部提供优化的 DOM 性能。这之所以成为可能,是因为您不再直接编写 HTML 或 XML 代码,而是 Javascript 类为您创建/销毁/回收 DOM 元素。您仍然可以使用 HTML 模板自定义组件。
ExtJS 5 现在支持 ViewModels (MVVM),因此预计 Sencha Touch 3.x 也将支持。
您可以使用 Sencha Touch 创建外观和感觉类似于移动应用程序的 Web 应用程序,或者您可以将它们编译成 native 应用程序,这些应用程序带有 PhoneGap 原生包装器或 Sencha 自己的原生包装器。 Sencha 将未来的工作重点放在 PhoneGap 原生包装上,而不是自己的,并提供几个与 PhoneGap API 集成的设备相关类,有时在未加载 PhoneGap 时提供这些 API 的模拟(例如在桌面浏览器中进行测试)。
PhoneGap 为 Javascript 代码调用原生设备功能(如数字罗盘、麦克风、相机、电池、设备功能/状态、文件系统等)提供了一个桥梁。这些是通过 PhoneGap plugins 提供的,这些插件在每个 OS 平台上使用相同的 Javascript 界面重新实现。插件可能会也可能不会与这些硬件或其他操作系统功能集成(例如,条形码扫描插件使用相机,而 SQLite 数据库引擎访问本地文件系统)。 PhoneGap 附带了几个标准插件,但目前有 550+ Cordova plugins 注册。
PhoneGap 团队展望了未来,其中一些硬件 API 正在进入浏览器 API,并寻求遵循新兴标准,以确保开发人员在这种趋势出现时尽可能顺利地过渡。
这两者中哪一个最好用,为什么?
希望您现在会看到它们不是相互竞争,而是经常一起使用的互补技术。
您可以开发不依赖任何其他框架的简单 PhoneGap 应用程序,但今天大多数移动开发人员会将 PhoneGap 与以下流行的 JavaScript 框架之一相互竞争:AngularJS、 Kendo UI、jQuery Mobile 或 Sencha Touch。
Cordova 和 PhoneGap 有什么区别?
你没有问这个,但它需要在这种情况下回答。最佳答案是here。
Sencha Touch 和 Sencha Touch 2 有什么区别?
最初的 Sencha Touch 1.x 和 Sencha ExtJS 4.1 现在都已弃用,但都使用了早期的 Javascript 类模型。 Sencha Touch 1.x 还缺少许多其他功能,包括与 PhoneGap 的集成和新的 Sencha Command 构建系统。
Sencha Touch 2.x 引入了一种新的更智能、更精简的类设计,最近被 ExtJS 5.x 完全采用。 ExtJS 5.x 还带来了我们预计将在(尚未发布)Sencha Touch 3.x 中的 View Models(MVVM 替换 MVC)
如果您打算同时使用 PhoneGap 和 Sencha Touch,您可能还会对 Sencha Touch Live 感兴趣,这是我创建的一个免费开源应用程序,它将显着提高您的工作效率。只需一条命令,它就可以在设备(或设备模拟器/模拟器)上创建、编译、部署和运行新应用程序。然后,您可以“实时编辑” Sencha Touch 代码一个或多个设备/模拟器。您只需保存文件,它就会将应用程序重新加载到设备上。它甚至会自动将您的 SCCS 文件编译成 CCS。因此,您很少需要重新编译/重新部署/重新运行或重新启动调试器,只需编辑并保存并立即在多个设备上查看结果。与它所基于的PhoneGap Developer App 不同,您可以使用任何 的PhoneGap 插件。大量其他超酷功能等您来享受!