因为解决不了SEO的问题。

 

在这个问题上我是吃了大亏的。
最早3年前创业的时候就面临一个选择,前后端分离还是服务器端渲染?

前后端分离的好处太多了,后端提供的API简单,干净,通用,Android和iOS端都可以用。前端开发效率高,解藕容易,整个项目完全并行开发。

 

而服务器端渲染唯一的好处就是SEO,那么我需要SEO吗?不由自主的想起来了淘宝,以及大家都在喊着移动为王。

 

所以从偏技术的角度,我决定了使用前后端分离的方式,我想,技术问题,总会有技术来解决。

 

然后运转不到3个月,就直接发现了问题所在。来自搜索引擎的流量,还是太重要了。即便是在日渐衰弱的时候,还是足以决定一家中小公司的生死。

而项目上每天100多篇的原创内容,就这样根本没机会带来任何流量。

同时维护3端的代价又太大,APP端的运营推广太难,又不太合适修真院提倡的编码优先的场景。

 

所以咬牙几次,都不太敢切换技术路线,只能够分拆模块,将前端的归前端,将后端的归后端,不需要SEO的,像需要登录才能访问的,就用前后端分离,不需要登录的,就用服务器端渲染。

 

仔细看了一下技术点的解决方案,没一个满意的,搞那么复杂的技术,只是让前端人员做后端渲染吗?还不如直接生成JSP方便快捷。

 

但是这不代表着又流行服务器端渲染了,还是那句话,前端的归前端,后端的归后端。

 

如果搜索引擎对ajax的解析,或者是对sitemap的支持足够好了,前后端分离是必须的。

 

另外再说一些容易混淆的概念,
动静分离不是前后端分离,动和静最有意义的区别就是是否需要重启,简单说,需要重启才能更新的代码,都可以成为是动态代码。你只要维护系统一段时间,就明白重启服务这种体验有多差。

所以一般jsp这些东西 都是可以独立部署更新,不要重启,但又牵涉到版本管理的问题。

 

大前端指的不是前端懂后端,而是js,iOS,Android横向打通,这是很符合前端人员发展路线的技术栈。

 

全栈工程师本质上就是全菜工程师,像到处喊的做前端怎么可以不懂一点后端的观点没有错,你懂一点算法,架构,大数据都没问题,但不要自己骗自己,认为懂就是全栈工程师了。跟猴子穿衣戴帽没什么区别,再多前端的人不喜欢听,我还是要这么说。

 

如果你真正想学后端,就忘了自己是一个前端工程师,前后端的思维方式完全不同,就算是angular这种神器,写前端代码和做后端架构要考虑的点也完全不一样。想知道后端架构师到底需要考虑什么的,请自行查找修真院专栏文章。

 

我自己只敢说自己是后端工程师,说自己是架构师都脸红,从来不敢说自己是前端工程师,更不敢自称全栈。

 

还有,一切用异构语言中转的服务器端渲染都是脱裤子放屁。

php中转,nodejs中转,Python中转,lua中转,这些项目我都接触过,没有半点意义和价值,只会让系统更复杂。

 

会有人说后端接触一点对理解前端有帮助,这个不反对,但是不代表就是要用js做后端。

 

所以,最终的结论就是,技术是要解决问题的,从架构上来讲,前后端分离让系统更简单,开发进度更快,但遇到的SEO是一个难关。

 

各种解决方案对比之下,还是java的jsp直接渲染更简洁。

前端的归前端,后端的归后端。


用户bPbdDlb
422 声望36 粉丝