p*****2 发帖数: 21240 | 1 最好能给一个官方的定义,我想理解一下为什么node不能做backend。 |
c******o 发帖数: 1277 | 2 没有官方定义,我采取的我已经说了,在另一个贴子里。
"任何产生html/ui和直接给html/ui提供数据的都是前端"
我也是只是说我觉得js (前端动态语言)相对不适合作后端,我自己是绝对不选了。 |
n****1 发帖数: 1136 | 3 举个最简单的例子. 某商家在你每年生日时都要发个祝福信, 内附一礼券. 那后端程序
就至少有以下要求:
1. 确保信件定时发出, 不早不晚.
2. 创建礼券, 维护好礼券的相关状态. 如金额, 过期时间, 是否已经兑现等
3. 财务. 所有礼券都相当与支出或对用户打折扣, 必须进账.
这3个需求没有太大联系,为了保持低耦合, 最好把他们分为独立service.这3个service
可以用不同语言不同框架实现, 只需利用Enterprise Service Bus来保持关联. 这就是
版上说的SOA.
这些后端商业逻辑与html/js/ui一毛钱关系都没有.
第一个信件service不是很critical, 啥语言都差不多. 后两个与钱相关, 马虎不得,
绝不容忍runtime bug |
c*******9 发帖数: 9032 | 4 好虫定义就是后端生成的也叫后端。
service
【在 n****1 的大作中提到】 : 举个最简单的例子. 某商家在你每年生日时都要发个祝福信, 内附一礼券. 那后端程序 : 就至少有以下要求: : 1. 确保信件定时发出, 不早不晚. : 2. 创建礼券, 维护好礼券的相关状态. 如金额, 过期时间, 是否已经兑现等 : 3. 财务. 所有礼券都相当与支出或对用户打折扣, 必须进账. : 这3个需求没有太大联系,为了保持低耦合, 最好把他们分为独立service.这3个service : 可以用不同语言不同框架实现, 只需利用Enterprise Service Bus来保持关联. 这就是 : 版上说的SOA. : 这些后端商业逻辑与html/js/ui一毛钱关系都没有. : 第一个信件service不是很critical, 啥语言都差不多. 后两个与钱相关, 马虎不得,
|
p*****2 发帖数: 21240 | 5
没有官方定义争议就大了。
你觉得Ruby,Python算不算后端?
【在 c******o 的大作中提到】 : 没有官方定义,我采取的我已经说了,在另一个贴子里。 : "任何产生html/ui和直接给html/ui提供数据的都是前端" : 我也是只是说我觉得js (前端动态语言)相对不适合作后端,我自己是绝对不选了。
|
p*****2 发帖数: 21240 | 6
service
听起来用node做都没啥问题呀。
【在 n****1 的大作中提到】 : 举个最简单的例子. 某商家在你每年生日时都要发个祝福信, 内附一礼券. 那后端程序 : 就至少有以下要求: : 1. 确保信件定时发出, 不早不晚. : 2. 创建礼券, 维护好礼券的相关状态. 如金额, 过期时间, 是否已经兑现等 : 3. 财务. 所有礼券都相当与支出或对用户打折扣, 必须进账. : 这3个需求没有太大联系,为了保持低耦合, 最好把他们分为独立service.这3个service : 可以用不同语言不同框架实现, 只需利用Enterprise Service Bus来保持关联. 这就是 : 版上说的SOA. : 这些后端商业逻辑与html/js/ui一毛钱关系都没有. : 第一个信件service不是很critical, 啥语言都差不多. 后两个与钱相关, 马虎不得,
|
n****1 发帖数: 1136 | 7 财务应用里用动态语言, 这个和丰田工程师在汽车代码利用recursion是同一类.
用了递归车子也是能跑的, 对不?
可万一出问题了,造成巨大财产损失了, 就算问题不在recursion或动态语言上, 这种程
序猿都会是第一个被戳鼻子的人. 为了不背黑锅还是跟大流走吧.
【在 p*****2 的大作中提到】 : : service : 听起来用node做都没啥问题呀。
|
h*****a 发帖数: 1718 | 8 呵呵,难道java没有runtime的bug?
【在 n****1 的大作中提到】 : 财务应用里用动态语言, 这个和丰田工程师在汽车代码利用recursion是同一类. : 用了递归车子也是能跑的, 对不? : 可万一出问题了,造成巨大财产损失了, 就算问题不在recursion或动态语言上, 这种程 : 序猿都会是第一个被戳鼻子的人. 为了不背黑锅还是跟大流走吧.
|
p*****2 发帖数: 21240 | 9
我们来说一个startup 选用node,那么为什么后端还需要用另外一种语言呢?如果node
在技术上没有障碍的话。我承认JVM有很大的优势,但是startup成功之后可以招几个
Java程序员来搞呀。我觉得Node全套做没有什么不可以的,而且startup初期一个
Javascript全搞定了,很难想象会用Java。
【在 n****1 的大作中提到】 : 财务应用里用动态语言, 这个和丰田工程师在汽车代码利用recursion是同一类. : 用了递归车子也是能跑的, 对不? : 可万一出问题了,造成巨大财产损失了, 就算问题不在recursion或动态语言上, 这种程 : 序猿都会是第一个被戳鼻子的人. 为了不背黑锅还是跟大流走吧.
|
p*****2 发帖数: 21240 | 10
心态
eBay一直以来都围绕Java这样的强类型静态语言开发解决方案,所以一开始很难说服大
家使用JavaScript做后端开发。类型安全保障、错误处理、扩展等等方向的问题都困扰
着我们。此外JavaScript本身(被称为 世界上误解最多的语言)也让这场辩论变得更
加艰难。为此,我们建立了一个专门的内部wiki来聚合工程师们对于Node.js的观点、
疑惑、问题等等。
几天后我们明确了大家的问题,开始着手解答。不出所料,关注最多的还是在于Node.
js技术的可靠性,以及Node.js在处理早期eBay独有的函数式Java实现的效率上。
我们一一解答了这些问题,并且提供了详细现实案例。这一过程让大家,包括我们自己
在内都深受启发,有的问题提出的角度是甚至我们从未想过的,最终大家终于理解了
Node.js的核心价值。事实上,其中一些反对观点恰恰是其特色之处。
【在 n****1 的大作中提到】 : 财务应用里用动态语言, 这个和丰田工程师在汽车代码利用recursion是同一类. : 用了递归车子也是能跑的, 对不? : 可万一出问题了,造成巨大财产损失了, 就算问题不在recursion或动态语言上, 这种程 : 序猿都会是第一个被戳鼻子的人. 为了不背黑锅还是跟大流走吧.
|
|
|
b*******s 发帖数: 5216 | 11 他说的是动态类型语言的问题
【在 h*****a 的大作中提到】 : 呵呵,难道java没有runtime的bug?
|
n****1 发帖数: 1136 | 12 原文是“第二,能够集成eBay数量众多的独有服务,在页面上显示信息——比如绑定I/
O相关操作。我们起初使用的是基础Java结构,但是它对资源的消耗大大出乎我们的预
期,在产品化时遇到了扩展性问题。这促使我们决心构建一个新的 orchestrator中间
件,而Node.js最符合我们的需求。”
都说了node只是中间件,怎么被你解读成后端了。“ eBay数量众多的独有服务”才是
后端。
还有他们用到的库,都有 server side MVC 的影子。
【在 p*****2 的大作中提到】 : : 心态 : eBay一直以来都围绕Java这样的强类型静态语言开发解决方案,所以一开始很难说服大 : 家使用JavaScript做后端开发。类型安全保障、错误处理、扩展等等方向的问题都困扰 : 着我们。此外JavaScript本身(被称为 世界上误解最多的语言)也让这场辩论变得更 : 加艰难。为此,我们建立了一个专门的内部wiki来聚合工程师们对于Node.js的观点、 : 疑惑、问题等等。 : 几天后我们明确了大家的问题,开始着手解答。不出所料,关注最多的还是在于Node. : js技术的可靠性,以及Node.js在处理早期eBay独有的函数式Java实现的效率上。 : 我们一一解答了这些问题,并且提供了详细现实案例。这一过程让大家,包括我们自己
|
p*****2 发帖数: 21240 | 13
I/
中间件又出来了。你能给个后端,中间件的定义吗?最好是官方的。
【在 n****1 的大作中提到】 : 原文是“第二,能够集成eBay数量众多的独有服务,在页面上显示信息——比如绑定I/ : O相关操作。我们起初使用的是基础Java结构,但是它对资源的消耗大大出乎我们的预 : 期,在产品化时遇到了扩展性问题。这促使我们决心构建一个新的 orchestrator中间 : 件,而Node.js最符合我们的需求。” : 都说了node只是中间件,怎么被你解读成后端了。“ eBay数量众多的独有服务”才是 : 后端。 : 还有他们用到的库,都有 server side MVC 的影子。
|
s***o 发帖数: 2191 | 14 这个需要先给个官方的官方的定义
【在 p*****2 的大作中提到】 : : I/ : 中间件又出来了。你能给个后端,中间件的定义吗?最好是官方的。
|
p*****2 发帖数: 21240 | 15
至少有一些reference,比如wiki啥的。或者一些业内大牛的定义。
【在 s***o 的大作中提到】 : 这个需要先给个官方的官方的定义
|
c******o 发帖数: 1277 | 16 我们不要混淆了概念。
paypal的大后端(完全不直接和前端打交道的),是和startup的后端不一样的。
我们说不能,不是说你不能,而是说我们见过失败,我们不会这么做,也不会接手这种
crap.
比如说在我现在公司小的时候,payment是从php开始的,没问题,到了后来跨游戏平台
,跨支付平台,跨公司,跨部门以后,补了无数test suite,还是问题一堆,谁也不爱
接修改和继续开发。还很重要,只能让它自然死亡。
网站一开始就是由有经验的人设计的,ror是完全stateless的(你说是后端么?),数
据都在java(现在scala),ruby call jvm,你说为啥?反正现在还很好,很强大。tdd
也有关了,当然。 |
p*****2 发帖数: 21240 | 17
tdd
ror是完全stateless的(你说是后端么?)
我说的是ruby,不是ror。ruby可以做后端吗?
所以你的意思是node可以做后端?但是paypal没有用node做后端?
【在 c******o 的大作中提到】 : 我们不要混淆了概念。 : paypal的大后端(完全不直接和前端打交道的),是和startup的后端不一样的。 : 我们说不能,不是说你不能,而是说我们见过失败,我们不会这么做,也不会接手这种 : crap. : 比如说在我现在公司小的时候,payment是从php开始的,没问题,到了后来跨游戏平台 : ,跨支付平台,跨公司,跨部门以后,补了无数test suite,还是问题一堆,谁也不爱 : 接修改和继续开发。还很重要,只能让它自然死亡。 : 网站一开始就是由有经验的人设计的,ror是完全stateless的(你说是后端么?),数 : 据都在java(现在scala),ruby call jvm,你说为啥?反正现在还很好,很强大。tdd : 也有关了,当然。
|
c******o 发帖数: 1277 | 18 这儿的ruby,按我说不是后端,java才是。
我们的开发小组和方式都不一样。 |
s***o 发帖数: 2191 | 19 程序员间的经典对话:
- So, why do you do it this way?
- Because I CAN!
tdd
【在 c******o 的大作中提到】 : 我们不要混淆了概念。 : paypal的大后端(完全不直接和前端打交道的),是和startup的后端不一样的。 : 我们说不能,不是说你不能,而是说我们见过失败,我们不会这么做,也不会接手这种 : crap. : 比如说在我现在公司小的时候,payment是从php开始的,没问题,到了后来跨游戏平台 : ,跨支付平台,跨公司,跨部门以后,补了无数test suite,还是问题一堆,谁也不爱 : 接修改和继续开发。还很重要,只能让它自然死亡。 : 网站一开始就是由有经验的人设计的,ror是完全stateless的(你说是后端么?),数 : 据都在java(现在scala),ruby call jvm,你说为啥?反正现在还很好,很强大。tdd : 也有关了,当然。
|
p*****2 发帖数: 21240 | 20
那人家完全用ruby搭建起来的项目就没有后端?不用Java就不叫后端?Java==后端?
有没有什么reference呢?哪里说后端是这么定义的?
【在 c******o 的大作中提到】 : 这儿的ruby,按我说不是后端,java才是。 : 我们的开发小组和方式都不一样。
|
|
|
c******o 发帖数: 1277 | 21 “按我说”
你当然可以按你的做,我用例子表达我的意见而已 |
p*****2 发帖数: 21240 | 22
那你能不能在网上找个reference跟你定义的后端一致呢?我是搜了半天没搜到。所以
我很confused。这也是我想搞明白的地方。我在网上看到的后端定义跟你的都不同。
【在 c******o 的大作中提到】 : “按我说” : 你当然可以按你的做,我用例子表达我的意见而已
|
m******t 发帖数: 635 | 23 coltzhao的例子里的Ruby是ROR里的Ruby,而且只是显示JSON的用途,可以被认为是前
端。
你说的那些全用Ruby的项目,一般会有大量的ruby workers 加queue去处理很多业务逻
辑,比如payment,analytics这类的东东,这些被认为是后端。公司大了经常被重写的
应该是这一部分。
全用js应该也不是不行,不过就是queue加一堆v8 process就是了,具体吞吐量没用过
不清楚,这方面java应该是绝对优势。
【在 p*****2 的大作中提到】 : : 那你能不能在网上找个reference跟你定义的后端一致呢?我是搜了半天没搜到。所以 : 我很confused。这也是我想搞明白的地方。我在网上看到的后端定义跟你的都不同。
|
c******o 发帖数: 1277 | 24 没有网上的说法,这是我以前和一个architect讨论的时候他说的。我觉得他说的对,
就记住了。
基本上只和ui相关的是前端,只和数据处理/逻辑相关的是后端。
不在两者定义内的,再大了,复杂了以后也会分化成这两者。
小的时候怎么做不是做啊。 |
m******t 发帖数: 635 | 25 这个定义不错
【在 c******o 的大作中提到】 : 没有网上的说法,这是我以前和一个architect讨论的时候他说的。我觉得他说的对, : 就记住了。 : 基本上只和ui相关的是前端,只和数据处理/逻辑相关的是后端。 : 不在两者定义内的,再大了,复杂了以后也会分化成这两者。 : 小的时候怎么做不是做啊。
|
p*****2 发帖数: 21240 | 26
我想说的就是这个意思。我就是想知道有没有技术障碍使得非JVM语言不能做backend,
我可没认为Node一定适合做backend。JS语言本身有其不完善性,所以我们还需要
Clojure。但是有些backend的工作,我倒觉得不一定非要JVM才行。
【在 m******t 的大作中提到】 : coltzhao的例子里的Ruby是ROR里的Ruby,而且只是显示JSON的用途,可以被认为是前 : 端。 : 你说的那些全用Ruby的项目,一般会有大量的ruby workers 加queue去处理很多业务逻 : 辑,比如payment,analytics这类的东东,这些被认为是后端。公司大了经常被重写的 : 应该是这一部分。 : 全用js应该也不是不行,不过就是queue加一堆v8 process就是了,具体吞吐量没用过 : 不清楚,这方面java应该是绝对优势。
|
p*****2 发帖数: 21240 | 27
把你的和mimisoft说的加起来就完整了。
【在 c******o 的大作中提到】 : 没有网上的说法,这是我以前和一个architect讨论的时候他说的。我觉得他说的对, : 就记住了。 : 基本上只和ui相关的是前端,只和数据处理/逻辑相关的是后端。 : 不在两者定义内的,再大了,复杂了以后也会分化成这两者。 : 小的时候怎么做不是做啊。
|
f***8 发帖数: 510 | 28 这个帖子有点太学术了,你自己的项目,你自己应该很清楚什么偏重前端和偏重后端,
没必要非要有的官方定义前后端,还来个中间位。技术上,SCRIPT LANUGAGE完全在刚
开始的时候都前后端通吃。做大了,再说,绝大多数项目不都是从小到大BOTTOM UP的
吗。
另外,ROR也没大家说的快要挂的样子,你自己去做个一般的STARTUP,ROR就是又快又
猛,快速开发POC,搞到1-2MIL USER和FUNDING,一点问题都没有。
【在 p*****2 的大作中提到】 : : 把你的和mimisoft说的加起来就完整了。
|
p*****2 发帖数: 21240 | 29
对了,restful是前端还是后端呀?做这东西可不一定知道是前端用还是后端用呀。就
是API。
【在 m******t 的大作中提到】 : coltzhao的例子里的Ruby是ROR里的Ruby,而且只是显示JSON的用途,可以被认为是前 : 端。 : 你说的那些全用Ruby的项目,一般会有大量的ruby workers 加queue去处理很多业务逻 : 辑,比如payment,analytics这类的东东,这些被认为是后端。公司大了经常被重写的 : 应该是这一部分。 : 全用js应该也不是不行,不过就是queue加一堆v8 process就是了,具体吞吐量没用过 : 不清楚,这方面java应该是绝对优势。
|
p*****2 发帖数: 21240 | 30
大牛说的是,我也是这个意思。startup刚开始用script,整大了以后需要java就招
java程序员就可以了。根本没有必要规定只能用java。我就是要澄清node到底能不能做
后端所以发的贴,另外也想纠正或者加强一下我对前后端的理解。
ror的问题一个是性能,大家都知道整大了以后要重写,node就不存在这个问题,貌似
python也还好,很少听到重写的。另外就是goodbug也说过的,以后都是往client mvc
转,这个ror就不是趋势了。
【在 f***8 的大作中提到】 : 这个帖子有点太学术了,你自己的项目,你自己应该很清楚什么偏重前端和偏重后端, : 没必要非要有的官方定义前后端,还来个中间位。技术上,SCRIPT LANUGAGE完全在刚 : 开始的时候都前后端通吃。做大了,再说,绝大多数项目不都是从小到大BOTTOM UP的 : 吗。 : 另外,ROR也没大家说的快要挂的样子,你自己去做个一般的STARTUP,ROR就是又快又 : 猛,快速开发POC,搞到1-2MIL USER和FUNDING,一点问题都没有。
|
|
|
m******t 发帖数: 635 | 31 我觉得coltzhao的定义更清楚些,就是看用途
【在 p*****2 的大作中提到】 : : 大牛说的是,我也是这个意思。startup刚开始用script,整大了以后需要java就招 : java程序员就可以了。根本没有必要规定只能用java。我就是要澄清node到底能不能做 : 后端所以发的贴,另外也想纠正或者加强一下我对前后端的理解。 : ror的问题一个是性能,大家都知道整大了以后要重写,node就不存在这个问题,貌似 : python也还好,很少听到重写的。另外就是goodbug也说过的,以后都是往client mvc : 转,这个ror就不是趋势了。
|
p*****2 发帖数: 21240 | 32
如果写restful API不知道用途呢?
【在 m******t 的大作中提到】 : 我觉得coltzhao的定义更清楚些,就是看用途
|
m******t 发帖数: 635 | 33 举例说说,比如提供什么服务啊?
【在 p*****2 的大作中提到】 : : 如果写restful API不知道用途呢?
|
p*****2 发帖数: 21240 | 34
比如现在都是client side MVC
然后做REST的就是提供API,提供Data,到底谁用根本就不清楚。也许是Web用,也许是
Mobile用,也许是其他的service用。PM define了就做。
【在 m******t 的大作中提到】 : 举例说说,比如提供什么服务啊?
|
t***t 发帖数: 6066 | 35 I would say, for mission critical tasks, such as payment, order processing,
use static typed languages. I would never use dynamic type language for such
critical tasks. |
m******t 发帖数: 635 | 36 我个人认为这个还是属于前端,至少从功能上这个就是以前ROR提供的标准前端功能。
【在 p*****2 的大作中提到】 : : 比如现在都是client side MVC : 然后做REST的就是提供API,提供Data,到底谁用根本就不清楚。也许是Web用,也许是 : Mobile用,也许是其他的service用。PM define了就做。
|
t***t 发帖数: 6066 | 37 it's not about Node or not, it's about js (dynamic type language).
If there's Node.scala, I would say it's good choice. but Node.js not. |
t***t 发帖数: 6066 | 38 I would say, for mission critical tasks, such as payment, order processing,
use static typed languages. I would never use dynamic type language for such
critical tasks. |
m******t 发帖数: 635 | 39 这个也要看情况,中小公司,startup什么的没那么多计较,很多一路perl,python,
ruby下来,配合relational db,处理这些payment之类的没压力
,
such
【在 t***t 的大作中提到】 : I would say, for mission critical tasks, such as payment, order processing, : use static typed languages. I would never use dynamic type language for such : critical tasks.
|
d****i 发帖数: 4809 | 40 这个是,我看到有些startup公司,就是用PHP/Python/Perl/Ruby中的一个加上客户端
JS做全栈没问题,Node应该也可以,甚至performance比上面几个更好。
【在 m******t 的大作中提到】 : 这个也要看情况,中小公司,startup什么的没那么多计较,很多一路perl,python, : ruby下来,配合relational db,处理这些payment之类的没压力 : : , : such
|
|
|
p*****2 发帖数: 21240 | 41
可是做REST的根本就不懂UI。
【在 m******t 的大作中提到】 : 我个人认为这个还是属于前端,至少从功能上这个就是以前ROR提供的标准前端功能。
|
m******t 发帖数: 635 | 42 如果这个Restful的目的主要就是提供数据给前端显示用,被当作前端很自然啊。
哦,我懂你的意思了。你的意思是这一块代码很可能是后端程序员来写的,却被当作前
端说不通对吧?
这个前端后端的定义真的是太混乱了,感觉每个人背景不同定义就不同,:)
【在 p*****2 的大作中提到】 : : 可是做REST的根本就不懂UI。
|
p*****2 发帖数: 21240 | 43
是这样子。所以我也confused了。我觉得以后SPA的发展,前后端差不多能用通俗的理
解来定义了。client就是前端,server就是后端。因为现在server管UI的东西越来越少
,以后应该基本不会管了。
【在 m******t 的大作中提到】 : 如果这个Restful的目的主要就是提供数据给前端显示用,被当作前端很自然啊。 : 哦,我懂你的意思了。你的意思是这一块代码很可能是后端程序员来写的,却被当作前 : 端说不通对吧? : 这个前端后端的定义真的是太混乱了,感觉每个人背景不同定义就不同,:)
|
c******o 发帖数: 1277 | 44 对我来说,ror那一批其实就是前端,我们那一批都是在ror里写template/js/css的,
加上一些少量的ruby 集成code,反正都是stateless。
而java那一批就不一样了,根本不管ui,每天就是关心db schema, response time,
data integrity, business logic,scalability.
完全不同focus,development method, release cycle也不一样。
你说的是直接在一个code base里,前端写前端的,后端写后端的。 和我的不一样,你
那种大了以后一定也会改成我这种。 |
p*****2 发帖数: 21240 | 45
我觉得你错了,node不是ror,node做的东西更像是你说的Java。
【在 c******o 的大作中提到】 : 对我来说,ror那一批其实就是前端,我们那一批都是在ror里写template/js/css的, : 加上一些少量的ruby 集成code,反正都是stateless。 : 而java那一批就不一样了,根本不管ui,每天就是关心db schema, response time, : data integrity, business logic,scalability. : 完全不同focus,development method, release cycle也不一样。 : 你说的是直接在一个code base里,前端写前端的,后端写后端的。 和我的不一样,你 : 那种大了以后一定也会改成我这种。
|
c******o 发帖数: 1277 | 46 还是说的不清楚,其实你总是想的node要做什么,我想的是我要做什么。
因为我要做的后端的性质,所以我不想用node.js,和node.js想要做什么没关系。
上面只是说明为什么ror 在这里是前端,我会用node
也是说为什么java在这里是后端,我不会用node
【在 p*****2 的大作中提到】 : : 我觉得你错了,node不是ror,node做的东西更像是你说的Java。
|
p*****2 发帖数: 21240 | 47
你又错了。node根本就不是替代ror的。你有ror好好的,用node干嘛?
【在 c******o 的大作中提到】 : 还是说的不清楚,其实你总是想的node要做什么,我想的是我要做什么。 : 因为我要做的后端的性质,所以我不想用node.js,和node.js想要做什么没关系。 : 上面只是说明为什么ror 在这里是前端,我会用node : 也是说为什么java在这里是后端,我不会用node
|
q*c 发帖数: 9453 | 48 当然有啊,就和美国也有犯罪,北朝鲜也有雷锋一样。
【在 h*****a 的大作中提到】 : 呵呵,难道java没有runtime的bug?
|
c******o 发帖数: 1277 | 49 node 实际上在MEAN里就是这里ror+java对吧?ExpressJS只是node.js的module.
所以它可以做这儿ror的工作。
我的意思是,我可能会用它来替代我的ror,
但是我不会用它来替代我的java,应为它是动态的,它还是根植于前端的传统。
【在 p*****2 的大作中提到】 : : 你又错了。node根本就不是替代ror的。你有ror好好的,用node干嘛?
|
g*****g 发帖数: 34805 | 50 node当然有障碍,轮子不够丰富和成熟是很大的障碍。
node
【在 p*****2 的大作中提到】 : : 你又错了。node根本就不是替代ror的。你有ror好好的,用node干嘛?
|
|
|
g*****g 发帖数: 34805 | 51 restful是一个很薄的integration layer,用来连接后端不同服务,或者用来连接前端
和后端。
就是起一个数据转换的作用。这东西通常认为是business logic的一个子层。
【在 p*****2 的大作中提到】 : : 你又错了。node根本就不是替代ror的。你有ror好好的,用node干嘛?
|
q*c 发帖数: 9453 | 52 合着你说的障碍是 不可克服的障碍啊。
明天我去你家门前修半米高的墙挡路 ~ 反正对你回家也没有什么技术上的障碍,不是
嘛?
【在 p*****2 的大作中提到】 : : 你又错了。node根本就不是替代ror的。你有ror好好的,用node干嘛?
|
g*****g 发帖数: 34805 | 53 本来就没有什么必然的东西,facebook,linkedin,twitter都是社交网站,最初用的
语言是php, java, ror。startup吗,开始不就是几个人,这几个人熟悉啥语言,就拿
啥写。牛了也不是语言牛,而是idea好,时机好。
只有做大了,复杂了,我们才可以来谈best practice,谈为啥后端java比动态语言合
适,反之亦然。startup的障碍在于funding,不在于语言。
【在 q*c 的大作中提到】 : 合着你说的障碍是 不可克服的障碍啊。 : 明天我去你家门前修半米高的墙挡路 ~ 反正对你回家也没有什么技术上的障碍,不是 : 嘛?
|
f***8 发帖数: 510 | 54 恩,这个靠谱。STARTUP就是刚开始几个人熟悉什么上什么,而且ROR/DJANGO/PHO/PERL
,从前到后一口吃,包括所谓的PAYMENT,一点问题都没有。 当非要用JAVA,C++等替
换原来SCRIPT的时候,这个STARTUP做的已经不是一般大了。估计板上没几个人可以做
成这么大的STARTUP。
【在 m******t 的大作中提到】 : 这个也要看情况,中小公司,startup什么的没那么多计较,很多一路perl,python, : ruby下来,配合relational db,处理这些payment之类的没压力 : : , : such
|
c***C 发帖数: 139 | 55 您也把middleware一棒子打入前端了
【在 c******o 的大作中提到】 : 没有官方定义,我采取的我已经说了,在另一个贴子里。 : "任何产生html/ui和直接给html/ui提供数据的都是前端" : 我也是只是说我觉得js (前端动态语言)相对不适合作后端,我自己是绝对不选了。
|
p*****2 发帖数: 21240 | 56
你举的例子很恰当呀。如果你修一堵墙,我有几个选择
1. 拆掉
2. 绕着走
3. 换房子
你觉得我会选哪个?
【在 q*c 的大作中提到】 : 合着你说的障碍是 不可克服的障碍啊。 : 明天我去你家门前修半米高的墙挡路 ~ 反正对你回家也没有什么技术上的障碍,不是 : 嘛?
|
p*****2 发帖数: 21240 | 57
还是大牛说的清楚呀。
【在 g*****g 的大作中提到】 : restful是一个很薄的integration layer,用来连接后端不同服务,或者用来连接前端 : 和后端。 : 就是起一个数据转换的作用。这东西通常认为是business logic的一个子层。
|
p*****2 发帖数: 21240 | 58
express还真不是rails,我也真不知道你怎么拿express当rails用,不信你去试试?
MEAN本身就是full stack了,按照goodbug的划分
A: frontend
E: web server
N: logical layer
M: persistence
我还真不知道你把Java插到哪里去。
【在 c******o 的大作中提到】 : node 实际上在MEAN里就是这里ror+java对吧?ExpressJS只是node.js的module. : 所以它可以做这儿ror的工作。 : 我的意思是,我可能会用它来替代我的ror, : 但是我不会用它来替代我的java,应为它是动态的,它还是根植于前端的传统。
|
c******o 发帖数: 1277 | 59 纯属讨论,为啥你非要别人用你的方法。。
如果真的要重写一个MEAN,用ror/java
我会还用AngularJs,Mongodb, 把express和nodejs里的表现层 (用AngularJs估计就不
剩啥了) 都移到 ror
把所有数据处理,business logic, 连mongodb,后端另外service调用都放到java
基本不用E和node.js
不过我多数会用nodejs/expressjs 去替换上面的ror,scala去替换java
【在 p*****2 的大作中提到】 : : express还真不是rails,我也真不知道你怎么拿express当rails用,不信你去试试? : MEAN本身就是full stack了,按照goodbug的划分 : A: frontend : E: web server : N: logical layer : M: persistence : 我还真不知道你把Java插到哪里去。
|
t***t 发帖数: 6066 | 60 Java is a language, can be anywhere in the stack or in all levels of the
stack. same as other languages. you can use python or js or php for some or
all of the stack.
but for logic layer and persistent, I would not choose any dynamic language.
【在 p*****2 的大作中提到】 : : express还真不是rails,我也真不知道你怎么拿express当rails用,不信你去试试? : MEAN本身就是full stack了,按照goodbug的划分 : A: frontend : E: web server : N: logical layer : M: persistence : 我还真不知道你把Java插到哪里去。
|
|
|
p*****2 发帖数: 21240 | 61
你这样搞就不是MEAN了。
我不明白的是你怎么用express去替换ror,根本就不是一个东西。
如果你用angular的话,真没有必要用ror了。
mongodb的接口是Javascrpt,node连接起来要舒服的多,貌似Java的接口很别扭,而且
是不是所有的功能都支持还是个问题。不明白有什么必要在这里用Java。
【在 c******o 的大作中提到】 : 纯属讨论,为啥你非要别人用你的方法。。 : 如果真的要重写一个MEAN,用ror/java : 我会还用AngularJs,Mongodb, 把express和nodejs里的表现层 (用AngularJs估计就不 : 剩啥了) 都移到 ror : 把所有数据处理,business logic, 连mongodb,后端另外service调用都放到java : 基本不用E和node.js : 不过我多数会用nodejs/expressjs 去替换上面的ror,scala去替换java
|
p*****2 发帖数: 21240 | 62
or
language.
你说的这些有啥关系呢?
现在讨论的是MEAN stack。
【在 t***t 的大作中提到】 : Java is a language, can be anywhere in the stack or in all levels of the : stack. same as other languages. you can use python or js or php for some or : all of the stack. : but for logic layer and persistent, I would not choose any dynamic language.
|
b***e 发帖数: 1419 | 63 Yes, so eventually, it comes down to a matter of preference: whether one
would choose to use a statically typed language or a dynamically typed
language to do the business logic and persistent layer. Certainly,
different people would have different answers to that question. For
startups, most new ones choose to use dynamic languages, like Python, Ruby
or JS, given the quick product development turn-around and programmer
productivity. After all, compilation based languages are not up to the ease
of
development with interpretation based languages. As for whether big
companies will eventually converge to Java, we'll see. Groupon seems not so
far. It is yet to be clear what the future trend is.
or
language.
【在 t***t 的大作中提到】 : Java is a language, can be anywhere in the stack or in all levels of the : stack. same as other languages. you can use python or js or php for some or : all of the stack. : but for logic layer and persistent, I would not choose any dynamic language.
|
c******o 发帖数: 1277 | 64 本来就不是想要做mean, 你不明白就算了。
就是我觉得java这儿比node好。(static type better than dynamic here)
ror这儿就是一个serve semi static files 的 web server 和 light logic
container
【在 p*****2 的大作中提到】 : : or : language. : 你说的这些有啥关系呢? : 现在讨论的是MEAN stack。
|
p*****2 发帖数: 21240 | 65
我觉得如果你用Java的话,可能就不用Mongo了。不知道你有没有用过,用Mongo还是
Node最自然。
JVM在后端优势确实很大,因为很多事情别的语言做不了,或者支持的很不好,所以我
也会用Clojure,不过Mongo这一块我觉得最好还是用Node,其他语言都没那么方便好用
,包括ruby。
【在 c******o 的大作中提到】 : 本来就不是想要做mean, 你不明白就算了。 : 就是我觉得java这儿比node好。(static type better than dynamic here) : ror这儿就是一个serve semi static files 的 web server 和 light logic : container
|
q*c 发帖数: 9453 | 66 我觉得谁给你贷款你就选他的选择。
反正都 没有技术上不能生活的障碍,不是吗?
【在 p*****2 的大作中提到】 : : 我觉得如果你用Java的话,可能就不用Mongo了。不知道你有没有用过,用Mongo还是 : Node最自然。 : JVM在后端优势确实很大,因为很多事情别的语言做不了,或者支持的很不好,所以我 : 也会用Clojure,不过Mongo这一块我觉得最好还是用Node,其他语言都没那么方便好用 : ,包括ruby。
|
c******o 发帖数: 1277 | 67 很多语言都有好的json library, 没啥特别的。
我们的scala code有一部分简单的用json coast to coast approach,一开始那一部分
根本就没有任何显性的serialization, deserialization, 都是在json里改传,从前端
到后端到mongodb,都是一个json/JsObj, 和动态语言一样,不check不知道变量里是啥。
最后还是大家投票改成在module boundary cast成 concrete object, 你不用两面不同
的东西不知道两面的各自好处。
【在 p*****2 的大作中提到】 : : 我觉得如果你用Java的话,可能就不用Mongo了。不知道你有没有用过,用Mongo还是 : Node最自然。 : JVM在后端优势确实很大,因为很多事情别的语言做不了,或者支持的很不好,所以我 : 也会用Clojure,不过Mongo这一块我觉得最好还是用Node,其他语言都没那么方便好用 : ,包括ruby。
|
p*****2 发帖数: 21240 | 68
啥。
这个不只是json这么简单吧?mongo的shell就是JS的,你在shell上调好了,直接就放
假到code里去了。用别的语言总要在折腾一回。
【在 c******o 的大作中提到】 : 很多语言都有好的json library, 没啥特别的。 : 我们的scala code有一部分简单的用json coast to coast approach,一开始那一部分 : 根本就没有任何显性的serialization, deserialization, 都是在json里改传,从前端 : 到后端到mongodb,都是一个json/JsObj, 和动态语言一样,不check不知道变量里是啥。 : 最后还是大家投票改成在module boundary cast成 concrete object, 你不用两面不同 : 的东西不知道两面的各自好处。
|
c******o 发帖数: 1277 | 69 也是和js一样的,你又不会亲自做转换。
https://github.com/ReactiveMongo/Play-ReactiveMongo
【在 p*****2 的大作中提到】 : : 啥。 : 这个不只是json这么简单吧?mongo的shell就是JS的,你在shell上调好了,直接就放 : 假到code里去了。用别的语言总要在折腾一回。
|
p*****2 发帖数: 21240 | 70
回头有时间看看。这东西就是说写query什么跟直接用JS差不多。那样的话还不错。我
原来看过Java Mongo的API,感觉很麻烦。
【在 c******o 的大作中提到】 : 也是和js一样的,你又不会亲自做转换。 : https://github.com/ReactiveMongo/Play-ReactiveMongo
|
|
|
g*****g 发帖数: 34805 | 71 Try spring data.
【在 p*****2 的大作中提到】 : : 回头有时间看看。这东西就是说写query什么跟直接用JS差不多。那样的话还不错。我 : 原来看过Java Mongo的API,感觉很麻烦。
|