zoukankan      html  css  js  c++  java
  • 前后端编程体验的比较

      这回从老庄的一个回复说起:

    ===================================================

    “对于nodejs的评价与取舍的标准,我很同意。但是我不太认同你对后端没啥的判断。当然,我的前端水平很次,只能搞搞后端。不过,我躲开前端的原因,有重要的一点是:前端的水,莫名其妙的深。。。(懂的人自然就懂)”

    ===================================================

    上一篇博客里,关于server端编程,有些话的确说得不到位,容易让人曲解我最想表达的本意。我的回复:

    ===================================================

    恩,一着急话就没把持住,我收回server端没啥的话——而且我其实想表达的并不是server端没啥,server端当然有很多的知识点,只是和前端关注点不同而已,知识的深度和广度一样都不少。我想表达的,其实还是“创意”。server端对创意的需求上真的远不如前端,前后端皆通的人一定明白我说的创意指的是什么

    ===================================================

        顺着这个话题,我想将我对前后端编程时的不同体验,尽力清晰地描述出来:

        我自己是又写前端又写服务端的,特别是来盛大以后,前端只是我1/3的工作,同样占1/3的还有后端的工作。我工作时同时在前端和后端,一会儿切到前端,一会儿切到后端。不说后端的分布式问题,也不说前端的兼容问题,那个其实都和“编程”本身的体验关系不大。

         我有一个非常明显的体会是:后端编程我只需要在编程之初,设计好OO,画出UML图之后,基本上在编程过程中会一路非常顺,也不太需要怎么动脑子;但在前端,设计好OO,画出UML之后,我仍然需要马力全开,每实现一个效果,脑子里都会同时跑出多种解决方案 ,然后比较各种方案的扩展性,可维护性,不断地权衡。前端需要权衡的东西太多,每走一步全是权衡,解决方案太多了,我必须选择,不停地选择。

         伴随这些选择的,伴随种种解决方案的,需要的就是“创意”。服务端语言当然也是胶水,要粘起数据库,要粘起各种垂直功能库,但编码过程中其实思路还是很清晰的,只在几个必要的时候粘一下;但前端语言的胶水性更强,时时刻刻在粘着css、DOM和BOM, 每一步都在粘,脱离了DOM、css基本上一无是处寸步难行,每一步脑子里都在权衡几个不同的东西,工作时时刻也无法抛开DOM、css这些low level的东西,单纯工作在OO的抽象层面。而server端大多数时候却都是工作在OO的抽象层面的,工作时要考虑的东西单纯得多。

         我在项目里,花在前端的时间和后端的时间基本上是7/3开的,而前后端的代码量更是超过7/3开,远不成正比。我明白每个领域关注点不同,单纯说谁比谁好,谁比谁有价值是没有意义,而且很孩子气的,脱了哪一环事都办不好。但的确前后端工作的劳心程度存在巨大差异,这是事实。

    不知各位是否有同感?能接受我的表达吗?

  • 相关阅读:
    Building a flexiable renderer
    Indirect Illumination in mental ray
    我的心情
    Cellular Automata
    Subsurface Scattering in mental ray
    Shader Types in mental ray
    BSP Traversal
    我的渲染器终于达到了MR的速度
    How to handle displacement and motion blur
    说明
  • 原文地址:https://www.cnblogs.com/cly84920/p/4426560.html
Copyright © 2011-2022 走看看