找不到工作?学JavaScript吧

事实上,每家专业招聘机构,从Glassdoor.com和Linkedin到美国劳工部,都报导了就业市场对开发人员需求的增长速度出于意料地快。这种需求可能已经不新鲜了,但是就业市场对哪种开发语言的需求量最大,依然是个热门话题。虽然对HTML5技能的依然需求保持稳定,但真正必须掌握的语言就是JavaScript。

基于前面2篇博客:图片 1

在Monster网站的技术求职趋势报告中,特别指出了JavaScript是必须掌握的几门技能之一,这要得益于企业级Web应用的增长。在2015年1月,Mashable网站列出了对于开发人员来说最重要的15项技能,JavaScript排在第二。相比前几年JavaScript并不受欢迎,这种变化很明显。博客作者Glen
Maddern的文章代表了对JavaScript的全新思考,他相信JavaScript正从一种“凑合”的语言变成一种优秀的语言。

  • 程序员Web面试之jQuery
  • 程序员Web面试之JSON

JavaScript好在哪里?

为什么如今JavaScript如此火爆?首先,很多企业都在采用它,它在很多技术系统中均扮演了正面的角色。根据JavaWorld的Martin
Heller的说法,JavaScript不仅仅可以搭配HTML5和CCS来构建Web前端,在移动应用中也经常见到它的身影,甚至在后端开发领域,它也通过Node.js服务器在发挥作用。如果你去读读这篇文章《全栈JavaScript介绍》,你就会理解JavaScript远远不止是一门“90秒钟可以掌握”的编程语言那么简单。JavaScript在产品经理和设计师人群中越来越流行,因为它实现了很多具有良好用户体验的功能,支持大多数流行的网页浏览器和平台。这对于设计师和终端用户来说是好消息。

随着移动领域的飞速发展,消费者和企业用户不管使用什么设备,都开始期望得到高响应性的(译者注:指针对不同设备的显示屏幕自适应地显示内容)、无缝的Web体验。那些理解大势所趋的品牌,都撤下了m.开头的移动版网站,开始提供完全动态的体验,它们具有丰富的功能,性能良好,而且可以根据环境为你展示不同的内容。此外,客户端为了达到使人惊叹的效果,也需要动画和交互;最早,Flash是这些目标的解决方案。如今,JavaScript能得到更好的效果。

以前原生应用中很多很酷的功能,在网页浏览器中只能用Macromedia的Flash或微软的Silverlight这样的插件才能做出来。今天,JavaScript配合HTML5和CSS3就能达到这些效果。复杂的数据交互(比如内嵌过滤、即时反馈、基于上下文的规则等)以前需要花数个星期才能编出来,但现在如果用流行的JavaScript库和框架来操作和实现,能达到开箱即用的效果。由于这些原因,前端开发人员的职位需求描述已经从“有jQuery经验”,变成了“有Angular、Node、Bootstrap和jQuery经验”。作为一门语言,JavaScript在迅速成长,但高质量的开发会不断地催生新的需求。

您已经可以顺利进入Web开发的大门。

局限性

光有技术还不能造就一个优秀的开发者。他要有从整体角度去理解和处理应用的能力。JavaScript可以成为架构和开发策略的一部分,但它本身并不能作为一种架构或开发策略。

换句话说,JavaScript很不错,但是它不是万能的。有经验有能力的开发者知道,何时何地应该如何去使用它。但开发新手不一样,就像他们对待任何编程语言那样,一旦他们熟悉了某种库或框架,就想着用它来搞定一切,哪怕它对某个任务来说并不是很合适。这个问题要潜伏一段时间才能暴露,这将会给业务的可伸缩性、可维护性和性能带来负面影响。

举个例子,在一些发展中国家,网络带宽、计算机的CPU和内存资源都很成问题,这种情况JavaScript就不是最好的选择。甚至,用户的浏览器版本落后最新的版本很多,也是很常见的事情,所以如果大量使用JavaScript的话,性能和兼容性就会成问题。如果你产品的受众是世界性的,那就少用些“最前沿的UI”,否则产品到部分用户手里会产生糟糕的用户体验。此外,在安全管控甚严的工业领域,JavaScript也不是开发应用的好选择。

架构师和资深开发人员理解上面这些因素,知道什么时候使用JavaScript是正确的选择,什么时候不是。这里的底线就是把这方面的最佳实践时刻牢记,确保用户体验不受影响。

