适用于 Web 和移动应用程序开发的技术

The right technologies for Web and mobile app development

我打算实现我的一个想法。因此,我想为 iOS、Android 和 Windows Mobile 开发一个 Web 应用程序和单独的应用程序。 该应用程序将写入和读取数据 in/from 一个数据库。 因为我将从头开始,所以我对所有技术都持开放态度。

我以前从未开发过具有业务逻辑的网站,也没有做过移动应用程序编程。我熟悉 c#、.NET、HTML、CSS、JS,我喜欢使用 Visual Studio。 正如您可能已经假设的那样,我想共享尽可能多的业务代码。在做了一些研究之后,我认为使用 Xamarin 在 c# 中开发移动应用程序是个好主意。为了在 Web 和移动设备之间共享业务代码,我考虑实现一个两个客户端都可以调用的 Web 服务。

在我开始编码并且可能会为工作选择错误的工具之前,我想评估什么是最好的方法。 不必使用我熟悉的技术,如果这能带来真正的优势,我愿意学习任何技术。无论如何,如果我可以使用 c# 和 .net 框架,那就太好了。

为了消除任何误解,我不是在寻找一种完美匹配的技术,而是在寻找能够完美组合并发挥最佳作用的一堆技术。

您可以为我推荐哪些技术?

这是我在 Whosebug 上的第一个 post。如果我忘记了任何重要信息,请通知我。

提前致谢。

对我来说,如果你通常使用 .NET 进行开发,那么使用 Xamarin 可以很好地解决业务逻辑问题,主要是如果你使用 ASP.NET 5. 你应该很好地混合, ASP & Javascript 用于网站,大量业务逻辑和数据应该在移动部分开发后完成。

你只需要创建一个好的架构来避免特定的代码。

对于 Xamarin,如果您有很多特定的平台功能要实现,则可能会出现负面影响。 让我们解释一下这一点: Xamarin 为我们提供了两种开发跨平台应用程序的方式,您可以共享 UI & Logic ( Xamarin Forms ) 或者您只能共享 Logic ( Xamarin Core )。

表单的优点是您可以使用简单的设计轻松编写交叉平台UI。 当您想为每个平台或使用本机功能进行大量特定编码时,缺点就来了(对于这种情况,最好的解决方案是使用 Xamarin Core)

如果您使用 Xamarin Core,您应该知道 IOS、Android & Windows Phone 碱基,因为您使用 "copy"每个平台的本机代码。

对于移动部分,我可以建议的最后一点是使用像 Cordova 这样的 JS 框架,这可能是一次完成网站和移动应用程序的好解决方案。

这种平台与Xamarin.Forms有同样的问题,如果你想为每个平台做一些特定的编码或使用每个平台的原生功能,你将需要安装插件并可能创建特定的代码.

希望我的解释可以帮助您选择开发应用程序的最佳方式

如果你熟悉 C# 和 Visual Studio,Xamarin 是完美的解决方案,但如果你想使用网络技术,那么你有很多选择可以使用,例如CordovaTypeScript(TypeScript 是 JavaScript 的类型化超集,可编译为普通 JavaScript。它无处不在并且是开放的源)。