国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > 互联网 > 研发周报:Facebook开源flint 基于D语言的C++静态代码分析器

研发周报:Facebook开源flint 基于D语言的C++静态代码分析器

来源:程序员人生   发布时间:2014-09-11 14:14:43 阅读次数:3410次

在过去的一周,Ruby发布了2.1.1版本,并且迎来了它的21岁生日。在开源方面,Facebook开源基于D语言编写的C++静态代码分析器flint。flint的主要功能是自动提示警报信息。例如,在代码审核系统里给出合适的代码修改提示;提醒程序员哪行代码出错了等等。

此外,其它热门文章还有:专访Ejoy2D作者云风:因Lua而生的开源图形引擎、你应该放弃的八大设计元素等。

1.私人定制,十款最佳Node.js MVC框架

Node.js是JavaScript中最为流行的框架之一,易于创建可扩展的Web应用。Node.js包含不同类型框架,包括MVC, full-stack,REST API以及Generators。借助这些框架使Node.js更加易于使用,它还支持众多特性功能,您只需几个步骤就可快速搭建强大的Web应用。


下面分享10款基于Node.js的MVC框架啊:

  • Sails. js
  • Total.js
  • Partial.js
  • Koa. js
  • Locomotive. js
  • Express. js
  • Flatiron. js
  • Express-io
  • Socket Stream
  • Geddy. js

2.C/C++开发者必不可少的15款编译器+IDE

Web开发者可选择的编程语言有很多比如,Java、.Net、PHP、Ruby、Perl、Python等等,但是今天我们要讨论的是两个古老且非常流行的语言,即C/C++。正是由于其迷人的特性,赋予了它们更加有效的功能,并且也获得了各大工具厂商的支持。如今,这两门语言依然活跃在编程领域里,其不仅拥有者强大的功能集,而且还提供了强大的安全保障。

本文,笔者专为C/C++编码者收集了15款令人印象深刻的IDE和编译器。我们一起来看下: 

  • kDevelop
  • Anjuta
  • Code Blocks
  • Visual Mingw
  • Ideone
  • Eclipse CDT
  • Compilr 
  • Code Lite
  • Netbeans C++
  • Dev C++
  • Ultimate++
  • Digital Mars
  • C-Free
  • MinGW
  • Tiny C Compiler

3.专访Ejoy2D作者云风:因Lua而生的开源图形引擎

Ejoy2D是一款图形引擎、基于C和Lua开发,底层是一个十分简单的核心层,基本上只负担绘制工作,上层语言是Lua。Ejoy2D是国内简悦(EJOY)游戏公司所开发的一款游戏图形引擎,旨在帮助开发人员轻松地嵌入到游戏引擎中,方便开发者定制自己所需的功能。遵循MIT开源许可。 

托管地址: https://github.com/cloudwu/ejoy2d

CSDN记者联系到了Ejoy2D项目负责人云风(微博:@简悦云风),请他来分享Ejoy2D的开发历程及他在游戏开发方面的感悟。

云风:真名吴云洋,曾任网易杭州研究中心总监,是网易《大话西游》、《梦幻西游》等游戏的主要开发者,他在2011年9月从网易辞职,并与前网易COO詹钟晖联合创办了简悦(EJOY)游戏公司,任公司CTO。

Ejoy2D项目负责人 云风

CSDN:Ejoy2D项目创建的初衷是什么?

云风:Ejoy2D的起源来自于我在2013年初玩到的一款叫Clash of Clans的移动平台游戏,这让我发现在移动平台上,除了一个人玩的传统游戏之外,还可以有非常有趣且结合移动平台特性的游戏类型存在。在此之前,我们公司并没有立刻开始移动平台开发计划;之后,我们迫切的想进入移动平台游戏的开发领域。在经过公司内部的充分讨论后,我们打算先模仿Clash of Clans做一款类似的游戏练手。我个人判断,把这类游戏做好,客户端开发有一定的技术门槛,不太容易做的好。而我在十多年前就开始做2D游戏引擎,很有自信可以为这款游戏定制一款新的、适应移动平台开发的2D引擎。这就是Ejoy2D的开始。

在独立开发了大约一个月后,从我们的PC端游戏组调出了一名同事,和我一起来制作这款新游戏。边用边对Ejoy2D提出新需求,并完善它。

到了2013年7月左右,我们的外包美术资源开始进入,这时,我们又从外部招聘了一名同事专门为 Ejoy2D定制美术工具。这样才慢慢完善了工具链,最终把游戏做了出来。这款游戏就是现在的陌陌争霸。

从一开始,我就希望把引擎开源。因为之前我们开源的游戏服务器框架Skynet反响很好,帮助了不少朋友,同时开源也提高了代码质量,不少bug都是公司之外的同学发现的。这让我们在自己生产环境碰到bug前就得以修正。

但一开始的Ejoy2D代码很不稳定,且充满了为了游戏项目能快速完成而临时添加的补丁,所以直到我们的陌陌争霸基本完成。后来,我花了大约2周时间全部重写了Ejoy2D的代码,觉得可以与大家见面了,就公布了代码,并发布了开源的消息。接下来,我们内部有两个新的项目组开始使用新版的Ejoy2D开发游戏,这两个组都有同事开始为Ejoy2D贡献代码。

CSDN:与其它游戏引擎相比,比如Cocos2d-x,Ejoy2D有哪些与众不同的地方?

