我与 CoffeeScript 的故事

栏目: CoffeeScript · 发布时间: 5年前

内容简介:大家好,我是寸志。很多人可能都会问我,就是我的真名叫什么。我的真名就是寸志,可能很多人会认为是花名什么的,其实不是。之前讲师讲的都比较专,那我就来说水的,我今天给大家讲一个“过气”的技术 CoffeeScript。

本文为陆金所前端架构师寸志在 CODING 技术小馆上海站的分享内容整理。

CODING 技术小馆,是由国内专业的一站式软件服务平台 CODING 主办的一系列技术沙龙。邀请数位业内知名大牛以为当地用户进行技术分享,为开发者们带来一场纯粹的技术沙龙。下一站将于 4.10 至北京举行,点击阅读原文查看活动信息及报名。

我与 CoffeeScript 的故事

大家好,我是寸志。很多人可能都会问我,就是我的真名叫什么。我的真名就是寸志,可能很多人会认为是花名什么的,其实不是。

之前讲师讲的都比较专,那我就来说水的,我今天给大家讲一个“过气”的技术 CoffeeScript。

我与 CoffeeScript 的故事

我之前在大众点评、Teambition 做过前端工程师,现在在陆金所担任前端架构师。我个人的一些技能点都是在前端方面的,例如 JavaScript 模块化,前端框架,前端线上线下体系等等。我平时主要活跃在微博、知乎和 Github 上,做过一些翻译或者写作。

我与 CoffeeScript 的故事

这个是我现在维护的一个公众号,「前端外刊评论」欢迎大家关注。

我现在进入正题, 开始讲故事

首先,这个故事的开端,也就是我第一次接触到这门语言,这个美丽的邂逅源自于大学时候的毕业设计,当时有一个很蛋疼的导师,说要我开发一门语言,匹配网页上的固定结构,从中提取信息。就比如说,一篇论文论文,有标题、作者、摘要和链接。

然后,就需要我设计一门语言去匹配去解析这个固定的结构,提取里面的信息。但是在这之前,很多的解决方案,都是基于 HTML 源码的,在浏览器端通过 JavaScript 的方式动态加载的内容就分析不到了。

我在大学期间,就接触了很多前端相关的知识,我就开始考虑用一种引擎先把 HTML 渲染出来。

那现在大家知道的,PhantomJS 或者是 jsdom,各种各样的技术都可以把网页渲染好,包括执行 JavaScript,这些 工具 在命令行里就可以用,没有像浏览器这样的界面。

我与 CoffeeScript 的故事

但,当时10年,似乎并没有这些东西,我就在网上找,当时有一个大神就建议我用 Zombie.js,它可以做到在内存中把页面渲染出来,然后我就发现它是用 CoffeeScript 来写的。所以当时我就接触到了这门语言。

我与 CoffeeScript 的故事

看到 CoffeeScript 的代码,就觉得特别开心,因为我在大学的时候就开始写 JS,感觉的就是 CoffeeScript 拯救了我,有时候 JS 也挺蛋疼的。

当时的背景和现在不太一样,2010年,Node.js 有一些人在用,ES2015 还没有前端框架也不是很多,AngularJS 也不是很火,大部分人用 jQuery,YUI 之类的东西。

那在这种前提下,我觉得 CoffeeScript 可以提升我开发效率。它提供了一些语法糖。

我可以举2个例子,一个是数组迭代。上面是 CoffeeScript,下面是 JavaScript。

我与 CoffeeScript 的故事

第二个就是,Class 语法糖。CoffeeScript 类编译成 JavaScript 之后,代码也非常清晰易,值得阅读学习。

我与 CoffeeScript 的故事

这是我局的两个例子。

然后我毕业了,11年就加入大众点评,网上有一个人和我联系了,那个人就叫 题叶

当时他还是学生,他做了聊天室。

就这样。

我与 CoffeeScript 的故事

我看到就觉得,这你妈是聊天室?

之后再讲这个人的故事。

11年的时候,我看了一些外文的资料,就开始翻译了一些书,并拿到豆瓣阅读上去卖。

我与 CoffeeScript 的故事

后来又一个编辑,问我有没有兴趣翻译另外一本书,我接下来,每天下班回家就拼命翻译。

当时是用 Word ,Markdown 还不流行,大概翻译了5、6个月,这本书后来也出版了。

