继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

通过移动设备投资变得简单

郎朗坤
关注TA
已关注
手记 354
粉丝 48
获赞 212

Chase是如何为网上投资者开发了一款原生移动交易平台应用

由:Kenny Sanchez(Chase公司),高级软件工程师

许多我们的摩根大通财富管理客户在市场开放时自主交易,积极管理他们的投资组合。在现在的快速变化的金融市场中,灵活性和实时访问交易机会对于成功至关紧要。开发原生移动交易平台而不是依赖混合平台是一种战略举措,旨在为投资者提供无缝、随时随地访问其投资组合和市场的途径,但为了实现这一目标,我们需要知道当前环境中的哪些措施有效,哪些无效,以及背后的缘由。

为了给客户提供更好的服务,我们开始了旅程,致力于开发我们自主交易平台的原生移动应用更直观且响应更快的用户界面。结果包括优化了用户界面,将下单时间缩短了20%,并将订单完成率提高了10%。

这些结果表明客户参与度有所提升,并有助于提高客户满意度,由于用户现在能更快地完成交易,实时监控市场动态,并通过一个更快、更流畅、视觉上更友好的应用程序高效管理他们的投资。

我们是怎么做到的。

定义如何改进客户体验

在我们能够想出和建立方案之前,我们需要弄清楚客户遇到的问题及其原因。我们确定了六个关键点来集中精力。

  1. 性能问题 — 混合应用程序不如原生应用程序快,导致加载时间变长和卡顿,特别是在交易高峰期。
  2. 用户界面和体验 — 网页与原生组件之间的设计和行为不一致可能使用户感到困惑。应用程序没有原生应用那样流畅和直观。
  3. 设备兼容性 — 混合应用程序在设备上的表现不佳,导致兼容性问题。屏幕尺寸和分辨率的差异也会影响应用程序的外观和可用性。
  4. 安全顾虑 — 混合应用程序比原生应用程序更容易受到安全威胁,而原生应用程序可能集成了更强大的安全措施。
  5. 电池使用 — 混合应用程序资源消耗更大,导致比原生应用程序更高的电量消耗。
  6. 对设备功能的有限访问 — 混合应用程序对某些特定设备功能的访问受限,与原生应用程序相比,功能较少。

这些努力的结果不仅体现在提高了速度和交易成功率上,而且还开发了一套解决方案,使用户在新推出的移动应用程序和在线平台上获得积极体验,例如:

  • 一个直观、易于导航的设计,旨在提升初学者和资深投资者的交易体验。
  • 实时市场数据和更新,为用户提供最新信息。
  • 强大的安全措施,确保他们的投资和隐私信息的安全。
  • 用户可以随时随地管理其资产组合并执行交易的能力。
  • 快速响应的客户支持团队。

原生实现贸易功能使我们能够充分利用设备的硬件和操作系统的全部潜力,这带来了更快的加载时间、更流畅的导航和更灵敏的用户互动。原生应用遵循特定平台的设计指南,使用户界面和体验更加符合用户的期望。这包括更流畅的动画、更直观的手势和布局。它们在外观和操作上与设备上的其他应用程序相似,为用户提供熟悉的使用体验。

原生应用可以实现系统级别的手势,如滑动、捏合或强力触控等。这些手势内置在操作系统中,使得原生应用的交互更加流畅自然,相比基于网页或混合应用而言。由于原生应用是专门为平台构建和测试的,它们通常更稳定,崩溃和故障也更少。

规划我们的旅程

第一步是组建一个自助投资(SDI)移动团队,包括产品所有者、设计师、iOS和Android工程师以及服务工程师,来设计和开发一个直观的交易流程应用。

在构思阶段,团队决定创建一个解决方案,该方案提供快速加载时间和功能标志模式(Feature Flag 模式),使客户能够开启或关闭应用程序功能。该解决方案还需要一个原生的、引导式的用户体验,使用现代设计语言,具备精简的用户界面,更快的加载时间以及更少的操作步骤。每个步骤中的最关键信息需要清晰突出,使用简洁的语言,并提供上下文支持。