但是要动手干,还需要了解一些已有的前端框架、UI套件,即要站在巨人肩膀上而不是从轮子开始造汽车.
下面就Web开发用到的前端框架、UI套件、UI插件一一列举(排名不分先后):

JavaScript就业市场展望

JavaScript会经得起时间考验吗?会长盛不衰,还是昙花一现,很快被更好的技术所替代?换句话说,用JavaScript来开发你的企业应用是否保险?

很多开发者同意Flash已经穷途末路。部分人认为Flash退出历史舞台是自然演化的结果,但更多人都知道是谁击败了它。JavaScript已经替代了Flash,至少在下个十年中,它会继续扩张,在各种软件系统中承担越来越多的角色。我们来考虑一下Flash提供的功能——主要是UI方面的——再把这些UI功能的数量乘以几倍来估算应用程序所有方面的功能,可想而知JavaScript将带来多大的价值。JavaScript会有过时的一天吗?当然会,但我们还不知道是何时。

另一个有可能促成JavaScript长盛不衰的因素是它总是在不停地演进。新的JavaScript库和框架在不断地涌现出来。就在几年前,AngularJS还处于beta测试中;而今天,就业市场对有AngularJS经验的开发者的需求空前高涨。并且这仅是一个例子,说明JavaScript的前沿成果演变成市场主流的速度有多快。当然知识是多方面的。解决重大问题的能力、最佳实践以及能够清晰地理解这些库和框架如何解决我们面临的挑战,是人事经理为人才定价的最重要依据。

要精确预测一门技术会如何演进是不可能的,但是我们可以确定今天用JavaScript写的应用,在未来好多年中都需要得到持续的支持。就算我们乐观地认为JavaScript会很长寿,目前的这些产品也需要在未来十年中得到多次升级和修改,以适应企业级的应用。为了能维持业务,或增强JavaScript写的应用,企业在当下以及未来都需要拨出预算来和外部机构合作,或雇佣内部的专家。

jQuery UI

图片 2

jQuery UI以 jQuery 为基础的开源 JavaScript
网页用户界面代码库。包含底层用户交互、动画、特效和可更换主题的可视控件。包含了许多维持状态的小部件(Widget),因此,它与典型的
jQuery 插件使用模式略有不同。所有的 jQuery UI
小部件(Widget)使用相同的模式,所以,只要您学会使用其中一个,您就知道如何使用其他的小部件(Widget)。

jQuery UI 与 jquery 的主要区别是:

(1) jQuery是一个js库,主要提供的功能是选择器,属性修改和事件绑定等等。

(2) jQuery
UI则是在jQuery的基础上,利用jQuery的扩展性,设计的插件。提供了一些常用的界面元素,诸如对话框、拖动行为、改变大小行为等等。

JavaScript开发者下一步该做什么

对于那些经历着Web技术演进并保持自己的JavaScript技能持续更新的开发者来说,这一切都是好消息。但是,刚刚入门的开发者(或刚刚参加工作的年轻开发者)要想抓住这一波机会,应该做些什么呢?当下从事技术工作的迷人之处就在于,所有的文档、示例代码以及其他开发者讨论过的问题,只要稍一搜索便唾手可得。

转投JavaScript的开发者,或者想试水现代Web技术的人,可以从在线进修课程开始。像Codecademy这样的网站免费为初学者提供了JavaScript课程。如果开发者希望通过实战来学习尽可能多的知识,那么订阅Pluralsight可能是更好的选择。Pluralsight有更多的课程门类可供选择,从AngularJS基础课程,到使用Backbone.js在服务端存储数据,样样都有。这些课程都由业界专家编写并解说。

这些库和框架的开发者社区是很强大的。如果你需要面对面讨论解决问题的学习方式,那么你可以考虑找一个本地学习小组或上Meetup去找一个,这类小组通常会分享关于特定技术问题的知识。像StackOverflow这样的网站也是一个知识宝库,开发者遇到的常见(或不那么常见)的问题都会有。

大多数顶级的框架和库都是开源的,并且托管在GitHub上(比如,GitHub
AngularJS)。对于当代软件开发来说,GitHub是一笔无法想象的财富,它提供了大量在不断演进的优秀软件。开发者如果希望帮助开源软件发展,并获得开发者社区的认同,可以通过解决bug、更新wiki和提交新功能补丁等方式来参与进去。而且越来越多的技术招聘者在筛选阶段要求查看应聘者的GitHub或Bitbucket的账户,使得这一点变得更加重要。

