距离上次在博客园发表博文已经是数年以前了,想想自己也确实有够懒惰的,实为不该。

引起我想发这篇博文的原因是 @Charlie.Zheng 所发表的 《Web系统开发构架再思考-前后端的完全分离

本着个人博客是自己的私人领地,我的地盘听我的的基本原则,我就在本文中大胆胡说。若各位看官的意见与鄙人相左,尽可在文章下方的评论区畅所欲言,也可向James.xin@outlook.com发送邮件与我唇枪舌战(一句玩笑话,各位切莫当真^_^)。

废话不多说,下面就来叙说一下自己的想法。

首先鄙人是非常认同 Charlie.Zheng 所持有的想法,Web前端与后端是很应该分离。但我看到文章后面的评论后,就觉得很多时候人们常常拘泥于一种思维,常常试图用一种方法来解决所有问题,比如评论中提到的登录问题、SEO问题。

我觉得程序员应该像大厨,各种解决问题的方法就像大厨手中的食材与调料。在一道菜中只有把食材调料配合得相得益彰,才能做出一道美味的菜。编程一开始的目的肯定是为了解决现实生活中的某些问题,在解决这些问题的同时要考虑后期的可维护性,于是各种分层、解耦、设计模式也就应运而生了。我想如果一个项目不需要维护,也就不需要这一系列的概念了吧。

说回WEB前、后端分离,是否用了前后端分离就不能再用前后端结合?我以为答案是否定的。这世界并非非黑即白:用户浏览使用定时生成静态页面保障SEO及响应性能,管理后台使用web前后端分离,用户中心使用前后端结合。我常跟同事们说不同的问题不同对待,分而治之,逐个击破。

最后我想说我会把静态页面应用在什么场景,我想我会的是打包在C/S客户端中,用来解决排版经常变化或操作习惯需要定制的功能和模块吧。用C/S的Socket获取数据,而后用静态的html呈现。

也谈谈关于WEB的感想的更多相关文章

  1. 谈谈对web标准的理解

    Web标准不是某一个标准,而是由一系列标准组合而成.网页主要由三部分组成:结构.表现和行为.对应的标准也分三方面:结构化标准语言主要包括XHTML和HTML以及XML,表现标准语言主要包括CSS,行为 ...

  2. 谈谈对Python的感想

    写在前面 我用Python已经好几年了,最早学习用Python还是因为对人工神经网络感兴趣,python有个很好用的ANN库neurolab.本人其实也算初学者,充其量算入门了吧,写这篇一来回顾自己所 ...

  3. 一个简单的 Web 服务器 [未完成]

    最近学习C++,linux和网络编程,想做个小(mini)项目.  就去搜索引擎, 开源中国, Sourceforge上找http server的项目. 好吧,也去了知乎.    知乎上程序员氛围好, ...

  4. 《Web全栈工程师的自我修养》读书笔记(转载)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/5 ...

  5. 对WEB标准以及W3C的理解与认识

    按照习惯的理解,这两个概念似乎都是指的一个东西(就是咱们在这个版里讨论的这些个"高深理论“^_^).但我认为,事实上从技术的角度上讲,这两个事物几乎没有任何相关性.web标准简而言之就是将页 ...

  6. Java Web架构知识整理——记一次阿里面试经历

    惭愧,从一次电面说起.我个人在某国企做一名软件设计师,国企大家都懂的,待遇一般而且没啥意思,做的方向基本都是操作系统.驱动和工具软件的开发,语言基本都是C/C++.最近也想跳槽,刚好有幸得到了一次阿里 ...

  7. Node.js IO处理输入和回显,以及当今web应用程序的发展史

    1.关于Node.js IO处理输入和回显 在Windows终端或者CD中输入   echo  'I must learn about Node.js' 结果将刚刚输入的   echo  'I mus ...

  8. 服务安全-JWT(JSON Web Tokens):百科

    ylbtech-服务安全-JWT(JSON Web Tokens):百科 JSON Web Tokens是一种开放的行业标准 RFC 7519方法,用于在双方之间安全地表示索赔. JWT.IO允许您解 ...

  9. [翻译]Introduction to JSON Web Tokens

    JWT: Json Web Tokens JWT是一种开放标准(RFC 7519),它定义了一种紧凑且独立的方式,用于将各方之间的信息安全地传输为JSON对象.因为它是经过数字签名的,所以该信息可以进 ...

随机推荐

  1. CDZSC_2015寒假新人(2)——数学 G

    G - G Time Limit:3000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status ...

  2. YUI Array 之 indexOf(索引值|搜索)

    YUI原码 YUI indexOfYArray.indexOf = Lang._isNative(Native.indexOf) ? function (array, value, from) { r ...

  3. C# 导出Excel Aspose.Cells

    public void ExportExcel() { Workbook workbook = new Workbook(); //工作簿 workbook.Worksheets.Clear(); w ...

  4. 解决mac ssh连linux中文乱码的问题[转]

    将Mac下/etc/ssh_config中的SendEnv LANG LC_*这一行用#号注释掉 reference: http://www.zhihu.com/question/20117388

  5. linux系统文件夹的作用 good

    /bin 二进制可执行命令 /dev 设备特殊文件 /etc 系统管理和配置文件 如:环境变量 /etc/rc.d 启动的配置文件和脚本 /home用户主目录的基点,比如用户user的主目录就是/ho ...

  6. javascript之Error

    一.Error()构造函数 构造函数:new Error(); new Error(message); 二.Error.message //人类可读的错误消息 语法:error.message; 三. ...

  7. [Ubuntu]在Ubuntu下搭建自己的源服务器

    1.摘要     网上有很很多关于搭建源镜像的文章,但是对于一般人来讲,用不着镜像所有的deb包,只对我们能用到的感兴趣.另外,对于一些在Ubuntu的源中没有的软件,我们也可以放在我们自己的源里,这 ...

  8. SSIS 系列 - 在 SSIS 中使用 Multicast Task 将数据源数据同时写入多个目标表,备份数据表,以及写入Audit 信息

    转自http://www.cnblogs.com/biwork/p/3328838.html 在 SSIS Data Flow 中有一个 Multicast 组件,它的作用和 Merge, Merge ...

  9. 那些年的那些事CISC和RISC发展中的纠缠

    本文来自http://www.cnbeta.com/articles/224544.htm ARM.ARM.ARM,没错ARM仿佛一夜之间就火了,平板.手机等领域随处可见它的影子,甚至已经有人预言未来 ...

  10. apache FtpServer 整合spring部署

    我们在项目中可能会出现这样的需求,使用ftp上传很大的文件后对需要对文件进行相应的逻辑处理,这时我们可以使用apache ftpServer来处理这段逻辑,只要我们做相应的部署和编写我们的逻辑代码,这 ...