`

程序员,都去写一写前端代码吧

阅读更多

你可以认为我是一个极端的人,就像有许多人专注于自己的领域而不屑于其它“肤浅”的工作范畴一样。比如我见过不少认为做portal没有技术含量的判定,做工程都是充满苦逼行为的言论,最近则还有那些“大数据”崇拜者的疯狂吐槽……我的极端则有些不同,我的极端在于我认为绝大多数优秀的程序员,都要尝试多方面的事情。并不只有底层开发或者机器学习充满睿智的挑战,我做了几年网站,很难说这就是我最初的兴趣,虽然也在接触和学习其他的领域,但是依然觉得,做网站仍旧充满挑战,互联网真是一个奇葩充斥的地方。

 

前端开发,则是这“多方面的事情”中的一个重要方面。潜心尝试过的人兴许会有这样的体会,这是一片崭新的世界,无论是理念、技巧,都有一种新鲜的感觉。如果你还没有尝试过,相信我,它会丰富你的视野,至少在设计和编码上,你会有崭新的认识。

 

JavaScript代码是存在诸多天生缺陷的,你可以找得到太多它的替代品和改进品。另一方面,它确实给了程序员很少的限制——如果你写过perl代码,你大概也深有体会,什么样的代码是自由的代码,什么样的代码是充满诗意的代码。与之相对的大概是语法严格的Java代码,就像老实、规矩的孩子,他不会带给你多少破坏性,但是也没法带给你丰盈的代码美感。但是JavaScript有N多类库,有足够活跃的语法自由度,有eval和prototype,还有那些动态语言的特性,你可以写出许多飘逸的代码。

 

另一方面,代码的自由一定带来代码层面规划和解耦的艺术。如果代码还处在漫山遍野全局var和全局function的温饱阶段,那么肯定是无法感受到这一点的,而且在这个阶段也根本称不上会写JavaScript代码。有许多人说前端开发简单,如果只是把它理解成为“好上手”,或者说alert一个字符串,改变一个div的颜色,那它还真是太好学了。再加上CSS的方便和简陋性让它连编程语言都算不上,而HTML又是容错性非常强的标记语言,所以你可以很容易写出能看到效果的界面来。

 

写一个UI稍微复杂一点的产品代码,就会无比地感受到规划和解耦的力量。无论是HTML、CSS还是JavaScript,变量或者对象都是极易被污染的,“模块化”显得举足轻重。在Java的世界里,你的武器很少,包、类、加载器又在你无意识的时候把这些繁琐的模块化的工作轻易化简完成了。但是写前端代码的时候你发现需要自己去考虑了,比如页面的分块布局、CSS的继承树、JavaScript的绑定和匿名函数,还有那么多开源的库来帮助完成模块化。

 

前端开发还可以帮助你成为最懂产品UI的程序员。程序员容易陷入使用各种技术去纠结实现的泥潭,但是却忽略了清晰、合理的用户需求。你写的界面,是要去帮助用户解决问题的,无论是布局设计、配色还是行为回馈,都会始终帮助你专注于用户的实际操作。会写前端代码,可以帮助你容易地和用户沟通,快速地做出界面原型,这比多少页胶片都强。少招一点美工和UI设计师,试着自己去设计界面,自己去切图和写样式,这些事情并没有那么困难,更何况还有Bootstrap呢。:)

 

前端开发的过程中,你还可以感受到最快速的成就感和回馈。只需要一个浏览器,一个代码高亮的文本编辑器,好吧,也许你还需要一点帮助调试的小工具。这就足够了,不用纠结在编译执行的过程,等待着应用的重启,不住地咒骂环境部署的繁琐。现在,你可以专注到你的代码设计和编写上。

 

前端开发应当成为工程师工具包中重要的一项工具。中国的程序员普遍“engineering”技巧丰富,学术领域显得差一些,但这并不代表工程技巧缺乏价值。举例来说,你可以做出任何有意思、有价值的东西,如果你会写前端代码,可以自己做网站,你就可以不需要别人帮助,自己完成整个端到端的过程,不管它是指你上线一个产品还是展示你的伟大成果。你真的可以独当一面。这也契合我所说的,程序员要做各方面的事情。

 

最后提醒一句,初涉前端开发,学习的材料很重要。就像VB会害了那些程序员新手一样(而且这一害就会影响很多年),前端的代码实在是太容易写烂掉了,需要筛选。

 

PS:看一看这个编程语言转换矩阵,就知道JavaScript有多大威力(图片来自微博@程序员的那些事):

程序员,都去写一写前端代码吧

文章系本人原创,转载请注明作者和出处(http://www.raychase.net

注:本博客已经迁移到个人站点 http://www.raychase.net/ ,欢迎大家访问收藏,本ITEye博客在数日后将不再更新。

2
1
分享到:
评论
4 楼 kidneyball 2013-01-20  
cuixiping 写道
kidneyball 写道
最后那幅图完全无法证明论点呀。最密集的是第一列,而这一列说的是“用其他语言来编程,然后把程序转换为Javascript”的工具。此类工具这么多,只能说明人们不想直接使用原生Javascript编程的强烈欲望。

也可以说是不会js的人们需要使用js的强烈欲望吧?


正常情况下,如果一个已经懂一种语言的开发者有强烈欲望使用另一种语言,会直接去学。出现这么多转换工具,这说明有不少人需要js的控制前端能力,但又不想学或不想用js这种语言。这种现象可以解释为是因为js很高深,只有高手才能用。不过无论如何,仅从这个图表无法推出“看一看这个编程语言转换矩阵,就知道JavaScript有多大威力”。
3 楼 cuixiping 2013-01-19  
kidneyball 写道
最后那幅图完全无法证明论点呀。最密集的是第一列,而这一列说的是“用其他语言来编程,然后把程序转换为Javascript”的工具。此类工具这么多,只能说明人们不想直接使用原生Javascript编程的强烈欲望。

也可以说是不会js的人们需要使用js的强烈欲望吧?
2 楼 diggywang 2013-01-19  
一直做Swing N年,做网站也只用GWT/Smartgwt
1 楼 kidneyball 2013-01-19  
最后那幅图完全无法证明论点呀。最密集的是第一列,而这一列说的是“用其他语言来编程,然后把程序转换为Javascript”的工具。此类工具这么多,只能说明人们不想直接使用原生Javascript编程的强烈欲望。

相关推荐

    前端程序员表白页面代码

    这个名为"前端程序员表白页面代码"的项目,显然旨在利用这些技术为程序员提供一个独特的方式来向心爱的人表达情感。这个创意结合了浪漫与技术,通过编程语言将爱情的表达变得特别。 首先,我们可以假设这个表白页面...

    520程序员前端表白代码,使用 HTML、CSS 和 JavaScript 编写一段浪漫的代码,用于表达爱意

    这段浪漫代码是通过HTML、CSS和JavaScript编写的,通过结合这三种前端技术,我们创建了一个令人心动的情人节表白页面。包含了逐行打印文字、变色效果和玫瑰花的飘落等特效。它能够营造出浪漫的氛围,并用创意的方式...

    程序员表白前端代码

    本主题聚焦于“程序员表白代码”,特别是在前端开发领域中的应用。前端开发者利用HTML(超文本标记语言)来构建网页,这次我们将探讨如何用HTML来创作一份浪漫的表白。 HTML是网页设计的基础,它通过标签来描述网页...

    情人节前端程序员表白代码

    这个“情人节前端程序员表白代码”就是一个典型的例子,它展现了程序员的创意和对技术的热爱,同时也是一种浪漫的表达方式。下面我们将深入探讨这个主题,以及可能涉及的相关知识点。 首先,`index.html.bak`和`...

    前端程序员的浪漫动态告白表白女朋友源码

    动态告白表白女朋友源码前端程序员的浪漫,是一款网页动态表白源码,直接点击html看效果,浏览器打开就好了,兄弟们可以上车了。 特别说明: 1、文字在 take.js 里面改 或者 index.html里面给; 2、女朋友的照片在...

    程序员web前端视频教程(文档+代码+视频).rar

    本教程资源包"程序员web前端视频教程(文档+代码+视频).rar"为初学者提供了一个全面的学习路径,旨在帮助他们掌握这个领域的基础知识并逐步进阶。 HTML(HyperText Markup Language)是构建网页的基础,它是所有...

    程序员七夕告白源码

    精美的网页加上动听的音乐效果是程序员七夕告白的绝佳神器。里面包含了十三个源代码。第一个是计算你和另一半在一起的时间。只需要改动源码里面的起始时间就可以实现你想要的结果。怎么改动起始时间和怎么将音乐改成...

    程序员网页爱心表白代码特效大全

    "程序员网页爱心表白代码特效大全"就是这样一个资源集合,它包含了一系列精心设计的HTML特效,旨在帮助懂得网页前端开发的程序员们创建出独特且富有创意的爱心表白页面。 这些特效案例通常涉及到HTML、CSS和...

    程序员之表白代码

    在IT行业中,程序员不仅以编写代码为日常,也常常利用技术来表达个人情感,比如“程序员之表白代码”。这个主题通常涉及到将编程语言与创意相结合,以独特的方式向心仪的人传达爱意。在这个实例中,“紫色背景恋爱...

    程序员表白代码之情人节快乐!

    首先,表白代码通常是程序员运用编程语言创作的一段程序,它可以生成浪漫的图案、动画,或者执行一些特殊功能,如播放音乐、发送定制信息等。这种代码可以是基于各种编程语言实现的,如Python、JavaScript、C++或...

    一个优秀的程序员的十个习惯

    成为优秀的程序员不仅在于编写高质量的代码,更重要的是养成一系列有益的习惯,这些习惯能够提升个人技能,促进团队协作,以及保持对技术的敏锐度。以下是对标题和描述中提到的十个程序员习惯的详细解释: 1. **...

    图书管理系统前端代码设计

    《图书管理系统前端代码设计》是一套完整的前端代码资源,专为简化图书管理系统的开发而设计。这个系统的主要目标是提供一个直观、用户友好的界面,让管理员和用户能够轻松地进行图书的查找、借阅、归还以及管理等...

    推荐2款前端可视化页面设计-不用写代码,拖就是了.zip

    它们让非程序员或初学者也能创建出美观且功能丰富的网页,无需编写一行代码。本篇文章将重点介绍两款这样的工具:Bootstrap和Maqetta。 **Bootstrap** Bootstrap是由Twitter开发的一款开源前端框架,它提供了一套...

    程序员记事本,供程序员保存经常用到的代码

    程序员记事本应运而生,它不仅仅是一个简单的文本存储工具,更是一个代码知识的宝库,一个团队协作的平台,甚至是一个程序员个人成长的见证者。 程序员记事本的设计初衷是为了帮助程序员解决工作中遇到的问题,记录...

    8套 程序员表白代码

    在IT行业中,程序员通常以其独特的思维方式和技能表达情感,而“程序员表白代码”则是一种将技术与浪漫结合的独特方式。这些代码通常是用各种编程语言编写的,用来展示程序员的创意和对技术的热爱,同时也表达了他们...

    2018黑马程序员web前端开发视频

    根据提供的文件信息,我们可以推断出这是一套2018年由“黑马程序员”机构发布的Web前端开发视频教程。接下来,我们将围绕这个标题、描述以及部分链接内容来展开相关的知识点介绍。 ### Web前端开发基础 #### 1. ...

    程序员浪漫-浪漫爱心代码(附赠源码html)

    程序员—专属浪漫爱心代码 胆大心细脸皮厚是表白的不二法门。第一次表白表示被拒绝了后,通常后来慢慢相处再表白就成功了。 要耐心,要脸皮厚,要细心。不要怕你的主动会带来她的反感,你不主动,她也不主动,也就...

    520程序员前端表白特效源代码

    本资源“520程序员前端表白特效源代码”是专为程序员设计的一个特别的创意工具,用于在520这个特殊的日子里,通过编程的方式表达爱意。这个项目不仅体现了前端开发的艺术性,也展现了技术的趣味性和实用性。 首先,...

    黑马程序员西安校区前端学科面试宝典-2019.pdf

    总体来说,黑马程序员西安校区的这份前端学科面试宝典,覆盖了前端领域诸多核心知识点。对于想要从事前端工作的求职者来说,这份面试宝典是一个非常好的学习和准备材料。通过复习和理解宝典中的问题,求职者可以更好...

    黑马程序员Vue深入浅出视频代码

    这是根据黑马程序员中关于Vue11天课程中,跟着视频编写的代码,一行行跟着写出来的,连备注基本也是和视频一样,用的是vscode开发工具,上传的资料已经把node_modules删除了,进入目录后,用cnpm i重新安装一下就...

Global site tag (gtag.js) - Google Analytics