你可以把我想象成一个极端的人,就像很多人专注于自己的领域,而不被其他“肤浅的”工作类别所困扰。例如,我看到了很多没有门户技术含量的意见,这个项目充满了无奈和痛苦的行为,最近也有“大数据”的疯狂嘲笑的崇拜者……我的极限有点不同,我的极端是,我认为绝大多数优秀的程序员都需要尝试很多东西。不仅是底层开发或机器学习的智慧挑战,我做了几年的网站,很难说这是我第一次利息,虽然也在其他领域的接触和学习,但仍然认为,做网站仍然是充满挑战,互联网是一个很棒的工作的地方。
前端开发是这个“多方面的东西”的一个重要方面。尝试过的人可能会有这样的经历,这是一个新的世界,不管是想法,还是技巧,都有一种新的感觉。如果你还没有尝试过,相信我,它会丰富你的视野,至少在设计和编码方面,你会有新的理解。
JavaScript代码本身就有缺陷,您可以找到许多替代方法并改进它。另一方面,它确实给了程序员一些限制——如果您编写了一个Perl代码,您可能也有很大的经验,什么样的代码是免费的,什么样的代码充满诗意。这是一个相对严格的Java代码,就像一个诚实的,行为端正的孩子,他不会给你带来太多的伤害,但是它不会给你一个丰富的代码美感。但是JavaScript有超过N个库,有足够的活动语法、eval和prototype,以及动态语言的特性,您可以编写许多优雅的代码。
另一方面,代码的自由必须在代码级别带来计划和解耦的艺术。如果代码仍然充满了全局变量和全局函数,那么您将无法感受到这一点,而且根本不会编写JavaScript代码。有很多人说前端开发很简单,只要把它理解为“好手”,或者警告一个字符串,改变一个div的颜色,就很容易学习。由于CSS的方便和简单,它甚至不是编程语言,HTML是一种非常容错的标记语言,因此编写一个能够看到效果的界面很容易。
用稍微复杂一点的UI编写产品代码会让你感觉规划和分离的力量是无与伦比的。无论是HTML、CSS还是JavaScript、变量或对象都被高度污染,“模块化”很重要。在Java的世界中,您很少有武器、包、类、加载器,当您失去意识时,您可以轻松地简化这些繁琐的模块化工作。但是编写您需要自己考虑的前端代码,比如页面的块布局、CSS继承树、JavaScript、绑定和匿名函数,有很多开源库来帮助完成模块化。
前端开发还可以帮助您成为最面向产品的程序员。程序员很容易陷入使用各种技术而陷入困境的困境,但忽略清楚的、合理的用户需求。您编写的帮助用户解决问题的界面,无论是布局设计、颜色匹配还是行为反馈,都将帮助您关注用户的实际操作。编写前端代码可以帮助您轻松地与用户进行通信,并快速地对界面进行原型化,这比电影的页数要好。要让更多的艺术家和UI设计人员设计界面,并裁剪和编写自己的界面并不是那么困难,但它也是引导。:)
在前端开发过程中,你也能感受到最快的成就感和反馈。你所需要的只是一个浏览器,一个高亮文本编辑器的代码,好吧,也许你需要一点帮助调试。这足以不必担心编译执行的过程,等待应用程序重新启动,并不断地消耗环境部署的严格性。现在您可以将重点放在代码设计和编写上。
前端开发应该是工程师工具包中的一个重要工具。中国的程序员一般都是“工程”,学术领域也很差,但这并不意味着工程技能是没有价值的。例如,你可以做任何有趣和有价值的事情,如果你要写前端代码,可以做你自己的网站,你可以不需要别人的帮助,完成整个端到端流程,无论它是指向你在线的产品还是展示你的伟大成就。你可以自己站起来。这就是我所说的,程序员必须做所有的事情。
领取专属 10元无门槛券
私享最新 技术干货