天天看点

开源一小步,前端一大步

作为一名前端攻城狮,相信不少人已经养成了这样的习惯。当你进入一个网站,总会忍不住要打开控制台看下它是如何布局的,动画是如何实现的等。这也是前端开发者一个不错的的学习途径。

github大家应该也不陌生,作为开发人员的“社交网站”,上面聚集了众多了技术大牛,当然还有他们的作品。由于前端的特殊性,相对于其他领域,它的开源门槛、成本更低。

好吧,我是个标题党。下面简单介绍下前端开源的情况,以及casper在开源风潮下的小小尝试。

关注最多的50个项目里,有35++个前端项目。大家比较熟悉的开源项目有(仅列举一小部分):

jquery、prototype、yui

angular、knockout、backbone、ember

grunt、yeoman、bower

node、express

github中国地区前100名活跃的开发者,他们使用的语言情况如下(仅列举前几门)

javascrip: 80

ruby:52

python:46

c:34

c++: 30

java:28

废话,这么多好资源,jquery、grunt、yeoman、nodejs等。。。赶紧用上先。感谢开源感谢我党,前端开发的面貌顿时焕然一新。

总用别人的东西,用得多了,心理有些过意不去,总想着什么时候也能够回馈下社区。很巧合的情况下,在做前端脚手架的时候,有些功能现有的插件无法很好的满足,只能自己硬着头皮写。突然灵光一闪——这不就是回馈社区的机会嘛!

下面就简单描述下casper第一个正儿八经的开源插件<code>grunt-inline</code>诞生的过程。虽然功能很简单,但毕竟迈出了第一步。主要内容如下:

插件编写及发布

接收反馈,持续更新维护(重要)

下面的步骤可能看起来挺多,但其实都是很简单的操作

首先安装gurnt插件模板

然后,在github上面为grunt-inline创建一个项目,项目地址如下

在本地将创建的github项目拉取下来

命令行下进入grunt-inline目录,运行如下命令

依次回答如下命令,完成插件骨架创建

打开<code>package.json</code>,添加如下依赖

将插件新增的代码发布到github,输入用户名、明码等略过

发布插件到npm registry,同样略过用户名密码等

到这里,一个grunt插件就发布了~撒花~可以试下通过<code>npm install grunt-inline</code>安装~

插件开源是第一步,也只是很小的一步,一个开源项目是否具有生命力,除去项目本身能够带来的价值,项目作者发挥了极为关键的作用。在项目开源的早期,因为关注度、成熟度等原因,项目作者本人是代码的主要贡献者和维护者。除了添加新功能、修改bug之外,还要接收其他开发者提交过来的issue,以及pull request等。

举个例子,前几个周五casper去机场接妹纸,在去机场的地铁上,百无聊赖地翻看gmail里的邮件。突然发现有个有个叫robin的兄弟给我发了封邮件,正文如下:

robin:

内心小鸡冻,虽然不知道robin兄弟籍贯何处,但看着这洋文毕竟高端大气上档次,即使是给自己提bug。于是做了件颇有 注定孤独一生 意味的事情:立刻回了邮件,然后在机场改bug,测试后提交。

casper:

接着收到反馈

之后几次邮件来回,robin童鞋灰常热情地表示愿意在插件帮助文档的翻译上提供帮助。当然,文档的国际化一直在我的todo list里。。。

截至目前为止,grunt-inline插件的最新版本为<code>0.1.9</code>,期间共收到了三名开发者的反馈(包括阿泽),有提bug的,也有提功能需求的。npm上周的下载量为31(少的可怜~~可以考虑推广和国际化哈哈)。

grunt-inline只是个不值得一提的开源小插件,欢迎大家也加入到开源的大家庭 :)

继续阅读