默认
发表评论 10
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
怎么区分浏览器端和服务器端代码 ?要注意哪些方面 ?
怎么区分浏览器端和服务器端代码 ?要注意哪些方面 ?

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

推荐方案
评论 10
你这是工作几年了, 这还搞不清?? 惊讶
签名: 不想上班,啦啦啦
理论上浏览器端只能执行html+js+css,服务端代码只在服务端运行,这两者本身就没有交集
引用:JackJiang 发表于 2019-02-13 18:16
理论上浏览器端只能执行html+js+css,服务端代码只在服务端运行,这两者本身就没有交集

比如浏览器端开发,我需要将libs下的文件引入到web项目,通过调用sdk中的7个方法进行简单的逻辑调用(例如登陆调用loginImpl;发消息调用sendDate、调服务器端根据协议进行业务处理),
和之前的web一样,进行Ajax请求进行接口的调用和数据的处理(例如查询聊天记录,查询群组成员,ajax调用服务端提供的接口)

首先,这个逻辑有没有问题?

2.png (149.75 KB, 下载次数: 1424)

2.png

1.png (24.55 KB, 下载次数: 1428)

1.png
引用:大马仕格 发表于 2019-02-13 18:14
你这是工作几年了, 这还搞不清?? 惊讶

SDK里面的浏览器端和服务端代码搞混淆了,现在一团浆糊
友情提示:
你之前的技术栈可能只是针对后端或前端,这两端现在同时让你独档一面的时候,就直接蒙逼了,这很要命,算是最基础的知识了,如果这个理不清,相当要命,问题的关键还是你对web端技术本质了解地太浅了,你需要更多的技术积累才能慢慢理解透。。。

我给你看个例子,以下面这个RainbowChat的网页版产品为例(就是基于MobileIMSDK-Web开发的):
怎么区分浏览器端和服务器端代码 ?要注意哪些方面 ?_QQ截图20190214123429.gif

如上图所示:红圈部分就是在运行时,要被浏览器加载并在浏览器端执行的代码(注意:除了纯js、html、css等传统资源外,没有任何nodejs的代码!不然,你难道认为浏览器能加载并执行nodejs里的那些服务端规范和库?)。这部分代码现在测试为了方便,是放在这同一个nodejs服务器实例上被浏览器加载,正式生产部署时,它完全可以单独复制出去,比如放到tomcat、apache、iis这类服务器里由浏览器加载,这部分代码本身跟你的nodejs服务端代码没有任何关联(说白了它除了需要在js里配置一下要连接的nodejs的服务端im连接地址以外,不需要调用任何服务端代码)。反过来,nodejs服务端代码也不需要引用红圈内的任何代码,如果有,那一定是搞错了!

综上:你的项目,也可以按照我上面图里的工程组织方式,尽可能保证,浏览器端和服务端要执行的代码没有作用何关联性(没有,也不需要发生互相引用)。

我已经很努力的再给你补课了,能不能理解,还得看你自已了。。
引用:JackJiang 发表于 2019-02-14 12:43
友情提示:
你之前的技术栈可能只是针对后端或前端,这两端现在同时让你独档一面的时候,就直接蒙逼了,这 ...

很感谢!!我做开发时间短,即时通讯这方面没接触过,所以没有什么概念

比如说浏览器端开发:我要获取好友列表(人员信息查询接口)

前端调用接口是一个怎样的流程?写到SDK里面吗,还是写到哪里?

引用:JackJiang 发表于 2019-02-14 12:43
友情提示:
你之前的技术栈可能只是针对后端或前端,这两端现在同时让你独档一面的时候,就直接蒙逼了,这 ...

这些我了解了,不明白的是
我需要调用我的业务接口(比如人员信息查询接口)是个什么样的流程?写在哪里?能不能举个例子看一下
引用:IM、你好 发表于 2019-02-14 14:00
这些我了解了,不明白的是
我需要调用我的业务接口(比如人员信息查询接口)是个什么样的流程?写在哪里 ...

人员查询这种业务,你是不是应该写个http接口?而http接口你随便用java php或什么语言去写就好了,没必要用nodejs。

至于这个接口你怎么调用,你在前端代码里用ajax调用就好了,这个总能理解吧。http接口的调用和数据显示,就完全不需要动用im长连接了。
引用:JackJiang 发表于 2019-02-14 15:21
人员查询这种业务,你是不是应该定个http接口?而http接口你随便用java php或什么语言去写就好了,没必要 ...

好的,谢谢了!
三级士兵路过
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部