iOS 开发收入是 Android 的四倍

调查称由于Android的碎片化严重,iOS开发人员收入大幅领先于Android。

尽管Android的手机市场份额不断增加,但苹果iOS继续吸引着更多的开发人员。根据研究公司Flurry Analytics今天公布的最新数据显示,
2012年第一季度新的应用程序中,每10个有7个是iOS,3个是Android。iOS的程序是Android的2倍多,尽管Android拥有智能手机市场份额的50.8%,苹果为31.4%(根据comScore的数据)。

新的应用对比

苹果iOS开发的普及关键原因在于平板市场的主导地位。在2012年前5个月内,iPad占了销售市场的88%,而三星的Galaxy Tab只有9%,Kindle Fire只有3%。Flurry还发现iOS应用平均一个用户对于开发人员的收入是Android的4倍。

还有一个原因是Android市场的软件和硬件碎片化,使得谷歌开发平台成本更加昂贵。研究还指出,Android市场排名前20的17个设备,只占有6%的应用程序使用率。这意味着增加了对硬件的支持,只获得了少量的用户提升。

系统的不同版本也是一个阻碍。Gingerbread,越有70%的用户,Honeycomb和Ice Cream Sandwich约有11%。

这意味着运行Android系统需要好几次迭代。

新闻来源:CNet

为什么 C 语言屹立不倒?

有些语言诞生几十年了依然是世界上最流行的语言,比如C语言。有些语言虽然号称新兴的语言却很少有人使用。在编程语言这个领域里似乎不符合长江后浪推前浪这个规律。这恐怕不止语言本身的因素,里面的缘由值得研究者好好去探索一番。

语言之间是不平等的。图片来源:winnifredxoxo/Flickr语言之间是不平等的。图片来源:winnifredxoxo/Flickr

近年来,谷歌一直致力于开发出自己的编程语言以取代当今世上最常用的C、C++和JavaScript。在系统语言方向,谷歌的Go语言能够为用户在数据 中心内建立大型软件提供更多的便捷,有望取代C语言和C++的地位;而在网络开发方面,谷歌希望凭借Dart取代JavaScript。编程语言的世界里 可谓是江山代有人才出,可有那么一位引领风骚达数十年之久,它就是C语言。

编程语言之间的竞争一天也没能停歇,长江后浪推前浪,一代更比一代强。它们之中只有屈指可数的少数能够被市场接纳,成为程序员们日日夜夜的伴侣。究竟怎样 的编程语言才能够成为大浪淘沙中的幸运儿?普林斯顿大学(Princeton)和加州大学伯 克利分校(University of California at Berkeley)的研究者雷欧·马耶若维奇(Leo Meyerovich)和阿里·拉布金(Ari Rabkin)希望通过自己的研究,来解开编程语言世界的丛林法则。他们在探寻一个问题——为何C语言虽垂垂老矣却能屹而不倒?

雷欧和阿里采访了数以万计的程序员,又在全球最大的软件仓库SourceForge梳理了超过30万份的程序。“为什么C语言没有被淘汰?”拉布金提出了 这个问题。的确,C语言距问世之初已经有了35年的历史。在这期间里,计算机迈出了不可测量的发展步伐,软件和操作系统也早就今非昔比,编程语言中不乏叱 咤风云的新生代,而C语言也有了升级版。即便如此,C语言依旧风采不减当年。

拉布金刚刚取得了加州大学伯克利分校的计算机博士学位,如今在普林斯顿大学攻读博士后学位。“在学术领域,现今的趋势是解决那些尚未出现的难题,”拉布金 说,“学者们希望能够标新立异地建立起一个全新的语言系统,就没有考虑这么一套编程语言是否有实践的价值。编程语言的开发者们缺少一个明确的目标。”他指 出,有些编程语言甚至缺失了最基础的东西,比如缺省文件编制(Documentation);还有些开发者不停地在语言系统上画蛇添足,弄到最后搞的程序 员们只能因为它太“丰富”了不得不放弃。马耶若维奇认为:“我们发现这个问题事实上不是一个技术领域的问题,它是因为整个学术界不够注重实践需求所造成 的”。

新兴编程语言Scale是一个很好的例子。数据分析机构Slice-Data的创始人之一张洋(音译)是Scale众多使用者中的一员,他从2006年起 开始接触Scale。Scale在问世之初文件编制就存在很大的缺陷,这给用户的学习使用造成了很大的不便和痛苦。“我当时肯定是个受虐狂。”他回忆道。

除却新兴语言本身的问题,这里面还有一个要素是程序员的学习能力。试验中收集的信息表明,因为学习新语言太辛苦困难了,程序员们在使用一款新型的编程语言 前并不会认认真真地去学习一番。马耶若维奇拿Adobe公司开发的ActionScript作为例子。ActionScript是一款以用户为导向的编程 语言,程序员们普遍认为ActionScript的使用比较简单。可是当要用ActionScript做新的事时,比如从媒体开发转向游戏开发,因为没有 系统的学习过,他们就束手无策了。

我们普遍认为,程序员年龄越大,经验就越老道,掌握的语言就越多。事实又是怎样的呢?雷欧和阿里在试验中发现,多数程序员都掌握了3至4种程序语言,但当他们到了35-40岁时,很多人就会步入管理岗位。脱离了编程一线,学习新语言的动机和机会就大打折扣了。

马耶若维奇认为,他们正在研究的这个课题十分重要,关乎整个行业是否能够高速和健康地发展。他和拉布金把实验数据都发布在网络上,希望他人能够给出新的视角,同时为如何解决这一问题提供建议与帮助。

文/果壳网

14 个比较独特的 jQuery 插件

默认情况下,标准的HTML元素是非常恼人的,它很丑陋。经常有人问我如何创建一个漂亮的表单,而不是浏览器默认的外观,网上充斥大量此类的教程和介绍,但很容易让人迷失其中。但如果我们使用一些 JavaScript 的功能,利用强大的 jQuery 库可以很方面实现这个要求。

jQuery 最强大的是它有一个非常庞大的插件库,非常多的人开发出大量的插件并不断的维护它们。本文与大家分享一些很新的,可以帮助你为你的下一个Web项目的15个独特和有用的jQuery插件列表。

01. QapTcha : jQuery captcha system with jQuery & jQuery UI

QapTcha : jQuery captcha system with jQuery & jQuery UI

从上面的截图看你会不会觉得很库,类似 iPhone 手机的滑动解锁,不再需要输入非常难懂的被扭曲的各种验证码字符,该插件必须跟 jQuery UI 一起工作。

02. Accessible slider

Accessible slider

这是用来增强进度条功能的 jQuery 插件,在滑动块的基础上同时增加了数字的显示。

03. Fancy Letter Plugin | Part 2

Multiple Fancy Drop Caps

学习如何使用jQuery来创建一个下拉盖,将它应用到每一个DIV段。

04. Approach

jQuery Approach Plugins

jQuery Approach 类似 jQuery animate, 不同的是它是根据距离而不是时间来进行动画处理。

05. Colorful Sliders With jQuery & CSS3

Colorful Sliders With jQuery & CSS3

在这个教程中,我们使用 jQuery 和 CSS3 中的新的转换方法来创建滑块控制。

06. Textualizer – A jQuery plugin to transition through blurbs of text

Textualizer jQueyr plugins

Textualizer 是个轻量级的jQuery 插件,可以帮助你创建效果非常棒的文本显示,支持主流的浏览器。

07. QuickFlip 2

QuickFlip 2

QuickFlip 实现了卡片翻转的效果,第二个版本速度更快速而且平滑。

08. Scroll Path

jQuery Scroll Path

ScrollPath 可以让你按特定的路径对页面中的内容进行滚动显示,你如果不清楚具体意思可以通过下面的演示页面查看效果,通过向下键进行滚动。

09. jParallax

这是一个用于生成视差现象的jQuery插件。mParallax能够产生的效果与jParallax一样但采用Mootools框架开发。

10. Airport Text Effect

Airport Jquery Plugin

Airport 是一个 jQuery 的简单文本效果插件,模仿机场的文章翻转效果。

11. jRumble – jQuery Rumble Effect Plugin

jRumble,它能让网页上的任意元素抖动起来,在你的网站中使用这个效果会有很大的机率吸引用户的注意力。此插件的效果可以用在链接上,或者div 上,你可以设置抖动的范围、XY坐标、抖动幅度等。可设置为当鼠标移动上去抖动或者默认一直抖动,插件可定制性还是蛮高的。

12. Timeago

Timeago jQuery plugin

Timeago 是一个用来将实际的时间戳转成适合阅读的格式,例如2分钟前这样的内容。

13. Extremes jQuery Plugin

jQuery Extremes是一个极其简单、轻量级的jQuery插件,它使用CSS3的Rotate旋转属性,将元素旋转并排成一圈,效果挺炫的。

14. uCompare

uCompare 是一个用来比较两个图片的 jQuery 插件,实际的使用效果请看软件首页。

英文原文OSCHINA原创编译

为开发者准备的 5 个非常棒的云应用

Web开发是一个非常艰难、关键而且耗时的过程,开发者必须在投入很多时间和精力,Web开发的过程中还需要设计师的配合将在各自的网页或网站的发展时代。

这个过程肯定是费时,但并不意味着,Web开发人员可以使用尽可能多的时间。他们被限制在一个特定的时间内必须完成某项任务。显然,这不是他们必须克服的唯一一个里程碑。很多时候开发人员无法独自一人处理某个问题,因为有很多其他的工作在别人手里。

在这里我们要为 Web 开发人员介绍一些云应用,可以节省开发人员时间,提供工作效率,拜托时间限制。

1) CSS Desk

你可以使用它在线的进行 CSS 代码的测试和最终结果检验。

2) Code any Where

随时随地使用任何设备进行编码。

3) Evernote

Evernote 最近很火爆,保存您的所思所想,以及您所关注和喜爱的。Evernote 几乎可以在每一台电脑、每一部手机和移动设备上使用。

4) Draft Board App

Draftboard 是一个为设计师准备的协作工具。

5) Github

GitHub可以托管各种git库,并提供一个web界面,但与其它像 SourceForgeGoogle Code这 样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按 钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。

英文原文OSCHINA原创翻译

Visual Basic 6 何以长盛不衰?

新闻来源:MSDN Magazine

微软刚刚将其 Windows 系统对 Visual Basic 6 程序的完全兼容支持延长到了 Windows 8 的整个产品周期. Visual Basic 6 最早发售于 1998 年, 所以现在来看 VB6 程序将至少被支持 24 年. 相比之下 .NET Framework 1.1 (2002 年发行) 则仅仅被支持了 7 年, 到了 Windows 7 (2009) 便被微软抛弃了. 我的一个学生曾经开玩笑说过 Visual Basic 6 就像 Windows 环境中“杀不死的小强”. 实际上这个比喻不无道理 – 蟑螂生存的秘诀在于它的简单, 它们所做的所有事情就是在自己占据的角落里坚持活下去, 除此之外什么都没有. 同样, Visual Basic 6 也满足了开发者为它预设的市场的所有需求——允许经验不多的程序员快速开发简单的程序. Visual Basic 从未被当作一种提供给专业程序员开发复杂程序的语言.

Visual Basic 6 实现其价值的方式是将 Windows 的各种复杂之处简化, 因此简单的工作对于 VB 来说非常容易完成. 不过另一方面, 相对复杂的工作比如使用线程则基本是不可能的. 对我来说有一个经验规则很有用:VB 中, 用了十分钟实现不了的功能对我来说肯定是没法实现的. 此外 VB 成功的另一个关键之处是由于其提供的功能较少, 所以所需的学习时间和学习难度也较低. 举个例子说, 就是学习开巴士需要的时间显然比学习怎么开战斗机少, 而成为一个优秀的 Visual Basic 程序员需要的时间也显然比成为一个优秀的 C++ 程序员少; 而当时 Visual Basic 6 面对的主要同类对手就是 C++.

不过到了 Visual Basic .NET 时代微软显然没有意识到这些. 当 VB .NET 成为一个所谓“全功能语言”的时候, 微软的开发者为它加上了 C# 所拥有的所有高级和复杂的功能 —— 线程, 多态继承, 等等. 也因此 VB .NET 变成了一个和 C# 要求相同的技能, 相同的学习过程和给人完全相同体验的编程语言. 当然这并不完全是微软的判断失误: 微软员工其实做了他们认为 Visual Basic 开发者们要求他们做的事情, 满足了 VB6 用户的要求.

但对于 Visual Basic 来说, 用“沉默的大多数”来描述大部分开发者非常合适. 几乎所有的 Visual Basic 6 用户都对现在的产品非常满意——沿用我们前面所使用的比喻, 他们很愿意只做公交司机: 每天五点下班回家, 不用加班到半夜; 周末在家和家人在一起而不用回到办公室; 晚上和配偶在一起, 而不是坐在办公室里带着充满血丝的眼睛连夜编程, 早上吃着昨天剩下的冷饭. 他们并不在意 Visual Basic 6 既没有提供运算符重载也不提供完整的面向对象模型, 所以他们没有抱怨什么.

而微软听到的声音则来自 3% 愿意成为战斗机驾驶员的 Visual Basic 6 公交司机——他们在闲暇时间参加业内会议, 在网上论坛中提问, 给各种关于 VB 的文章写自己的回复. 而也是这些人不能满足只在幻想中发射导弹击毁刚刚别了他们巴士的轿车——他们真的去向微软要求新的巴士必须带着和战斗机一样的加力燃烧室, 两边挂着格斗导弹, 车尾带上干扰弹发射器, 驾驶座还要有平视显示器. 因为他们是 Visual Basic 开发者中喊话声音最大的一群, 所以微软照做了.

于是到最后, 将 Visual Basic .NET 交给熟悉了 Visual Basic 6 的大部分程序员就如同人施放魔法将一只宠物狗仅仅在生理上变成了丛林狼, 然后便对着它大喊“去林子里抓只羊回来!”适应了宠物狗生活的狼显然会这么想“哈? 您没事儿吧? 我哪儿也不去就在这儿带着等你给我开罐头.”于是 Visual Basic 6 程序员依然如故.

当然 Visual Basic 6 也并非完美无缺. 最好的例子可能就是 On Error Resume Next 了——在工作的时候某一步执行出问题了, 所以我们继续按原计划该干什么干什么然后看看结果什么样? 想想都知道这明显不合理. 然而我们仍然应该记住由技能较低 (所以便宜) 的开发人员对功能有限 (便宜) 的程序进行快速 (便宜) 开发能解决很大一部分实际生产中遇到的问题, 而 Visual Basic 6 是这种情景中一种优秀的工具.

Visual Basic 6 解决的问题并不会凭空消失, 所以到微软提供一种可以替代 VB6 的工具前, Windows 系统中的小强还是会继续顽强的生存下去. 我愿意赌五块钱, 就算到了 Windows 9 还是 Windows 10, 微软也还是必须提供 Visual Basic 兼容.

原文: The Silent Majority: Why Visual Basic 6 Still Thrives