在最新版本的ASP.NET CORE 2.0版中,我们现在非常喜欢Razor Pages,因为它显示了MVVM的开发方式,我已经很熟悉了,因为我已经在UWP中使用了它。
我一直在搜索不使用js的Web应用程序,因为我是.net开发人员,因此遇到了称为DOTVVM的框架,这很棒,因为它提供了js框架的某些功能(例如angular,react等),并且集成得很好使用ASP.NET CORE 2.0
我想在以下三种情况之间进行讨论:
我应该使用DOTVVM而根本不使用js。
我应该将剃须刀页面与asp.net core 2.0结合使用,因为剃须刀页面提供dotvvm提供的所有功能,并且将来还会有更多社区。
我应该学习像Angular或react这样的** js框架**,因为剃刀页面和dotvvm都不足以替换它们。
讨论可以从所有开发人员的角度进行,因此我可以得到js开发人员以及使用dotvvm或razor页面工作的人员的意见。目的是创建具有良好性能的完全交互式和响应式的Web应用程序。
重要说明:**创建的Web应用程序从一开始就可以是**渐进式Web应用程序,或者在创建后可能会变成pwa,这取决于我最后选择的技术。
我知道对于一个渐进式Web应用程序,我将需要编写一些js,但是考虑到这非常简单且编写很少,这没关系。
这个问题的原因是,我们可以从多个角度讨论这些选项,并最终为我的应用程序推断出更好的选择。
提前致谢。
最佳答案
这实际上取决于您要创建的应用程序的类型。事实是您可以在任何Web技术中构建任何应用程序。区别仅在于难度有多大。
Razor Pages非常易于使用,并且是ASP.NET Core平台的一部分。他们正在使用MVVM模式,但对客户端交互性无济于事。如果您需要根据某些条件隐藏某些表单字段,则需要在JavaScript中进行。
我将它们用于简单的公司网站,非常简单的管理页面(很少页面和琐碎的形式),或用于某些电子商务网站的面向公众的部分。我可能还会使用jQuery或其他库来进行交互,动画和类似的事情。
DotVVM是一个MVVM框架,它尤其适用于具有复杂UI的Web应用程序:具有数十个字段和交互性的许多复杂形式(当您在组合框中选择一个项目时,另一个组合框将获得新值,某些字段将被预先填充,表格的一部分将消失或更改,依此类推)。模态对话框,多步骤向导,大量带有数据的网格,排序,分页...
因为DotVVM可以为您处理很多事情,并将数据绑定转换为JavaScript,所以您无需自己编写JS。这并不意味着您不应该学习它。如果知道的话,它将对您有很大帮助-您将能够添加更多的交互性,在需要时扩展框架等等。 DotVVM可以让您在不了解JS的情况下做很多事情,但是如果您了解JS,您将获得更多。
如今,Angular,React或其他客户端框架已被广泛使用,并且在其中构建了许多网站和应用程序。它们比DotVVM更为通用,后者主要针对业务应用程序领域,并且在服务器上需要.NET(因为它不仅是客户端库)。
使用Angular或React不仅需要JavaScript知识。您将需要了解Node.js及其相关工具,例如npm。您将需要与服务器交换数据,因此您可能需要构建一个REST API,使用Swagger生成客户端代理类,然后您可能需要一些其他带有控件之类的JS库。
有很多东西要学习,如果您习惯了Visual Studio的舒适性(如IntelliSense或调试器),则肯定会错过这些功能。
最后,您不需要坚持一项技术。例如,您可以将Razor Pages与DotVVM结合使用。您可以在DotVVM中创建管理仪表板,并在Razor Pages中创建网站的公共部分。