做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 相关文章推荐
jQuery实现鼠标滑过遮罩并高亮显示效果
Jul 16 Javascript
3种不同方式的焦点图轮播特效分享
Oct 30 Javascript
js实现的全国省市二级联动下拉选择菜单完整实例
Aug 17 Javascript
JQuery页面随滚动条动态加载效果的简单实现(推荐)
Feb 08 Javascript
js中DOM三级列表(代码分享)
Mar 20 Javascript
基于bootstrap按钮式下拉菜单组件的搜索建议插件
Mar 25 Javascript
H5图片压缩与上传实例
Apr 21 Javascript
小程序指纹验证的实现代码
Dec 04 Javascript
生产制造追溯系统之再说条码打印
Jun 03 Javascript
JS实现纵向轮播图(初级版)
Jan 18 Javascript
基于JavaScript实现大文件上传后端代码实例
Aug 18 Javascript
JS前端轻量fabric.js系列之画布初始化
Aug 05 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
PHP5在Apache下的两种模式的安装
2006/09/05 PHP
php基础知识:控制结构
2006/12/13 PHP
php生成文件
2007/01/15 PHP
php弹出对话框实现重定向代码
2014/01/23 PHP
推荐25款php中非常有用的类库
2014/09/29 PHP
PHP getDocNamespaces()函数讲解
2019/02/03 PHP
PHP字符串中抽取子串操作实例分析
2019/06/22 PHP
Web 前端设计模式--Dom重构 提高显示性能
2010/10/22 Javascript
jQuery Clone Bug解决代码
2010/12/22 Javascript
TreeView 用法(有代码)(asp.net)
2011/07/15 Javascript
jquery.boxy弹出框(后隔N秒后自动隐藏/自动跳转)
2013/01/15 Javascript
js取得url地址参数实例
2013/02/22 Javascript
自定义jquery模态窗口插件无法在顶层窗口显示问题
2014/05/29 Javascript
3种Jquery限制文本框只能输入数字字母的方法
2014/12/03 Javascript
浅谈javascript语法和定时函数
2015/05/03 Javascript
jQuery实现进度条效果代码
2015/12/17 Javascript
JavaScript事件学习小结(三)js事件对象
2016/06/09 Javascript
浅析JS中什么是自定义react数据验证组件
2018/10/19 Javascript
微信小程序实现登录遮罩效果
2018/11/01 Javascript
nuxt 路由、过渡特效、中间件的实现代码
2020/11/06 Javascript
python常规方法实现数组的全排列
2015/03/17 Python
Python中内置的日志模块logging用法详解
2016/07/12 Python
python中利用Future对象回调别的函数示例代码
2017/09/07 Python
Python3实现对列表按元组指定列进行排序的方法分析
2018/12/22 Python
深入了解Python 方法之类方法 & 静态方法
2020/08/17 Python
简单整理HTML5的基本特性和语法
2016/02/18 HTML / CSS
KARATOV珠宝在线商店:俄罗斯珠宝品牌
2019/03/13 全球购物
蟋蟀的住宅教学反思
2014/04/26 职场文书
小学语文教学经验交流材料
2014/06/02 职场文书
现场活动策划方案
2014/08/22 职场文书
邓小平理论心得体会
2014/09/09 职场文书
2014大学生中国梦主题教育学习思想汇报
2014/09/10 职场文书
就业意向协议书
2015/01/29 职场文书
Python编程编写完善的命令行工具
2021/09/15 Python
Redis如何使用乐观锁(CAS)保证数据一致性
2022/03/25 Redis
使用MybatisPlus打印sql语句
2022/04/22 SQL Server