这次转变涉及从一个使用 Web 技术(如 HTML、CSS 和 JavaScript 构建的混合型移动应用)过渡到为 iOS 和 Android 平台开发的原生移动应用,以达成以下目标:

  • 改进性能
  • 提供更好的用户界面体验
  • 获得平台特定功能的访问权限
  • 呈现更精美和一体化的外观和感觉

团队还确定需要分阶段推出,以减少大规模问题的风险,并以便在实际使用中跟踪交易特性表现。

搭建解决方案

我们的单一阵列应用程序(Chase Mobile® app)已经构建完成,所以我们迅速让 iOS 和 Android 工程师熟悉了它的组件架构。负责该原生应用的首席工程师审查了他们如何构建组件(包括依赖项和路由)的架构,该架构使用简单、标准和可扩展的方法来构建独立的组件。

团队开发了一个功能组件的主要职责包括,一系列与特定产品领域相关的项目,设计成可以集成到更广泛的查氏移动应用中。概括来说,功能组件负责:

  • 拥有所有业务规则
  • 协调并处理所有服务请求
  • 维护所有数据模型、规则和缓存(如有必要)
  • 创建所有UI元素和流程

一开始,我们希望为用户提供一致的跨设备体验。我们在Chase Mobile应用中使用了通用组件,让用户在每个平台上都能获得流畅且熟悉的使用体验。我们还利用本地开发技术来设计和定制用户界面,使其更加精良。例如,我们的设计团队设计了一个自定义键盘,用于快速准确的数据输入,优化了与交易相关的任务界面,降低了错误的风险,并提升了整体用户体验。自定义键盘使我们能够更好地控制布局、功能和特性,这在应对市场变化或引入独特交易策略时非常有用。

原生开发使我们能够充分利用每个平台的底层硬件和软件。这导致了更快的应用速度,更流畅的动画效果以及更短的响应延迟。这达到了我们的一个目标,即提供更快速响应和更愉快的用户体验。

并行开发流程

当团队们各自为操作系统开发独立的代码库时,他们通过定期会议和版本控制保持同步。同一任务的开发人员会协作并确保逻辑实现一致。通过代码审查会议,开发者和质量保证人员可以了解每个平台上实现的具体情况。

当我们开始为J.P. Morgan财富管理开发本地贸易应用程序时,我们采用了基于特性的开发流程。每个开发人员在功能分支上进行所有的代码更改,从不直接将代码更改推到主分支。这让我们可以安心地为功能开发做代码修改,而不用担心影响到生产代码。

然而,特性驱动的开发导致了挫败感和生产力下降。例如,当多个拉取请求被排队等待合并到主分支时,发布经理负责审查这些拉取请求,并尽快将它们合并到主代码中。这可能导致冲突,这使我们等待更长时间才能完成合并。这延迟了构建,这也推迟了我们的测试工程师开始测试的时间。

为了解决不满并提高生产力,我们转向了干分支开发,开发人员主要在单一的分支(“干”)上工作。更改尽快直接集成到主分支,促进了持续集成、加快了反馈速度并减少了合并冲突。

为了实现后端集成,我们与服务团队紧密合作,了解所有API及其响应。我们采用了契约驱动开发(CDD)的方法,也称为契约测试,并强调在系统各部分如微服务、组件和API之间创建和测试契约。这种方法确保了不同系统组件之间能有效沟通,达到预期的功能和效果,从而让整个系统更加稳定可靠。服务器和移动团队定义了契约,明确了API的预期行为,包括数据格式、响应时间和错误处理。CDD使我们能够根据契约快速创建API或服务的模拟实现或桩,这样一来,开发人员可以并行独立地对应用程序的不同部分进行测试,通过模拟契约检查各部分的功能。

质量保障

