可能您是一位 Java 开发人员,作为兼职或您的核心工作的一部分,您需要执行一些移动应用程序开发。或者可能您是一位为全堆栈 Java 开发人员提供技术支持的移动应用程序开发人员。不管怎样,您已经开始着手扩展现有的 Java 应用程序和旧有数据源,并连接到云中新的或现有的移动应用程序的工作。
您的应用程序和系统可能会工作正常,但考虑到如今的移动应用程序的质量,您没有最现代的功能或用户期望的接口类型。世界在不断发展,无论您喜不喜欢,移动设备都已成为访问几乎所有信息的事实标准。
“无论您公司的战略是什么,在未来几年它都会给我们(Java 开发人员)带来大量工作。”
如果您不想您的公司在发展中掉队,就需要继续改进您的工作,利用最新的云和移动开发工具、平台和最佳实践来现代化您的应用程序。
这听起来似乎不简单,但它也没有过去那么困难。关键在于克服 3 种主要挑战:
让我们首先选择一个云平台、平台即服务 (PaaS) 或集成开发环境 (IDE),供您开发、启动和/或托管您的应用程序。有许多 IDE 可供选择,所以在评估它们时,您还要考虑想要或需要使用哪些移动开发工具和平台。拥有一个插入您的 IDE 或 PaaS 中或至少可在其中共存的移动开发平台至关重要。您需要将二者放在一起来评估。
此外,为了避免锁定,最佳战略是利用基于开源的系统。在外包用户体验的开发的同时,您还应利用您最好的内部技能。
许多系统都允许使用软件或服务的试用版或免费版,您可使用它们来构建原型。购买前应该先试用一下,对预算有限或没有购买权力的人来说,这是一个非常好的战略。您可以开发一个最低限度行得通的产品,在以后向您的企业演示原型和工具的价值,以及与开发和运行最终产品的许可相关的成本。
要考虑的其他一些因素:
对于系统架构师,调查最新工具的最佳方法是参阅 Forrester 或 Gartner 魔力象限研究结果,利用使您的公司能快速上手的技术。
对于开发人员,最重要的因素是工作效率和成本灵活性。因此,适用于多种云平台的系统必不可少。从这个角度讲,SaaS(系统即服务)和 PaaS 云产品应非常有潜力。
最后,云平台需要让各种系统和容器高效工作,并采用新的使用模型。基于云的开发系统具有灵活的支付选项(比如 PayGo),它们提供了所有必要的功能和语言支持来托管和交付您的原型,最终托管和交付您的移动应用程序的最终服务(如果需要)。一些企业需要将这些系统保留在内部;因此也应该提供此选项。
对于 Java 应用程序而言,好消息是 Java 仍被广泛用在 Android 移动应用程序开发中。尽管移动应用程序的创建具有细微差别,但 Android 开发与大多数典型 Java 系统中的工作没有多大区别,而且在一些方面更加容易。移动开发基于一种来自 Web 开发的熟悉的模型-视图-控制器 (MVC) 模式。使用 Spring MVC、JSF 或过去的著名 Struts 的开发人员应非常熟悉这种模式。
但是,开发人员面临的挑战往往不只是技能挑战。如果您要现代化您的应用程序并利用云和现代平台、语言和工具,您的企业需要允许您访问这些技术,而且您需要提供一些建议,比如哪些技术最适合您,您团队和您企业真正想要和需要构建与扩展哪些应用程序。
现代化您企业的现有应用程序需要深思熟虑。根据现有的 Java 系统、策略和您已做出的投资,了解哪些云开发平台、工具和服务最适合您的企业?
如果将要与其他移动应用程序开发人员合作,则需要了解他们的技能集。类似地,在通过合作向移动用户提供最佳的体验时,他们需要了解哪些遗留应用程序和系统对企业很重要,需要企业进行关注。
如果您是铁杆的 JEE 开发人员,并且被安排了一项部署新移动接口的附加任务,您需要快速学会在您不太了解的新环境 (Android 上的 Java) 中使用您的 Java 技能。您将非常熟悉该语言,所以与其他许多人相比,您具有一定的优势,但构建移动应用程序需要您掌握如何最佳应用您的技能,还要了解如何在设备上集成和使用新服务,以及如何访问您现有的企业应用程序来利用他们提供的数据和服务。
也可以让您的核心 Java 集成和安全团队仅提供解决方案的架构。在此环境中,为移动平台创建高质量用户体验的艰苦工作,可能最好在外包团队的支持下完成。在这种方法中,全堆栈 Java 开发团队的工作将是提供集成和安全的 “树根” 和移动服务的 “树干”。只有这样,有了移动应用程序的类似原型的版本,才能围绕您团队创建的树干来构建下一个包含更完善用户体验的版本(解决方案的 “树叶”)。此方法可确保遵守企业中的集成和安全最佳实践。
通过让移动质量保证团队使用现代监视和分析工具,您能够快速了解用户对已部署移动应用程序的反馈,并根据该反馈来调节应用程序的功能和可靠性,从而满足用户期望。
最后,除了有吸引力的用户体验,移动市场中还有一些新的桌面筹码,包括社交网络的集成和无缝使用,认知计算的兴起,这些都会影响您开发和交付新移动应用程序的方式。
要为现有基础架构添加一个移动渠道,可采用几年前添加 Web 接口或 Java 厚客户端的相同方法来实现此目的。与您公司之前为了将现有记录系统和企业事务系统提供给 Web 用户而做的工作相比,移动工作也应该类似。
企业 IT 架构师需要计划如何扩展遗留系统,或者如何将它迁移到平台即服务中的微型服务架构。尽管 Web 用户流量似乎已经饱和,但越来越多的用户和客户现在开始通过移动渠道访问站点。
使用 JEE 服务器构建的合适的 Java 企业系统可迁移到 PaaS,并公开部分或所有功能。此外,从集成和安全角度讲,您可能更喜欢使用专用于移动开发的中间件服务器,将它们用作所有针对移动渠道的通信的现代枢纽。您还可以决定将所有资源保留在一个容器中,该容器托管在灵活的 PaaS 上并连接到企业记录系统。
无论您公司所采用的策略是什么,在未来几年,该策略都会为我们(Java 开发人员)带来大量工作。