程序员人生 网站导航

研发周报:回顾2013、技术栈的选择、开源成趋势

栏目:互联网时间:2014-09-16 14:16:47

过去一周,我们从蛇年穿越到了马年,特此祝大家马上什么都有。在过去的一周,研发频道的文章集中回顾了2013年软件界的发展趋势,比如回顾2013软件开发:JavaScript领风骚、盘点2013:21款最优秀的开源数据库、2013年Linux领域重要事件回顾。

下面就让我们来细细品味这些精彩的文章:

1.回顾2013软件开发:JavaScript领风骚

2013年马上就要过去,回顾这一年各行各业发展风起云涌。下面,我们与大家一起回顾下2013年在软件开发领域表现出的几大行业趋势。 


JavaScript领风骚

在过去的2013年,JavaScript几乎成为软件开发领域最热门的讨论话题。JavaScript也像滚雪球一样,越滚越大。今年流行的JavaScript开发框架,如  Meteor、  Angular.js、  Famo.us等,可以帮助开发者更加方便快速地开发出想要的应用程序。JavaScript在当前移动开发大潮和服务器领域(Node.js)也表现突出。 

基于JavaScript的移动开发平台的使用数量和排名,远远领先于Java、Objective-C、C#、Ruby和 C/C++等语言。 

除此以外,还有以下三大趋势值得大家关注:

  1. Java和.Net式微
  2. PaaS迎来新春
  3. API获青睐

2.盘点2013:21款最优秀的开源数据库

作为一名软件开发人员或DBA,其中一份必不可少的工作就是与数据库打交道,比如MS SQL服务器、MySQL、Oracle、PostgreSQL、MongoDB等等。众所周知,其中MySQL是目前使用最广泛最好的免费开源数据库,此外,还有一些你不知道或者没用过但又非常出色的开源数据库,例如 PostgreSQL、 MongoDB、HBase、Cassandra、Couchbase、Neo4j、Riak、Redis、Firebird 等。

在本文,作者总共总结了21个最优秀的开源数据库,不妨让我们一起来看下吧。

  1. MySQL
  2. PostgreSQL
  3. MongoDB
  4. Hadoop (HBase)
  5. Apache Cassandra
  6. Couchbase
  7. Neo4j
  8. Riak
  9. Redis
  10. Firebird
  11. Memcached
  12. Oracle Berkeley DB
  13. Hypertable
  14. Keyspace
  15. 4store
  16. MariaDB
  17. Drizzle
  18. HyperSQL
  19. MonetDB
  20. Persevere
  21. eXist-db

关于这21款开源数据库的详细介绍,欢迎大家 查看原文。

3.2013年Linux领域重要事件回顾

在过去的一年里,Linux和开源软件都取得了不小的进步。在这个特殊日子里,我们把2013这一年业界发生的重要事情分成了“Linux发行版、重要周年庆祝活动、曾引起业界较大关注的事件”这三个方面来进行梳理。下面,我们一起了解下吧。

      

一、主要Linux发行版本

  1. Ubuntu 13.04 & 13.10发布
  2. Debian 7.0“Wheezy”发布
  3. CentOS 6.5发布
  4. Fedora 19&20发布

二、周年庆祝活动

  • FreeBSD 20周年
  • Slackware 20周年
  • Debian 20周年
  • Fedora 10周年
  • GNU 30周年

三、业界重要事件

  • Canonical发布Ubuntu Mir,社区加速开发WayLand 
  • Ubuntu Edge筹资失败,Ubuntu手机仍会推出
  • Linux Kernel 3.12版本
  • Valve加入Linux基金会,Steam OS发布
  • Sailfish OS智能手机上市

更多: 2013 Linux领域年终盘点 

4.技术栈的选择:从Groupon转向Node.js、淘宝去IOE谈起

在本文开始之前,先来看看一些案例。

  • 今年10月份,知名团购网站Groupon宣布完成了为期1年的工作――将Groupon美国站点从Ruby on Rails全面迁移到了Node.js。
  • 2010~2013期间,阿里巴巴逐步完成了“去IOE”运动,将“IBM小型机+Oracle数据库+  EMC2存储”架构逐步转向了“MySQL+PC Server”。
  • Twitter将其一些后端服务从Ruby on Rails迁移到了JVM上。
  • 京东商场后台抛弃.NET,使用Java重写。
  • Facebook iOS客户端使用HTML5重写,后又换回原生应用。
  • ……
一、这些公司为什么要如此“折腾”

  1. 速度、可维护性――Groupon从Rails转向Node.js
  2. 原有技术栈已无法满足如今的规模――Twitter部分服务从Rails迁移到了JVM
  3. 技术上更可控,规模上更易扩展――淘宝去IOE
  4. 快速开发需要――PayPal使用Node.js重写其支付系统
  5. 追随潮流,但这是有代价的――转向HTML5
  6. 成本考虑――选择开源软件
  7.  更换技术团队或CTO
  8. 被迫选择

二、大公司是如何做的

  1. 不断尝试新技术栈――Groupon
  2. 优化原有技术栈――Facebook
  3. 也有失败案例

三、如何选择技术栈

选择技术栈需要参考的因素有很多,一些基本因素如下:

  • 产品预期上市时间
  • 开发团队和生产力情况
  • 可维护性
  • 可扩展性
  • 使用环境
  • 社区和许可情况(开源项目)
技术栈是产品的根基,是产品功能和用户体验的保障。每种编程语言和技术都有存在的理由,且这些技术栈都经过了时间和大型项目的验证,但这并不代表别人能用你就也能用,还需要根据产品、团队、市场等因素选择最适合的技术栈。所以,在技术栈的选择上,可以说没有最好,只有最适合。希望本文列举的这些公司的案例能够为你带来一些参考。

5.Ejoy2D:“风魂”游戏引擎作者云风的又一力作

Ejoy2D是一款图形引擎、基于OpenGL ES的图形库。采用C和Lua开发,目前只支持Windows、Linux、Mac OS平台。Ejoy2D的一切高层API都是以Lua函数和对象形式提供的。二次开发人员完全可以用Lua来开发游戏。

Ejoy2D是  简悦(EJOY)游戏公司所开发的一款游戏图形引擎,该公司的CTO  云风(真名吴云洋)在  其博客和  微博上宣布了Ejoy 2D开源,遵循MIT开源许可,并将代码托管在  GitHub上。

 

微博截图

Ejoy2D的设计目标是可以轻松地嵌入到开发者的游戏引擎中,方便开发者定制自己所需的功能。

6.TIOBE 2014年1月编程语言排行榜:Transact-SQL力挫Objective-C 夺得桂冠

TIOBE 2014年1月份编程语言排行榜出炉,本月前三甲依然为:C、Java、Objective-C。 

回顾2013,Transact-SQL成了最大的赢家,在2013年有了几乎1%的增长率(+0.98%增长率),紧随其后的分别是Objective-C,增长率为0.81%、F#增长率为0.53%。Transact-SQL所获得的较大增长率似乎有点让人吃惊,因为它的主要应用领域微软数据库引擎SQLServer人气正在丧失。

正如大家近10年所观察到的,编程语言的流行度在很大程度上是受到外部趋势影响。目前,随着移动应用和Web开发的发展,Android(主要是Java)、iOS(Objective-C)已成为主流的移动平台,Windows Phone(C#)也正在迎头赶上。在Web开发领域,尽管HTML5热潮依旧,但并没有看到太多的变化,JavaScript仍然是这一领域最大的赢家(依然稳坐在第9名的位置)。而其替代者似乎越来越糟,CoffeeScript排在170、TypeScript为205、Dart为124。

下面一起来看下本月的前20名榜单:

 

前10名编程语言走势图: 

7.2013年度最强AngularJS资源合集

AngularJS是Google开源的一款JavaScript MVC框架,弥补了HTML在构建应用方面的不足,其通过使用指令(directives)结构来扩展HTML词汇,使开发者可以使用HTML来声明动态内容,从而使得Web开发和测试工作变得更加容易。

AngularJS诞生以来,吸引了大量的目光,也迅速成为了Web开发领域的新宠。本文整理了2013年度一些非常有价值的AngularJS相关教程和资源,如果你想了解AngularJS或正在使用AngularJS,那么这些资源肯定会为你的学习和进阶过程带来帮助。

一、了解AngularJS 

  • AngularJS维基百科
  • CSDN专访AngularJS框架创始人Misko Hevery
  • Angular.js VS. Ember.js:谁将成为Web开发的新宠?

二、中文资源

1.  中文系列资源

  • AngularJS系列教程文章 
------分隔线----------------------------
------分隔线----------------------------

最新技术推荐