我们的质量保证流程包括在各种设备和模拟器/仿真器上严格测试应用程序。为了减少我们的功能变得可以交互并开始测试所需的时间,我们使用ShellApp(一种快速启动交互测试的工具)来加快这一过程。

我们的ShellApp是用于测试的Chase Mobile应用的一个轻量级入口点。我们使用它来测试。ShellApp仅初始化必要的部分,比如导航、基本的UI组件或运行特定功能(如交易)所必需的核心服务。基本的ShellApp界面提供了进入各个功能的入口,让我们能够快速测试对特定功能所做的更改,而无需加载整个应用及其框架、库和业务逻辑。

我们解决了 bugs,优化了性能,并提高了易用性。桌面验证为整个项目团队提供了一个机会,以确保所有人都了解一致的信息,且我们的产品按预期运行。Beta 版本被发布给一小部分用户以收集反馈。为了实现自主性而不依赖于更大的 Chase Mobile® App 二进制文件,我们创建了一个最小化的 Retail 框架,提供应用程序的核心组件来加速框架测试。我们使用了一个模拟的服务器来减少对 UAT 测试环境的依赖。这个迭代过程帮助我们在发布前识别和解决了一些问题。

确保我们的应用程序符合ADA标准的要求,使其能够被残疾人士使用,并促进包容性,并确保我们应用程序的内容和功能对所有人平等开放。测试我们的移动应用以确保符合ADA标准带来了一些挑战。我们必须考虑到包括视觉、听觉、运动和认知障碍在内的各种残疾情况。我们的应用程序的频繁更新必须确保持续符合ADA合规性,我们还不断教育开发团队掌握无障碍的最佳实践。为了保持敏捷性,我们也鼓励开发团队成员执行ADA测试。

学到的课程

大家共同努力以及我们的评估、构思和建设过程的结果让我们学到了很多可以在未来项目中应用的东西,其中包括:

  • 用户反馈整合 — 定期收集并整合用户反馈来改进功能和用户体验。
  • 利用测试版阶段根据实际用户互动来完善应用。
  • 提供清晰的入门指南和教程来帮助用户了解应用程序功能。
  • 提供强大的客户支持渠道,以便迅速解决用户问题。
  • 在开发早期进行彻底测试。
  • 使用自动化测试框架来简化测试流程。
  • 持续监控并优化性能,确保应用快速响应。
  • 遇到性能瓶颈时,及时解决并优化服务器响应。
发布过程及成果

最终的交易应用程序设计简洁、干净,且非常用户友好。移动架构采用模块化设计,以便将来可以轻松添加诸如共同基金(mutual funds)、美元交易和期权等新功能。

如图所示:购买整股的移动应用截图。

我们使用了功能标志的设计模式,这使我们能够打开或关闭应用程序的功能,从而控制应用程序功能的推出,以减少广泛问题的风险,并监控功能在生产中的表现。这种方法也帮助了营销、产品和开发团队之间的合作,根据数据和用户反馈调整功能。

Mobile app screenshots of fractional shares being purchased.

这些是购买零股的手机应用截图。

结果是一款更直观且响应更快的应用,投资者可以随时随地访问并实时管理其交易,这是我们的团队带来的又一项宝贵创新,可以在 Chase 内部推广应用。

你喜欢你所读的内容吗?看看这里,我们所有的科技职位这里 .

摩根大通是一家平等就业机会提供者,包括残障人士和退伍军人。

仅供信息与教育目的使用: 本文中表达的观点可能与JPMorgan Chase & Co.的其他员工和部门不同。文中所述的观点和策略可能并不适用于所有人,并不旨在作为任何个人的具体建议或推荐。在做出决定前,您应该仔细考虑您的需求和目标,并咨询适当的专业人士。未来展望和过往表现并不能代表未来的表现,过去的业绩不代表未来的表现。

提及第三方的商标、品牌、产品和服务仅作为参考, 并不意味着任何赞助、认可或关联的存在。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP