.net 做前后端分离的网站后端需要做啥呀

「已注销」 2018-09-07 11:52:56
.net 做前后端分离的网站后端需要做啥呀,而且是怎样一个流程,以前只做过MVC的web项目,不知道前后端分离后端要做些啥
...全文
1290 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
dongmusic 2018-11-21
  • 打赏
  • 举报
回复
最近老是听到这样的概念,但是感到还是难以理解,要是有实际的例子看看,那就好了。
  • 打赏
  • 举报
回复
就行的 --> 流行的 vue,angular,react 都有比较繁冗的地方。react 还有专利上的危险,facebook随时可以用 react 来作恶,所以国内大公司禁用 react 了。那么我觉得你学习vue 里边的三分之一到四分之一的精华,就够了,就可以研究自己的开发框架了。
  • 打赏
  • 举报
回复
软件设计有它的“层次”,需要分多层进行设计和控制开发进度,每当出现一个问题是都要重新按照这种技术层次来分析bug和解决问题。这个是关键技术,我不能说的太清楚。 使用就行的前端开发框架是唯一的选择。仅仅会 js/jquery 之类的,就好像是仅仅会 c 语言而不会 .net framework 一样(仅仅学过 c# 但是却没有 .net framework 里边几个主要框架的应用系统学习),开发效率低几十倍,所以就只能在家里“玩儿”一些小练习,而不能开发大型 web 企业级应用系统。要设计和开发系统,单纯从技术上说,你必须学习一种前端框架。而这些框架不过也只是最基础的前端开发技术,从需求分析、用word画出的用户要求的灵活界面能够迅速转化为复杂灵活的交互式 web 界面,中间需要分好几个层次,需要从好几个维度来设计,需要有能够从不同层次灵活出入去分析的人,才能掌握核心技术。
  • 打赏
  • 举报
回复
前端ajax请求后端的webservice
dongmusic 2018-09-20
  • 打赏
  • 举报
回复
我也有和楼主一样的疑问,如果有些完整的demo就好了。
「已注销」 2018-09-07
  • 打赏
  • 举报
回复
那就是前端给个请求,是到web API 上,API传到后端然后在返回数据回去?请问你有没有什么demo我参考下呀,还是有点懵,谢谢了
正怒月神 2018-09-07
  • 打赏
  • 举报
回复
很简单,后端webapi,前端vue框架。
抛开业务流程不说,比较重要的反而是数据加密这一块了。
asp.net的mvc的确不算真正的前后端分离。
正怒月神 2018-09-07
  • 打赏
  • 举报
回复
引用 2 楼 qq_29637191 的回复:
那就是前端给个请求,是到web API 上,API传到后端然后在返回数据回去?请问你有没有什么demo我参考下呀,还是有点懵,谢谢了

其实你写一个html通过 ajax访问webapi,获取数据,然后绑定到html就可以了额。
但是前段由于jquery操作document元素已经很落后了,
所以使用 vue,angular,react等等的前台框架来绑定数据更方便。
从而代替了jquery。
  • 打赏
  • 举报
回复
对的。一旦将技术转移到前后端分离,那么就用传统的 c/s 程序理念,并且你可以使用 websocket 通讯方式来彻底抛弃 http 性能问题。此时你彻底摆脱了 asp.net 程序传统思维编程方式。asp.net 仅仅用来提供数据(功能)访问服务而已。

其实,你用任何一种服务,例如用 c 语言写一个数据服务端,都可以。并不需要 asp.net。只不过 asp.net 开发方便,才用它作为前端 html/css/js 的宿主。而前端应用甭管多么巨大(比如说把一个 Excel、Word 功能都作为一个前端应用系统而发布),也都不过是一个独立 html 应用。
  • 打赏
  • 举报
回复
你设计一个 web 前端应用,一旦加载一个(例如)
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0, initial=1.0, user-scalable=no, target-densitydpi=medium-dpi" />

<title>XXXXXXXXXXXXX</title>

<link href="Content/bootstrap.min.css" rel="stylesheet" />
<link href="css/myCss.css" rel="stylesheet" />
</head>
<body>
<div class="template"></div>

<script src="Scripts/jquery-2.1.0.min.js"></script>
<script src="Scripts/bootstrap.min.js"></script>
.....如上格式一堆的 js 文件引用 .....

<div class="seo"></div>
</body>
</html>

这样的文件到浏览器,它就开始主导用户登录、业务处理,而并不刷新整个页面。

这就是独立前端应用。所以你的之前的开发技术都不怎么需要变化,关键可能是理念要变化。这就好像是手中握着锤子、电钻的人从来没有想到能用来造车,一旦学了技术之后才知道原来自己手中的工具除了可以造粗糙的三轮车以外也可以造相对精细一点的小汽车了。
「已注销」 2018-09-07
  • 打赏
  • 举报
回复
引用
3楼的回复

多谢大佬的解答,也就是说,页面的变化不在页面一个请求后,去服务器端下载一个新的html,而是把你需要的数据从服务器拿来,重新渲染前端页面,所以后端只是做一个数据服务,请问你有没有这方面的小demo让我学习下呀,html/js都接触很久了,只是以前都只有用MVC或者python的django框架做的MTV模式的web,对前后端分离的概念一开始有点理解不来,请问你有没有什么demo参考下呀
  • 打赏
  • 举报
回复
在这方面,asp.net MVC 只能说是一种产品。如果纠结 M、V、C 就比较荒唐了!

因为前后端都分离了,那么 V 还有什么用?前端才是表现层,web 服务器端没有管理具体表现层,所以 V 不存在了。而V都不存在了,那么 C 也就是个标题党是个扯淡的摆设。实际上 asp.net MVC 里边的 Controller 此时也就是被偷换概念说成是 web数据服务,而不再是 MVC 模式里边的为了维持 V 而设计的 Controller 了。

所以说,当前后端分离后,asp.net MVC 此时根本就是一个产品名词儿而已,根本不需要再说什么 MVC。
  • 打赏
  • 举报
回复
MVC 的 Controller 是用来一遍遍整体刷新 View 用的机制。当前后端分离后,再把 asp.net MVC 的作用(提供数据服务)说成是 MVC 模式就荒唐可笑了。

此时 asp.net 只是作为数据服务。根本不是 MVC。
  • 打赏
  • 举报
回复
前端可以承载于任何能够支持 html/css/js 等基本文件下载的 web 网站中。因此前端完全可以在 asp.net 项目里开发,而且可以使用 vs 来调试 tyescript/javascript。所以使用 vs 工具是没有任何问题的。

但是工具是最低级的东西,关键还是理解工具背后的产品设计原理。
江湖评谈 2018-09-07
  • 打赏
  • 举报
回复
MVC


的 C和M 是可以看做完全分离


C里面逻辑控制, V只管显示视图。


RazorViewEngine 是管这一块
  • 打赏
  • 举报
回复
引用 2 楼 qq_29637191 的回复:
那就是前端给个请求,是到web API 上,API传到后端然后在返回数据回去?请问你有没有什么demo我参考下呀,还是有点懵,谢谢了


如果你真正认真学过 html/css/js 开发,那么你写一个单页面的 html 文件,它附属一些样式、html片段、js 代码等等文件,然后直接在任何地方(包括桌面上)目录下直接打开这个 html,就能开启一个轻量级的 client 程序。

没学过 html/js 开发或者学的是比较次的课程的话,就找一个好学校从 js 基础重新开始学。
  • 打赏
  • 举报
回复
所谓前后端分离,是网络应用程序根本上的理念正规转变。这就好像是传统的桌面上的 c/s 程序完全一样,前端 web 程序就是 client,只不过是基于浏览器的(pc、平板、手机等等的浏览器)而已。

所以富客户端 web 应用程序,或者说“前后分离的web应用系统”,本质上就是规范的 c/s 系统架构,设计的根本来自于前端。那种再去号称什么 asp.net 或者 jsp 的“后台开发人员来写界面”的就是伪开发,就绝对不是前后端分离的系统设计。

你抓住 web c/s 架构这个关键的概念就能开始理解它。不管一个 web 应用有几千几万行 js 代码、有多少模板和样式,都是单页面的,通过数据来自动在浏览器端渲染前端界面的每一个细节(每一个 dom element),而不是一遍遍地从 web 服务器上去下载页面。

7,774

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