【发布时间】:2017-05-21 06:21:31
【问题描述】:
我想构建一个全新的应用程序,该应用程序应同时部署为混合移动应用程序和桌面网络应用程序。
这两个应用程序的逻辑和用户界面大多非常相似。 除了一些差异:
- 移动设备的屏幕尺寸优化(例如移动设备中的隐藏侧边菜单与桌面设备中的扩展侧边菜单)
- 移动设备中的触摸手势 (3DTouch) 与桌面设备中的悬停功能
- 移动设备中某些元素的触摸反馈
- 移动设备中的页面导航与桌面设备中的路由导航
我想在桌面上使用angular-material 组件,在移动设备上使用Ionic 组件和导航,因为两者都是基于 Angular 构建的。
当然,我的目标是尽可能多地共享代码,用于逻辑以及 UI 容器组件。
所以我试图想出一种很好的方式来构建我的项目,同时为桌面 UI、移动 UI、共享 UI 和逻辑创建单独的 Angular 模块:
一种选择是为两个应用程序拥有一个核心模块,导入逻辑和共享 UI 模块。然后在为每个平台构建时在特定平台 UI 模块之间切换。在此选项中,特定于平台的 UI 组件将具有相同的 selectors 和 @Inputs,但它们呈现的 UI 会有所不同。
第二个选项是为每个平台应用程序设置单独的核心模块,以导入逻辑模块和共享 UI 组件模块。
也许有人有做这种事情的经验,并且可以分享他对涵盖所有这些的最佳项目结构的想法?
或者我建议的哪个项目结构更好?
【问题讨论】:
标签: angular web-applications ionic2 hybrid-mobile-app