在上一周,研发频道的文章主要集中在开源方面,这也是当下发展的一个潮流,越来越多的企业把项目选择开源。其中涉及到的开源文章有:CodeCombat游戏全面开源:玩游戏也能学编程、【开源专访】Node-Webkit作者王文睿:桌面应用的全新开发方式、新一代IDE Light Table开源:让编程工作更简单等。
下面就让我们来细细品味上周精彩文章:
1.【开源专访】Node-Webkit作者王文睿:桌面应用的全新开发方式
最近两年,Node.js技术越来越火,基于它所开发的应用也纷纷出现在大家面前,其中Node-Webkit就是这样的一个开源框架,它允许开发者使用Web技术开发桌面应用。
Node-Webkit是NodeJS与WebKit技术的融合,提供一个跨Windows、Linux平台的客户端应用开发的底层框架,利用流行的Web技术(Node.JS,JavaScript,HTML5)来编写应用程序的平台。应用程序开发人员可以轻松的利用Web技术来实现各种应用程序。Node-Webkit性能和特色已经让它成为当今世界领先的Web技术应用程序平台。
Node-Webkit的项目发起人 王文睿
CSDN:您先做个自我介绍吧!
王文睿:目前我任职于Intel公司开源技术中心(OTC),从事Web和浏览器技术开发工作。现在主要工作是开发和维护Node-Webkit项目。此前从事过MeeGo、Tizen和JNI xml性能库的开发和数据中心解决方案服务。我于2005年加入Intel公司,此前于毕业于中科大少年班,在计算机系获得博士学位,研究方向为高性能计算。
CSDN:Node-Webkit项目创建的初衷是什么?
王文睿:2011年的时候,我和同事在讨论如何为Tizen WebRuntime增加扩展API的时候有了这个想法,就是用Node平台来扩展WebRuntime,达到开发本地应用的目的。那时候公司内部有个鼓励创新计划的活动,所以起初我可以用10%的工作时间投入到这个项目中。
CSDN:怎么想到把Node.js和Webkit技术结合在一起的?在这个项目中,Node.js和Webkit各自扮演着怎样的角色?这样结合有哪些优势?
王文睿:那时候已经了解到Node.js平台在Web开发者中很流行,有很多库,可以写本地应用。所以就有了用它扩展WebRuntime的想法。相比自己定义许多API, 这样做开发者几乎不需要学习新的接口,而且方便自己用JS或者C++扩展。
WebKit(现在是Blink)负责HTML5 UI 相关的部分,而Node.js负责本地的API接口,比如文件系统,网络,设备等。
CSDN:Node-Webkit允许采用Web技术开发本地应用的原理是什么?具体是如何实现的?
王文睿:项目的核心思想就是在DOM中跑的代码能够直接调用Node.js中运行的代码,所以核心的部分是把二者跑在同一个线程中。需要把Chromium进程的事件循环和Node.js的事件循环合并在一起,并且把二者的V8 JS引擎环境(Context)合并起来。
CSDN:将HTML/CSS/JS编译为本地代码,其内部过程是什么样的?
王文睿:其实是一个打包的功能,将项目文件打包和Node-Webkit可执行文件放置在一起,就可以直接运行了。Node-Webkit启动的时候会自动加载页面文件。
更多采访内容,欢迎大家 访问原文。
2.新一代IDE Light Table开源:让编程工作更简单
近日,Light Table项目创始人Chris Granger在其 博客上宣布Light Table开源,将代码全部托管在GitHub上,遵循GNU开源许可。与此同时,还发布了0.6版本,该版本添加了插件、并对基础架构也进行了提升。
Light Table是由Microsoft Visual Studio部门项目经理Chris Granger离职后开发的全新理念的IDE,支持多种语言,比如Python、Clojure、JavaScript等。Light Table是一个很简单的概念:我们需要真正的工作面板,不只是编辑器和项目管理器。我们可以把东西尽量整洁地堆在这里,需要的时候可以把资料直接拿出来看。
Light Table所基于的开发原则:
3.CodeCombat游戏全面开源:玩游戏也能学编程
在倡导人人学编程、编程从娃娃抓起的时代,不知你是否听过,玩游戏也可以学编程。目前, CodeCombat游戏全面开源,它是一款多人编码游戏,该款游戏的任务就是教会大家如何编程,并且通过游戏来提升开发者的技能水平。
游戏总共超过9千关,每个步骤都会有语音操作提示(非中文),无论你是新手还是编程精英都可以加入到这款游戏中。
CodeCombat是一款跨平台游戏,可以在多个系统上运行,并且已被翻译成多个语言版本。
CodeCombat托管在 GitHub上,它也是GitHub上最大的开源CoffeeScript项目。代码遵循MIT和 Creative Commons协议。该游戏是由Y Combinator投资,开发者可以利用玩游戏的方式投入到开源和游戏开发工作中。两周前,CodeCombat发布了测试版本。更多详情,可以访问其博客的 开源说明。
4.CentOS归属红帽:企业级Linux领域社区与商业的融合
红帽和CentOS于北京时间2014年1月8日在官网宣布,CentOS核心团队和项目将加盟红帽,同时CentOS也启用了一个新的站点( http://www.centos.org )。
CentOS(Community Enterprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS并不包含封闭源代码软件。
CentOS加盟红帽后,红帽的Linux系统产品线如下:
CentOS团队在声明中表示,CentOS项目也将成为红帽的一部分,将和Fedora和RHEL生态系统一起,按照既定目标,进一步加速社区的发展和平台的创新。
5.超实用的JavaScript技巧及最佳实践(下)
JavaScript是一门非常流行的编程语言,许多开发者都会把JavaScript选为入门语言,本文向大家分享JavaScript开发的小技巧、最佳实践等非常实用的内容。
在上周,CSDN研发频道发表了超实用的JavaScript技巧及最佳实践(上),很多开发者都觉得里面所提到的技巧非常实用,基于此,我们再向大家推荐超实用的JavaScript技巧及最佳实践(下),希望对大家有所帮助。
文中所提供的代码片段都已经过最新版的Chrome 30测试,该浏览器使用V8 JavaScript引擎(V8 3.20.17.15)。
1.使用逻辑符号&&或者||进行条件判断
||也可以用来设置函数参数的默认值
0.1+0.2等于0.30000000000000004,为什么会发生这种情况?根据IEEE754标准,你需要知道的是所有JavaScript数字在64位二进制内的都表示浮点数。开发者可以使用toFixed()和toPrecision()方法来解决这个问题。
下面这段代码主要是为了避免遍历对象属性。
在使用jQuery选择器的情况下,开发者可以缓存DOM元素
确保参数传递到indexOf()方法里是非负向的。
更多技巧和最佳实践,读者可以访问:超实用的JavaScript技巧及最佳实践(上)和超实用的JavaScript技巧及最佳实践(下)。
6.设计师如何写出更棒的项目建议
如果你最终决定开始在网上开展自由网页设计业务的话,那么接下来你首先要考虑是否需要一个办公室;在系统学习如何招揽顾客之前,最好是列出“如何在线开展自由网页设计业务”的计划列表。制作项目建议表是开启项目的基础部分,也是最值得深入讨论的部分,现在我们就来讨论这个比较重要的问题:编写较好的Web项目建议的正确方式是什么?
据Stack Overflow统计,2013年最吃香的职位当属于Java程序员。每年都会有成千上万的公司使用Careers 2.0搜索与软件开发相关的工作职位,在2013年,Java开发者成了大家最常搜索的关键词。
Stack Overflow从各个公司最常搜索的14000个词汇中,总结出了与开发技能最相关且搜索次数最多的词汇,其中下面10种语言/技术出现的频率是最多的:
下面我们再从Indeed中看看这10门主流语言/技术的热门程度。Indeed是全球最大的招聘求职网站,每月拥有1亿独立用户,Indeed的服务跨越50个国家,支持26种语言,覆盖了产生全球94%GDP的区域。
下图显示了在Indeed中这10种编程语言/技术所匹配的工作数量的百分比。
从图中可以看出,老牌语言Java和.NET最为热门。而JavaScript呈现一直增长的曲线,排在第三位,而随着HTML5技术的逐渐成熟和广泛应用,JavaScript将会迎来新一轮的需求增长。 其中C++表现很稳定。
随着移动互联网的快速发展,iOS、Android呈现出增长的趋势,并且两者的增长势头相当,不分上下。
该排名是根据Indeed网站中相关招聘职位数量所统计出来的,在一定方面反映了该语言的市场需求情况(注意是市场需求,不是语言好坏)。这些数据可以作为你学习语言和找工作时的一些参考。由于这些数据统计的是国外的招聘情况,所以其排名也不可尽信。
Indeed工作趋势搜索:http://www.indeed.com/jobtrends
这里还有一个招聘统计网站(http://www.simplyhired.com/a/jobtrends/home),可以进行对比作为参考。Simply Hired也号称全球最大的招聘网站。
8.Firefox OS的2013回顾和2014展望
Firefox OS是一个采用开放Web技术、完全基于HTML5开发的移动操作系统,其目标是提供一个平台,使得用户在移动设备、桌面电脑、平板或者任何可以连到网络的设备上获得相同的应用体验。
2013年,Mozilla度过了15岁的生日,这一年,Mozilla正式发布了Firefox OS,高调进入移动领域。本文就来回顾一下2013年Firefox的历程,并展望它在2014年的发展。
Firefox OS的2013
2013年初,Mozilla在全球移动通信大会(MWC)上正式发布了Firefox OS。
面对两大强敌――Android、iOS,Windows Phone在微软和诺基亚强大的背景下非常艰难地抢占了一点市场份额,移动领域的竞争已经进入了白热化状态,Mozilla为何还要趟这个浑水呢?
对于这个问题,Mozilla表示,这些操作系统及其生态都不是真正的开放,应该有这么一个真正开放的生态来替代它们。基于Web的灵活性和强大的功能,用户可以在任何平台上获得体验一致的应用程序,而不需要依赖特定的设备。
Firefox OS的代码是开源的,这样用户可以看到该系统不断进化完善的过程,在个人资料处理和安全性方面,开源的系统会更加可靠。
下面来看看Firefox OS 2013年大事记。
Firefox OS的2014
Firefox OS系统和相关手机如今都已经面市,在经过了2013年一年时间的铺垫,今年势必成为Firefox OS高速发展的最佳时机。