在网络应用 (Angular2) 和移动应用 (Ionic 2) 之间共享代码

Posted

技术标签:

【中文标题】在网络应用 (Angular2) 和移动应用 (Ionic 2) 之间共享代码【英文标题】:Share code between web-app (Angular2) and mobile app (Ionic 2) 【发布时间】:2016-05-13 09:51:31 【问题描述】:

我是这些技术的新手,如果我的一些问题没有意义,请原谅我!

我必须为我的公司开发一个网络应用程序和一个移动应用程序。我在考虑 Ionic 2,因为它使用 Angular 2,我想在我将使用 Angular 2 构建的 Web 应用程序和使用 Ionic 2 的移动应用程序之间共享代码,因为它们会做几乎相同的事情。

我该怎么做?我想保持应用程序的逻辑相同,我只想修改一些关于 UI 的内容。 谢谢!

【问题讨论】:

我已经回复***.com/questions/45499451/…看看有没有人能找到帮助。 感谢您的信息,我会尽快查看文章 :) 但是,我注意到您使用的“通用”一词实际上是指同构,但事实并非如此,并且可能会产生误导! 【参考方案1】:

你很幸运。

使用 Ionic 2 (Angular 2),您只需从 www 文件夹中获取所有代码并将其放在您的网络服务器上即可。

当然,您可以稍微调整一下样式,但这不是强制性的。

说实话,Ionic 1 也可以做到这一点。但是,它没有得到官方支持,但 Ionic 2 支持。

【讨论】:

哦,我从没想过会这么简单!谢谢 ;) 你经常使用 Ionic 吗?你怎么看待这件事?我必须在 Ionic 和 Xamarin 之间进行选择,但由于我的应用程序不需要很多本机操作,我想我会选择 Ionic 2! 实际上,我对这个答案有点偏见,因为我完全使用 Ionic。我写了一本关于它的书,你可以免费下载它here,为Pluralsight写了一个10k的教程,目前是[#3 top answerer]。 (***.com/tags/ionic-framework/topusers) *** 上的 Ionic 框架。尽管如此,我仍然会使用 Ionic 而不是 Xamarin,因为 Ionic 也有插件支持。实际上超过 70 个:ngcordova.com/docs/plugins 在你看来,有什么是你不能用 ionic 做的吗? 3D 游戏没有意义,例如,用 Ionic 制作 在哪个设备上运行缓慢?你看,Ionic 和你手机上的底层 webview 一样快。我将像我昨天在一次会议上所做的那样回答你的问题:请停止分析瘫痪。选择一个框架(与此相关的任何框架),使用它,看看它能让你走多远。所有这些关于 X 变慢或 Y 更好的讨论都是没有意义的,除非你自己为你的用例尝试它。人们经常引用 Facebook 作为他们说“混合不起作用”的例子。诚然,它对他们不起作用。这里的关键词是为他们【参考方案2】:

我认为更好的解决方案是使用 NativeScript,它真正允许您在 ios/android 应用程序和 Web 应用程序之间共享 Angular 2 代码。

查看以下博文 http://angularjs.blogspot.bg/2016/03/code-reuse-in-angular-2-native-mobile.html

我也在寻找使用 Ionic 并且对同样的问题有点摸不着头脑,但我认为 Ionic 还没有真正可维护的解决方案。正如本文所述,NativeScript 似乎是第一个拥有此功能的人,“这在一年前是不可能的,但现在有了 NativeScript 和 Angular 2.0,这已成为现实。” https://www.nativescript.org/blog/details/nativescript-2.0---the-best-way-to-build-cross-platform-native-mobile-apps

【讨论】:

【参考方案3】:

我在Angular 2 And Ionic for Web and Mobile App回复了类似的问题

看看能不能帮到你。

【讨论】:

以上是关于在网络应用 (Angular2) 和移动应用 (Ionic 2) 之间共享代码的主要内容,如果未能解决你的问题,请参考以下文章

Webapp 和移动应用程序使用的 Spring API

Angular 2 应用程序中 NgOnInit 生命周期钩子中移动方法的问题

在 Angular 2 中使用节点模块

Angular2 从 JSON 数组中删除重复项

最新Angular2案例rebirth开源

最新Angular2案例rebirth开源