做web开发 先学JavaScript


Posted in Javascript onDecember 12, 2014

有一天我被问到,为了快速地在 web 开发工作上增加优势,应该学习什么语言。我的思绪回到了大学,那时候我用 Pascal、Fortran、C和汇编语言,不过那个时候有不同的目标。

想做web开发,就学JavaScript

鉴于当前的状况和趋势,答案相对容易给出来:学习 JavaScript。四周看看,曾经低端的浏览器脚本语言现在变得随处可见,从服务器端到客户端,每天好像有更多的选择。

出身低微

我记得数年前投入 web 开发,学习了 HTML、用 Perl 开发 CGI 脚本。Netscape 在其 2.0 版本的浏览器里引入了一种叫做 LiveScript 的脚本语言,此后不久名字改成了 JavaScript。这是一种很酷的语言,但是在浏览器大战中,大约一年以后,由于微软增加了支持,JavaScript 被限制在 Netscape 的浏览器里。它早期作用被限制在字段有效性验证之类的简单任务上,但是与服务器端脚本比起来,它是非常好的选择。JavaScript 逐步变成了 ECMAScript 名字下的一种标准。

这么多年来,JavaScript 因为用于浏览器交互而成为一种酷酷的语言,但是随着 Ajax 突然爆发,支持开发者从 web 服务器发送和接收数据、而不用刷新网页,它赢得了更多的认可。接下来的一波应该被叫做jQuery 革命,因为它和其它框架提供了开发强大 web 应用程序的易用特性。甚至微软带着 WinJS 框架也加入了;还有,Redmond 巨人选择 JavaScript 做为开发 Windows 8 应用程序的平台。

当 Google 在 Chrome 浏览器加入了高性能的 JavaScript V8引擎时,JavaScript 有了一个较大飞跃。这次发展对于服务器端 Node.js 上 JavaScript 的全新范式的发展是有帮助的。Node.js 的使用一直都是让人震惊的,还有用于开发从网站到功能完整的应用程序的各种应用、大量 JavaScript 框架的产生。最后一项是数据,而 JSON 标准成为传输数据的最流行的方式之一的苗头,已初见端倪,大部分重要的数据存储都支持它。

势头还在继续

在过去的这么多年里,有很多新技术产生了(网站的进化提供了一个伟大的技术时间线),但是 JavaScript 重要的一个方面是,它已经存在了大约两个世纪。今天它已经稳固地成为了功能丰富的语言。

这与刚开始的情形比起来,相差甚远,那时候 JavaScript 从来都没有自豪地写到简历里,因为真正的程序员是不屑于掌握它的。而现在,JavaScript 是大部分招聘人员考核的重点。

当你正在寻找 web 开发的工作时,我认为 JavaScript 是可以起步的伟大语言,下面是重要原因:

进入门槛低:JavaScript 与其它语言相比,相对容易学习,你能够在线上找到很多现成的脚本和资源。另外,JavaScript 可以被任意文本编辑器或各种免费工具创建,包括 Atom、ChromeDev Editor 和 jsFiddle。
跨平台:所有浏览器,还有基于 Node.js 的服务器端,都支持 JavaScript,在大部分移动平台也正常运行。一套 JavaScript 技能可用来开发面向大部分平台的应用程序。(注意:JavaScript 不是万能工具。比如,像数据分析之类的耗费资源的应用程序,最好使用另一种语言。)
已有技术:服务器端的 JavaScript 或许是个相对崭新的概念,但是核心 JavaScript 语言已经存在多年了,随着时间的增长,它已经成熟,并作为通用的 web 脚本语言被广为接受。
跳板:JavaScript 和其它平台兼容较好,因此当你曾经冒险采用 Ruby on Rails、ASP.NET、PHP 等其它环境时,你的 JavaScript 技能将是必需的。你仍然需要学习 HTML 和一些 CSS,通过 JavaScript 来开发强壮的 web 应用程序。
热门技术:语言是建立了,但是行业本身找到了带有 JavaScript 知识和技能的语言。看看招聘职位,你将看到趋势。

不是你哥们儿的 JavaScript

我过去听说 JavaScript 被描述成易于学习,却难以掌握。对于很多语言,可能都是这样,但是 web 的 JavaScript 饱和程度意味着,初学的开发者可以从其它网站快速拷贝经过检验的代码,做些必要修改就可以使用,而不需要完全理解代码。

如今 JavaScript 是 web 的中坚力量,因此那些想成为 web 开发者的人们,应该集中精力于它,以作为学习的第一门语言。