然后到了12年,我还在点评工作,当时有一个人,他也是写 CoffeeScript,他叫化石。当时我建了一个 CoffeeScript 的QQ群,他也进来了,2012年的时候,中国出现了JS Conf,叫杭JS,我和他就到会上约见了。

我与 CoffeeScript 的故事

这是他写的一个网站,8hours.do,那种企业协助的应用,但是他后来做着做着做不下去了,就不做了。

当时我还很年轻,他一个人从前段到后端,感觉非常厉害。

是的,CoffeeScript 让我交到了很多朋友。

我与 CoffeeScript 的故事

下一个是比较关键的,2013年我到了 Tesmbition,原因是,他们公司的网站,第一是 SPA,第二是用 Backbone,第三是 CoffeeScript 写的。

然后,当时见到他们 CEO,我说要不我去你们公司吧,这里一段听不清楚,点评的一些业余项目用过 CoffeeScript,到 Teambition 的话每天都在写 CoffeeScript。上天了。

我与 CoffeeScript 的故事

再后来到了2014年,然后我和另外三个人,写了一本书,【Node.js 实战】,这本书我后来回忆了一下,写的就是这样的,如下图:

其实并不是搞 node 的人写的,里面的内容,大家可以看一下。

但是为什么会写这本书,因为一个大四没有毕业的学生,问我,要不你来写一章 CoffeeScript 相关的啊?我说好呀,但是后来书定位是实战,于是我们就自己想例子写了。

我写的是用 Node.js 和 AngularJS 开发多人在线聊天室。

从 Teambition 离开就没有再写过 CoffeeScript,后来ES6开始大行其道,CoffeeScript 感觉就没什么未来。

本身它也没有什么大的更新,就改改 BUG,现在基本处于没有用的状态。

我与 CoffeeScript 的故事

我一直觉得,为什么有了 CoffeeScript 又有 ES6 呢。

但是,Atom 编辑器是用 CoffeeScript 写的,它整个 JS 的部分都是用这个写的,ES6的创始人有一次 infoQ 的时候也说过,从CoffeeScript 中获得了很多灵感。

我与 CoffeeScript 的故事

确实,在 ES6 中的许多特性,在 CoffeeScript 中是已经有的,比如说 Class,绑定函数呀,都是有的,也没什么差别。

我与 CoffeeScript 的故事

我觉得大家可能感受到两点:(看下图)

我与 CoffeeScript 的故事

如果我就是看一眼,做完我的毕业设计,那我没有去深入研究这个项目,没有去翻译那么多书,我也不会得到那么多机会,认识那么多人。也不会进入 Teambition。在 Teambition 的日子里,不管是做项目管理,设计上我自己都有很大的提升,我就觉得很多时候大家都在觉得我什么都能干,但是没有什么机会,但是如果准备好了,机会总是会来找到你的。

还有就是把你自己手头上的事情都做到最好。不管什么情况,你给的结果尽量是最好的。我翻译那么书会检查2遍或者3遍,再让女朋友检查一遍。

我与 CoffeeScript 的故事

还有技术红利,比如说新的语言和技术,ES6、AngularJS React,或者是微信,它就是一种红利,一种语言,我是最先入场的,所以说当你是比较早的参与者的时候,是有一种红利在里面的。

如果你最先发现了,你进去了,这对于技术,对于你,对于其他人都是互惠互利的。所以大家敏感度可以提高点。

谢谢。

别忘了点击阅读原文报名 CODING 技术小馆:北京站的活动哦。

我与 CoffeeScript 的故事


以上所述就是小编给大家介绍的《我与 CoffeeScript 的故事》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

C语言接口与实现

C语言接口与实现

(美)David R. Hanson / 人民邮电出版社 / 2010-8 / 79.00元

可重用的软件模块是构建大规模可靠应用程序的基石,创建可重用的软件模块是每个程序员和项目经理必须掌握的技能。C语言对创建可重用的API提供的语言和功能支持非常少,虽然C程序员写应用时都会用到API和库,但却很少有人去创建和发布新的能广泛应用的API。本书介绍用一种基于接口的设计方法创建可重用的API,这一方法将接口与实现分离开来,且与语言无关。书中详细描述了24个接口及其实现,便于读者深入了解此方法......一起来看看 《C语言接口与实现》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

URL 编码/解码
URL 编码/解码

URL 编码/解码