我需要开发一个严重依赖 USB / Serial ,WebAudio以及其他可能使用的硬件API的应用程序。
目前,此应用仅适用于 Windows 10平板电脑,因此它还应支持触摸和手势。 但是当然,我很乐意将应用程序逻辑与Windows / UWP API分离开来,以便将来能够将其扩展到许多其他平台。
我选择使用 Typescript&Angular 编写此应用,但对于如何为此目的使用框架组合还不确定:
1)我应该只使用纯Electron-Angular-HammerJS组合吗? (并可能部署它as UWP app)
2)我是否应该加入Ionic Framework,以便更好地支持触摸和移动性?还是电子与离子的这种结合会不必要地夸大我的应用程序?
3)纯Ionic(作为不带Electron的UWP应用)是否支持Windows USB /串行功能?到目前为止,我发现只有适用于Android的USB-Cordova插件...
4)离子电容器是否可满足此应用的目的?一方面,该框架倾向于支持包括Electron在内的许多平台,但另一方面,它的核心库不包括USB /串行API,即使我选择编写通用插件来使用硬件(例如USB)没有太多关于创建电容器-电子插件的文档...
我很高兴您的意见,因为目前我非常困惑,不知道该选择什么...
答案 0 :(得分:-1)
我将提出一个有争议的意见。
如果您需要依赖多种技术,那么每种技术都需要一个库,因为通常您不想重新发明轮子。例如,为了支持加密,我将研究一个加密库。
现在,如果某个特定的库将自己宣传为框架,则逃跑!框架可以并且将与应用程序中的所有其他框架抗衡。您最多只能有一个框架。您需要将整个应用程序包装在框架周围。您的应用程序中只能有0或1个框架。
因此,我的建议是您的应用程序中框架的最佳数量为0。
使用库,不要使用框架。如果图书馆将自己宣传为框架,请不要使用它。
框架很快就过时了。图书馆通常不会过时。
现在,当然,最终一个特定的库可能会变得不再维护。因此,我将为每个图书馆计划一个“退出策略”。仔细查看可用的库类型。看他们的编程接口。无论选择哪种库,都围绕其编程接口创建包装器,从而为使用案例提供最小限度的必要接口。实际上,它是所有可用库中最低的公分母。如果该库不再维护,则无需重写整个应用程序,而只需重写包装器即可。