你的职业发展、受欢迎程度和薪水从没有像现在一样,掌握在自己手里。你是否还记得几年前,就业市场对iOS开发者的需求量空前的大?如果像你这样的UI开发者当时只能站在边上看着那些招聘广告流口水,那么好消息来了:现在是你的时代了。由你统治的市场来了,并将繁荣很久。

ExtJS

图片 3

ExtJS 是最流行的 JavaScript 框架之一,提供了非常丰富的 UI
组件,包括高性能的数据表格、图表、选项卡、弹窗、工具条和菜单等等整套的
Web UI 组件,可以帮助你构建用户体验良好的 Web 应用。

ExtJs初期仅是对Yahoo!
UI的对话框扩展,后来逐渐有了自己的特色,深受网友的喜爱。 发展至今,
Ext除YUI外还支持Jquery、Prototype等的多种JS底层库,让大家自由地选择。该框架完全基于纯Html/CSS+JS技术,提供丰富的跨浏览器UI组件,灵活采用JSON/XML数据源开发,使得服务端表示层的负荷真正减轻,从而达到客户端的MVC应用!

Dojo Toolkit

图片 4

Dojo 自从诞生那天起就成为了 ExtJS
的有力竞争者,它最大的优势在于免费,可以在商业项目中自由使用。Dojo 由
sitepen 创建,其口号是:Unbeatable JavaScript Tools。

Qooxdoo

图片 5

Qooxdoo 是一个开源的 JavaScript 框架,让开发者能够通过面向对象的
JavaScript 开发者令人印象深刻的 Web 应用。Qooxdoo 由 1&1
公司维护,在线示例:

Angular js

图片 6

是一款开源
JavaScript函式库,由Google推出的一款Web应用开发框架。它提供了一系列兼容性良好并且可扩展的服务,包括数据绑定、DOM操作、MVC设计模式和模块加载等。AngularJS
不仅仅是一个类库,而是提供了一个完整的框架。它避免了您和多个类库交互,需要熟悉多套接口的繁琐工作。它由Google
Chrome的开发人员设计,引领着下一代Web应用开发。

了解AngularJS的开发人员,你肯定会为AngularJS自定义指令(它的功能相当于.NET
平台下的自定义控件)功能感到兴奋。自定义指令允许你扩展HTML标签和特性。指令可以复用并且可以跨项目使用。

深入阅读博客:带你走近AngularJS – 基本功能介绍

                     Angular.js为什么如此火呢?

Knockout js

图片 7

Knockoutjs是一个JavaScript实现的MVVM框架。主要有如下几个功能:

  1. Declarative bindings

  2. Observables and dependency tracking

  3. Templating

它对于分离前台的业务逻辑和视图简化数据绑定过程有显著的作用。

官网例子:

Bootstrap

图片 8

Twitter推出,一个开源的用于前端开发的工具包。

它由Mark Otto和Jacob
Thornton合作开发,是一个CSS/HTML框架。Bootstrap提供了优雅的HTML和CSS规范,由动态CSS语言LESS写成,与CSS
框架Blueprint存在很多相似之处。Bootstrap一经推出便颇受欢迎,一直是GitHub上的热门开源项目。Bootstrap为我们的网站快速搭建提供了不错的工具和思路,这个工具集将拥有更旺盛的生命力。

Wijmo

图片 9

在线演示地址:

Wijmo是基于jQuery和jQuery
UI构建出一整套组件集合,正是得力于轻量级的jQuery
UI框架,Wijmo中的每个组件都拥有丰富的功能、易使用、极佳的性能。目前最新版本是2014V1。Wijmo部件进行了优化客户端Web开发和利用jQuery的优越的性能和易用性的力量。所有的Wijmo部件都配备了20多个主题和支持ThemeRoller。

Wijimo进入国内时间较短,属于是Web前端框架的一匹黑马:已在中国组建研发团队和对技术社区投入。

 

以上的Web框架、UI套件,你用过哪几个?  欢迎评论和交流。

程序员Web面试之jQuery
程序员Web面试之JSON 您已经可以顺利进入Web开发的大门。
但是要动手干,还需要了解一些已有的前…

发表评论

电子邮件地址不会被公开。 必填项已用*标注