你同意吗?如果你不同意,那么你认为想找 web 开发工作的开发者应该学习的第一门语言是哪种?在评论里告诉我们。

Javascript 相关文章推荐
JavaScript表单常用验证集合
Jan 16 Javascript
jQuery中ready事件用法实例
Jan 19 Javascript
jQuery实现为图片添加镜头放大效果的方法
Jun 25 Javascript
JavaScript操作URL的相关内容集锦
Oct 29 Javascript
jquery+json实现动态商品内容展示的方法
Jan 14 Javascript
Angular ng-repeat 对象和数组遍历实例
Sep 14 Javascript
js return返回多个值,通过对象的属性访问方法
Feb 21 Javascript
js正则取值的结果数组调试方法
Oct 10 Javascript
JS实现可切换图片的幻灯切换效果示例
May 24 Javascript
深入了解JavaScript 私有化
May 30 Javascript
你不可不知的Vue.js列表渲染详解
Oct 01 Javascript
vue 实现购物车总价计算
Nov 06 Javascript
兼容主流浏览器的JS复制内容到剪贴板
Dec 12 #Javascript
Javascript模拟加速运动与减速运动代码分享
Dec 11 #Javascript
javascript中HTMLDOM操作详解
Dec 11 #Javascript
javascript实现修改微信分享的标题内容等
Dec 11 #Javascript
javascript表单验证和Window详解
Dec 11 #Javascript
使用百度地图api实现根据地址查询经纬度
Dec 11 #Javascript
javascript实现倒计时N秒后网页自动跳转代码
Dec 11 #Javascript
You might like
PHP写入WRITE编码为UTF8的文件的实现代码
2008/07/07 PHP
php中json_encode UTF-8中文乱码的更好解决方法
2014/09/28 PHP
thinkphp实现图片上传功能
2016/01/13 PHP
PHP数组去重比较快的实现方式
2016/01/19 PHP
提高网站信任度的技巧
2008/10/17 Javascript
jQuery EasyUI中对表格进行编辑的实现代码
2010/06/10 Javascript
异步javascript的原理和实现技巧介绍
2012/11/08 Javascript
js使用正则实现ReplaceAll全部替换的方法
2014/07/18 Javascript
jQuery提交多个表单的小技巧
2014/07/27 Javascript
javascript中返回顶部按钮的实现
2015/05/05 Javascript
js控制文本框输入的字符类型方法汇总
2015/06/19 Javascript
探究JavaScript函数式编程的乐趣
2015/12/14 Javascript
JS集成fckeditor及判断内容是否为空的方法
2016/05/27 Javascript
微信小程序 devtool隐藏的秘密
2017/01/21 Javascript
详解AngularJS1.x学习directive 中‘& ’‘=’ ‘@’符号的区别使用
2017/08/23 Javascript
JS运动改变单物体透明度的方法分析
2018/01/23 Javascript
浅谈MUI框架中加载外部网页或服务器数据的方法
2018/01/31 Javascript
详解基于Vue cli生成的Vue项目的webpack4升级
2018/06/19 Javascript
JavaScript实现拖动对话框效果的实现代码
2020/10/12 Javascript
vue图片裁剪插件vue-cropper使用方法详解
2020/12/16 Vue.js
SpringBoot+Vue 前后端合并部署的配置方法
2020/12/30 Vue.js
Python OpenCV处理图像之滤镜和图像运算
2018/07/10 Python
Python Numpy 实现交换两行和两列的方法
2019/06/26 Python
英国著名的化妆品折扣网站:Allbeauty.com
2016/07/21 全球购物
MATCHESFASHION澳大利亚/亚太地区:英国时尚奢侈品电商
2020/01/14 全球购物
Nike意大利官网:Nike.com IT
2020/01/19 全球购物
汽车技术服务英文求职信范文
2014/01/02 职场文书
数控技术专科生自我评价
2014/01/08 职场文书
个人对照检查材料思想汇报(四风问题)
2014/09/25 职场文书
2014财务年度工作总结
2014/11/11 职场文书
安全先进班组材料
2014/12/26 职场文书
技术员岗位职责
2015/02/04 职场文书
校园歌手大赛主持词
2015/07/03 职场文书
春季运动会加油词
2015/07/18 职场文书
MySQL限制查询和数据排序介绍
2022/03/25 MySQL
PyCharm 配置SSH和SFTP连接远程服务器
2022/05/11 Python