我目前正在使用 Vaadin TouchKit 开发一个小型应用程序,一旦投入生产,将拥有数百名用户。我无法找到任何在生产中使用 Vaadin Touchkit 实现的公开可用的应用程序,因此我将在此处列出的内容仅基于我个人对该技术的体验。
与原生应用程序相比的缺点:
我假设这就是您所说的“从头开始构建”。
由于这是网络技术,您的应用程序性能将始终与用户互联网连接的质量密切相关。如果你必须渲染包含大量组件和细节的大型 UI,它会比在本机应用程序中这样做要慢。如果用户连接不好,速度会慢很多。或者,如果连接不可用,那么您的应用程序几乎会变得不可用。有一种方法可以使用 HTML5-cache 在 Vaadin Touchkit 应用程序中提供离线模式,但它对于存储大型数据集并不是很有用,因为缓存比 Android SQLite 数据库有更多的限制。对于简单的 UI 内容,它可能是可行的,但在我看来,存储数据以供离线访问几乎是不可能的。
除了上述几点之外,我没有遇到任何缺失的功能,因为您可以随时在服务器端使用任何 Java 库,并且您的应用程序将在 servlet 容器中安全运行。
与原生应用程序相比的优势:
你没有特别要求好处,但我想这是任何意见和建议。
您的 Vaadin Touchkit 应用程序基本上可以在 2010 年之后推出的任何中高端移动设备上运行,基本上仅不包括具有 Windows Phone 操作系统的设备,因为 Internet Explorer 不使用 WebKit 进行渲染,并且其他浏览器不可用我知道。由于这是一个 Web 应用程序,它不排除 Internet Explorer 以外的任何其他桌面浏览器。通过创建一个应用程序,您可以支持大约 80-95% 的用户。
如前所述,任何 Java 库、任何内部 API、托管环境支持的任何身份验证方法都可用于您的应用程序,这对于本机移动应用程序来说并不容易实现。这可以通过出色的软件工程来克服,但需要大量的开发人员资源,更不用说您仍然无法为每个平台单独做这件事。
当然,与维护本机应用程序相比,servlet 应用程序的维护要简单得多:部署一次,所有用户无需执行任何操作即可获得更改。没有应用商店,没有版本控制,没有麻烦。
Vaadin TouchKit 与其他 Web 开发相比:
我完全不熟悉不使用 Vaadin 的 Web 应用程序开发,所以我不会告诉你与其他现代 Web 应用程序技术和框架相比,它是否是一种可行的方法。我要说的是,根据我的经验,如果您熟悉 Java 开发和桌面应用程序开发,Vaadin 可以让创建 UI 和后端功能变得更加容易和容易掌握。
总之,不要急于使用 Vaadin TouchKit 创建您的任务关键型应用程序,至少要使用它进行原型设计,并了解它的性能和局限性。对于某些类型的应用程序,它可能是最好的解决方案之一。对于某个比另一个更大的群体来说,这可能是最糟糕的群体之一。它不是一个非常成熟或普遍采用的框架,但它很有用。我很高兴听到更多关于您计划的应用类型的信息,并帮助您确定是否有任何使用 Vaadin TouchKit 的热门话题。
附:您可能已经遇到过这种情况,但本文档揭示了其中一个 TouchKit 演示应用程序的内容:
http://demo.vaadin.com/vornitologist/VAADIN/tutorial/touchkit-tutorial.html