zoukankan      html  css  js  c++  java
  • ‘程序员’与‘页面仔’

    在上软件工程的课程时,老师口中最BS的就是程序员——程序员是最没有前途的,每天无论跟多少代码打交道,永远都只是一个‘蓝领’。当时学这门课程的时候真的以为自己学了软件工程就非常了不起,可以超越程序员成为一名工程师了——

    我敢问一句,哪个软件工程师不是从程序堆中摸爬滚打出来的?

    由于我涉及较多的还是前端方面的制作,在很多论坛、团队博客和高手的博客中混了很长时间,终于听说有一种被业界称为‘页面仔’的职业。我猜测,第一个用‘页面仔’来称呼一个职业的人,应该是个程序员吧。

    然而,‘页面仔’与程序员的关系和程序员与软件工程师的关系是完全不同的两种概念。程序员写的程序多了,没准某一天连自己都没发现俨然已是工程师了,但‘页面仔’制作的页面再多,是无论如何也不可能潜移默化中称为程序员的。

    ‘页面仔’也写CSS代码,写HTML代码,甚至写JS代码啊!没错,可是写代码的就是程序员吗?

    我们可以毫不负责任地将Web前端划分成三部分:结构、表现和行为,偏向‘行为开发’的职业需要另外分离出来称为‘前端开发工程师’,而偏向研究结构和表现的人员被称为‘页面工程师’或‘页面架构师’或‘页面重构工程师’等。我并不是来扫盲的,而是来学习的——为什么‘后台程序员’会那么BS前端开发工作者?是的,有人可以制作一本‘一周学会层叠样式表’的电子书在网上扫盲,有人可以用‘十天让你成为JS高手’——然而,学会CSS真那么容易吗,成为JS高手那么轻易吗?

    一本《CSS权威指南》让我研究了无数遍,我才了解到并不是懂得几种选择器,懂得几个属性及其属性值代表什么意思就算‘懂得’CSS。‘层叠样式表’——‘样式’很重要,‘层叠’更加重要。先姑且不论浏览器兼容性,不懂得CSS特殊性(优先级),不懂得CSS层叠,‘设计’出来的‘表现’只能是一堆不可维护的垃圾!W3C推行Web标准,无非就一个目的,不是为了网站更易于开发(其实,严格按照标准开发难度是加大的),而是为了网站更易于维护和扩展。——没错,后台程序员也可以很轻易地制作出‘符合外观’的页面,但专供后台的程序员未必能够制作得出‘利于维护’的页面!

    行文至此,似乎离题万里。峰回路转,‘页面仔’真的与‘程序员’老死不相往来吗?不是的。

    算上各位前端开发的前辈级人物的功劳,页面制作已精细到研究HTML结构语义。其实被人忽略最多的似乎就是‘基于物理样式的标签’和‘基于内容的样式标签’,然而研究HTML太专注于‘语义’对吗?我们常用一个词:结构语义化,我敢问一句:“语义化之前,你结构了吗?”

    浏览器将HTML解析为一棵DOM树,‘树’是一种经典的数据结构,JS可以轻易地对其进行‘遍历’——‘树’、‘数据结构’、‘遍历’这些字眼不正式程序员所常挂在嘴边的吗?每一份设计稿被不同的页面架构师解析,肯定会得到不相同的DOM树——我一直有一份直觉,其中一定有一棵‘树’是最佳的设计,比如搜索树,总会存在一棵利于JS搜索的树。

    我参加过‘页面仔’这个职业的面试,我总喜欢强调自己‘懂’JS。小公司会认为你懂JS有什么出奇的,PHP懂吗,数据库懂吗……而大公司则是:“如果你懂JS,建议你去投我们公司Web前端开发的职位。”——差别啊!

    ‘页面仔’与‘程序员’,两者完全分离吗?不尽然!

    ‘页面仔’与‘程序员’,两者可混为一谈吗?更不尽然!

    所以,本文将‘页面仔’与‘程序员’‘混为一谈’,原本就是一个错误——不才拙见了……

  • 相关阅读:
    使用Mysql慢查询日志对有效率问题的SQL进行监控
    wampserver3.1.0安装及配置
    Composer
    HTML5 本地存储(Web Storage)
    HTML5 元素拖动
    生成验证码
    git 基础命令
    POI使用流程
    JDK各版本新特性总结
    dubbo+zookeeper项目搭建
  • 原文地址:https://www.cnblogs.com/mophee/p/1409051.html
Copyright © 2011-2022 走看看