公司近期准备考虑前后端分离,此前项目的架构一直是.net wcf+mvc,在前后端分离自己没有太多的经验。
本人现期需要负责的是服务端的编写,所以在此想请问一下大家在考虑写服务端的时候要注意些什么地方,比如安全加密等方面。
现服务端语言考虑在.net core2.0 和 Go 之间选一个。希望大家能够给一下建议,需要注意的方面。谢谢大家。
1
zysidea 2017-08-22 15:09:44 +08:00 1
果断用 Go
|
2
Salo OP 后期需要考虑增加 APP 端。现在一直在想怎么考虑一个比较周全的方案出来。不为以后留坑。
|
3
Hozart 2017-08-22 15:33:59 +08:00
瓜皮的我处理 跨域&ajax&重定向 搞了好几天
|
5
artikle 2017-08-22 15:41:56 +08:00 1
在之前的一家小公司搞过 WebApi 实现接口 主要给客户端 /APP/网站 /H5/微信调用
1.注意调用加密 2.注意接口版本升级 |
6
laoli2017 2017-08-22 17:59:47 +08:00 2
有 java 不用,我也是醉了。.NET 就不要说了,你们公司自己用无所谓。如果出去打单,绝大多数企业不接受。
go ? go 是什么东西?你上 51job 搜搜,看看有几个公司招 go 的? 其他的嘛,统一 https。至于 ajax ?如果是对外的网站,估计推广的人会哭死。 后台提供接口,前端用 jsp 的模板套 ajax。 |
8
m939594960 2017-08-22 18:08:56 +08:00
@laoli2017 #6 送你两个字 “无知”
|
9
hst001 2017-08-22 18:09:21 +08:00
如果是在这二者选,当然是用 Go,未来 web 开发的趋势
|
12
plantain 2017-08-22 18:52:24 +08:00
|
14
sniffles 2017-08-22 19:05:32 +08:00
前后端分离,通过请求和接口来沟通,我站在前端的角度分析一下
1 处理好请求的分类,静态文件,接口,模板文件(如果是 SPA 的话)等等 2 如果你们前端上 Vue/React/Angular 这类 SPA 框架,切记不要重定向,301,302 都不行,因为前端通过 router 进行页面切换,他会疯掉的 3 接口传参数用 json 字符串,如果直接传 array 和 object,浏览器会进行奇怪的处理 4 前端会用到很多奇奇怪怪的组件,对数据格式会有要求,前端提返回数据格式需求做好心理准备 暂时没想到其他的,想到再补充 |
17
azh7138m 2017-08-22 19:54:37 +08:00 via Android
@xrlin 跨域和用啥库没关系的,要么服务器设置允许跨域,要么就是 jsonp 这种,套路很简单
|
18
paradoxs 2017-08-22 19:55:53 +08:00
不用 java 是不负责任的行为.
|
19
wwdyy 2017-08-22 20:00:00 +08:00
如果仅仅是这两个语言比较的话,那肯定是 go
|
20
Tuisku 2017-08-22 20:06:01 +08:00
如果仅仅是这两个语言比较的话,那肯定是 .Net Core。
“不得不说.net core2.0 继承了微软家产品简单易用的特点,我在一个 空荡荡的 linux 服务器执行了 6 行命令,一个完整的.net core 程序就跑了起来, 根本不需要像使用传统 linux 技术一样配各种环境。而且,在不同的平台上,不管是 linux、windows 还是 mac, .net core 的部署和操作基本上是一致的。 你在 windows 上部署好,一样的操作流程在 linux 上也可以用。 省心。很多人喜欢黑微软,可在易用性方面,他家鸡蛋里永远挑不出骨头。” “在编程体验上, 市面上任何技术都不可能和.net 技术正面刚。 比 C#用起来爽的语言有吗? 比 visual studio 用起来爽的开发环境有吗? 要是能找的出来算你赢。” 引用自: http://www.cnblogs.com/aspwebchh/p/7409969.html |
22
visonme 2017-08-22 20:46:09 +08:00
不知道是什么原因让你放弃 WCF 作为后端主要技术?
虽然 Go 现在很火,但是我还是推荐你用 Net core,最大的前期优势就是你本身就是这个语系出来的。 如果不考虑跨平台,其实 webapi2 技术就可以了~ 我对 Go 的了解,目前应用 Go 的都是编写高并发的服务端,不知道你是不是也有这块的需求,还有一点就是 Go 人才少,不好招,能来的薪资都不低~ |
24
justtery 2017-08-22 20:49:46 +08:00 via Android
我司现在就是.net core+react 就是写前端费劲点
|
25
RyougiShiki 2017-08-22 21:35:41 +08:00
python +vue
|
26
tomczhen 2017-08-22 21:39:24 +08:00
前后端分离跟后端用啥语言有什么关系?
|
27
zhangchioulin 2017-08-22 21:53:49 +08:00
@Tuisku #20 比 XXX 语言用的爽的这样的说法还是仁者见仁智者见智的。这个更多的还是比个人的熟练程度。
|
28
loveCoding 2017-08-22 22:10:44 +08:00
哪个熟悉用哪个 , 高效率出活是关键
|
29
laoli2017 2017-08-23 08:56:17 +08:00
@m939594960 呵呵,20 年从业经验,从 c 开始做起,我无知?
|
30
Yurakin 2017-08-23 08:58:45 +08:00
前后端分离和语言有什么关系? 我目前用的 django_restful_framework +django,本来确实不错,但是卧槽尼玛的,我用的开发环境是 win10+pycharm,本地调试项目,windows 上的 nginx 真是卡的一 b,注意:是卡的一 b 一 b 的,我也不知道为啥。。。,我猜测本地是 linux 系统或许会好很多
|
32
m939594960 2017-08-23 09:16:38 +08:00
@laoli2017 #29 20 年还这见识?多少年经验不是评判一个人水平的标准,我 80 岁就一定比 50 岁的牛逼么?
|
33
m939594960 2017-08-23 09:19:12 +08:00
@laoli2017 #29
1.出去打单 这个我不懂我不评价了 2.go ? go 是什么东西? 你是什么东西?七牛,今日头条都是 go 写的,你查查 go 都是多少工资? 3.至于 ajax ?如果是对外的网站,估计推广的人会哭死。 你知道什么叫 server render 么? 4.前端用 jsp 的模板套 ajax jsp 末班套 ajax' 你知道什么叫前后端分离么? |
35
Salo OP |
36
askfilm 2017-08-23 09:52:07 +08:00
我认为用不成熟的技术的行为就是不负责任, 你要是不爽公司也就无所谓了
|
39
SakuraKuma 2017-08-23 10:57:33 +08:00
@m939594960 #33
人家用 20 年前的经验干 20 年,不要较真。 |
40
SakuraKuma 2017-08-23 11:02:26 +08:00
|
41
cinextio 2017-08-23 11:05:11 +08:00 via Android
在后端和前端之间可以放个 node 来处理特定情况
|
42
mooncakejs 2017-08-23 11:06:43 +08:00
真心建议,如果在意 seo,不要上什么前后分离。
ssr 不是那么完美,如果搞面向蜘蛛和面向用户两套系统,有作弊风险。 如果全站 ssr,性能不太行。 @m939594960 “大神”,推荐一个需要 seo 的大站,谁家是前后分离的看看? |
43
xposed1 2017-08-23 11:12:11 +08:00
难道不应该是 spring boot 或.net core 吗? GO 连完整的面向对象都不支持,用它来写业务逻辑不觉得别扭吗?感觉用 go 写业务逻辑跟用 C 语言写业务逻辑差不多。
|
44
m939594960 2017-08-23 11:15:45 +08:00
@mooncakejs #42 首先我不是大神。 第二你说的大站多大算大?知乎算么?
|
45
zysidea 2017-08-23 11:29:54 +08:00
@xposed1 感情你是被面向对象束缚了。。。。。。Go 没有面向对象,但是 Go 可以通过 interface 和 struct 来实现所谓的面向对象,如果你用 Go 写过项目,你就不会这样说了。
|
46
xposed1 2017-08-23 11:34:34 +08:00
@zysidea C 语言也可以通过 struct 来实现面向对象,gtk+就用 C 语言实现了自己的一套面向对象接口,但跟真正面向对象的语言,用起来还是不一样的。Go 有 hibernate 和 entity framework 这种企业级的 ORM 吗?感觉 Go 做后端跟 Node 是一个重量级的,跟 java 和 C#就像手枪和重机枪的差距。
|
47
ZSeptember 2017-08-23 11:40:26 +08:00
当然用 Go 了。
|
48
Famio 2017-08-23 11:43:57 +08:00
.NETer 前来支援阵营。
|
49
Salo OP 在写 go 项目的时候感觉写 go 比较轻松,不用去考虑太多的问题
|
50
daizongxyz 2017-08-23 11:50:34 +08:00
支持用 go,谁用谁知道
|
53
bhaltair 2017-08-23 13:32:00 +08:00
ruby
|
54
JohnSmith 2017-08-23 13:36:35 +08:00
go 的最大优势在于基础库的数量和质量
|
56
ZhLTE 2017-08-23 13:46:42 +08:00
推荐 go 吧 .net core 还得观望一阵
|
57
anyele 2017-08-23 13:58:50 +08:00
根据巨硬走, .net core 2.0 走起
|
58
lonelygo 2017-08-23 14:13:58 +08:00
从前后端分离成功的歪楼到语言歧视了😄
|
59
devtiange 2017-08-23 14:14:42 +08:00
考虑到楼主的情况, 当然是选 .net core 了. go 泛型还在天上飞, 何况世界上有能和 c# 刚正面的语言? 不存在的
|
60
devtiange 2017-08-23 14:17:29 +08:00
V2 竟然有六楼这么 low 的用户, 令人很是失望.
|
61
VicYu 2017-08-23 14:28:46 +08:00
你们公司会那个的人多用那个.
|
63
mikulch 2017-08-24 02:36:22 +08:00
这么多人喜欢用 go 吗。
|
64
lxml 2017-08-24 04:09:47 +08:00 via iPhone
一般别人质疑的时候,例证不是我写过 xxx,自己看看效果如何,而是甩出所谓二十年、三十年经验,程序员又不是拼行数和码龄取胜,所以这个 level 提出的建议一般他可能就……
|
65
MIMEIK 2017-08-24 08:28:11 +08:00 via Android
着急那个熟用哪个,不着急哪个不熟用哪个。
起码多了解点不(hao)吃(tiao)亏(cao),不是吗? |