上面开了个玩笑,正经的说,我觉得在座的前端无需激动,先稳住玻璃心,题主只是为了探讨问题而已。
首先我觉得应该定义一下怎么样算是一个程序员,维基百科的定义如下:
[程序员( Programmer,Computer Programmer 或 Coder ),它可以指在程序设计某个专业领域中的专业人士,或是从事软件撰写,程序开发、维护的专业人员。但一般 Coder 特指进行编写代码的编码员。]
重点为:领域+开发+维护,抽象一下就是在计算机某领域做着程序开发或者维护的人。
接着分析,前端是在前端领域做着前端功能开发的人,按照定义来讲肯定是程序员。
然后是题主的疑惑是: [有时候前端也需要自己撸,85%的时间都在写 html+css,只有那么一小块时间写写 js,大多数的 js 也是对 UI 的操作...感觉称一个页面为程序感觉有点发虚]
首先我猜题主所在的公司应该是前后端放在一个代码库的,发布或者改动可能都是一起的,这种情况下前端其实可能就是代码库里面的一个文件夹而已,就是薄薄的一层,涉及不到什么复杂的功能,极有可能展示居多,JavaScript 操作 dom 即可解决。
其次,一个页面能不能被称作程序呢?我觉得肯定是可以的,首先它至少是实现了某些展示功能,其次题主所说的 js 对 UI 的操作其实是 JavaScript 对浏览器 dom API 的操作,这个类比到后端其实就是调数据库 API 或者是调操作系统的 API,个人觉得并没有高下之分,都是调 API 去实现功能,只不过页面是被浏览器解释执行。我有时候也会自己去写一写接口,部署的时候也会配置 ngnix 或者弄 docker,那我也不能说后端就这些东西是吧?
最后,每个领域的难度都是受到其复杂度所影响,比如后端,开始是单机,业务复杂了可能就要考虑多机分布式,数据多了就得有专人做数据挖掘;前端也一样,即使是一个页面,现在的单页应用也可以很复杂,并且基本和后端已经分开开发和部署了,做的深了还有专门去研究可视化什么的(虽然我不感兴趣哈哈...),而且现在大部分前端应该不会直接去自己操作 dom 了,一旦页面结构复杂了 reflow 很影响性能。总之就是,每个领域入门都很简单。
最后的回答就是:算。
|
|