云风:Ejoy2D其实是对OpenGL ES的一个浅封装。我并不想把它发展成一个游戏引擎,而只停留在图形引擎层面上。但和别的引擎相比较大的区别是,它天生为和Lua结合而设计并实现的。你几乎不可能只使用Ejoy2D的C API ,而我鼓励你只用Lua API在其上做开发。只有解决不了的需求时,再编写一个供Lua调用的C模块。由于这种设计,在使用方式上,Ejoy2D应该会比其它结合Lua脚本的引擎更高效些,使用起Lua API也会更自然。同时,Ejoy2D保留了很小的C内核,代码全部用很简短的C实现。阅读理解起来会比较容易,维护它更轻松一些。

4.你应该放弃的八大设计元素

随着移动浪潮的到来,以前众多的流行设计元素因在移动设备上无法提供良好的视觉体验,而正逐渐被淘汰。本文总结出八大即将被淘汰的设计元素,比如有下拉菜单、旋转木马、拟物化设计、Flash等。


下拉菜单

自互联网诞生之后,下拉式菜单就成为用户界面中的重要组成部分。现在还有不尽其数的网站仍将悬浮式下拉列表作为导航的重要部分,但随着响应式设计趋势的到来,简单的下拉菜单将会逐渐消失。

从目前形式看,下拉列表在那些无法实现“悬浮状态”的设备上(如平板、手机)无法正常工作。随着“移动优先”设计理念的进一步增强,基于点击的导航将会越来越流行,如“汉堡式按钮”的使用,及把整个网站的导航设计在一个可点击的列表中。

旋转木马

旋转木马是另一个历史比较久远的Web UI元素(至少,根据互联网标准是这样的),它可以使页面在首屏的某个位置显示多个内容元素。基于时间进行循环播放,旋转木马已被淘汰,尤其在一些主要的新式网站上,它们基于浏览器的宽度可自适应地显示内容块。旋转木马的淘汰对手机、平板用户是有利的,他们不必再费力地猛击滚动着的旋转木马或导航。正如我们所了解的,旋转木马将进化得更像画廊,且基于点击与导航,而不是基于时间。

其它应该放弃的元素还有:IE 9、拟物化设计、Flash、Web页面、共享主机、“m.”网站。

5.Ruby 2.1.1发布,改进系统加速,服务器兼容等问题

北京时间2014年2月25日,Ruby迎来了21周年纪念日。Ruby官方博客于今日发布Ruby 2.1及Ruby 2.1.1版本。

Ruby 2.1.1版本改进了不少功能,包括系统加速、解决服务器不兼容问题。此外,新的改本还修复了许多Bug。更多详情参见: tickets、 ChangeLog。

现在你可以在Rails和其他的一些应用程序上使用该版本,以获得更加舒适的体验。 

6.跨平台的.NET运行环境 Mono 3.2.7发布

Mono是一个由Novell公司主持开发的项目。该项目旨在创建一系列符合ECMA 标准(Ecma-334 和Ecma-335)的.NET 工具,包括C#编译器和共通语言执行平台。Mono项目不仅可以运行于Windows 系统上,还可以运行于Linux,FreeBSD,Unix,Mac OS X 和Solaris。

历经5个多月的开发,Mono 3.2.7终于发布了。该改本带来许多新的特性。项目托管在GitHub,你还可以查看Hacker News上的精彩评论。

7.Github推出基于Web的桌面文本编辑器:Atom

北京时间2014年2月27日,全球知名的软件项目托管网站Github公开了一款全新的文本编辑器:Atom,目前正进行封闭式内侧,感兴趣的用户可以输入邮箱地址申请beta测试邀请。

Github已致力于该项目超过6年时间,Github称,Atom之前只是一个试验性项目,而后会迅速发展成实用工具。以后的Atom将会完全开源,Github鼓励开发者对它进行扩展。Github还将Atom称之为“面向21世纪的可控文本编辑器”。

为什么要发布Atom?

据Atom官方博客介绍,与Atom类似的编辑器Sublime和TextMate都深受开发者欢迎,但在扩展性上都有所限制,使用起来不是太灵活。而Emacs和Vim虽然很灵活,但在使用上却又不太平易近人,只能使用专用的脚步语言进行定制。

为了打造一款即平易近人、方便使用又具灵活性的文本编辑器,Github推出了Atom文本编辑器。并且强调Atom的社区支持与发展。

8.又一API聚集地 3scale成立API Codex

构建API并不是一件简单的事情,尽管网上有大量的API构建说明及最佳实践,但对于没有多少经验的程序员来说,如何区分质量,看到真正的最佳实践及指导并不是件容易的事情。

为了帮助大家搜集更好、更专业的API学习资源,3scale成立API Alchemy网站,目前改名为API Codex,帮助企业、开发者、设计师学习和分享更多关于如何创建和管理API内容。

API Codex官网

API Codex项目由Kirsten Hunter团队开发,目前刚刚推出Beta版,以后会陆续在网站上添加论坛、社区等元素。目前,该网站上已有大量的API最佳实践文章和解决方案供开发者查看,并且已有大量的开发者参与讨论。

其它精彩文章:

  • [测试] 你的HTML5知识够金质吗?
  • Tropo与华为达成合作 Tropo API首次可供中国电信客户使用
  • AMD携手BlueStacks,下半年推出零售版双操作系统


“启蒙・开源”为主题的2014开源技术大会(Open Source Technology Conference 2014)将于3月30日在北京召开,目前公开征集演讲议题,欢迎各路开源大侠积极参与。
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生