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

引起我想发这篇博文的原因是 @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. (原+译)win7远程连接ubuntu16.04

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5711214.html 原始网址: http://ubuntuhandbook.org/index.ph ...

  2. c++基础五个题(一)

    一.深拷贝和浅拷贝? 浅拷贝是指源对象与拷贝对象共用一份实体,仅仅是引用的变量不同(仅仅是名称不同),对其中任何一个对象的改动都会影响另外一个对象,例如:一个人叫小王,后来改名小李,结果不管是小王死了 ...

  3. Wireless Network(POJ 2236)

    Wireless Network Time Limit: 10000MS   Memory Limit: 65536K Total Submissions: 20724   Accepted: 871 ...

  4. mysql-test库要命的地方

    为了见识test库对整个mysql实例安全的影响,我将建立一个appuser@'%' 用户,它只有一个权限那就是可以连接上mysql. 001. 以高权限用户登录mysql.创建一个appuser@' ...

  5. IOS开发UI篇-NavigationController的基本使用

    一.简介 一个iOS的app很少只由一个控制器组成,除非这个app极其简单 当app中有多个控制器的时候,我们就需要对这些控制器进行管理 有多个view时,可以用一个大的view去管理1个或者多个小v ...

  6. 移动端h5页面写法

    1. 页面宽度320, 所有元素尺寸设一半 缺点:不自能适应全屏 2.页面宽度640,元素尺寸正常 <meta charset="utf-8" /> <meta ...

  7. aliyun 安装图形

    yum安装图形界面: 1) yum groupinstall "X Window System" yum install xclock yum groupinstall -y &q ...

  8. 为什么和其他语言相比C语言是快速的语言

    初入门的我们经常听见别人说"真正的程序员用C语言编程,C是最快的语言因为它是最靠近及其底层的语言."那么和其他语言相比C语言到底有什么特别的呢? C语言没有什么特别,这就是它快速的 ...

  9. 剑指offer-面试题1:赋值运算符函数

    题目:如下为类型CMyString的声明,请为该类型添加赋值运算符函数 class CMyString { public: CMyString(char *pData=NULL); CMyString ...

  10. 安装配置MongoDB数据库

    一.关闭SElinux.配置防火墙 1.vi /etc/selinux/config #SELINUX=enforcing #注释掉 #SELINUXTYPE=targeted #注释掉 SELINU ...