当前位置:  开发笔记 > 编程语言 > 正文

有没有人使用Coffeescript作为生产应用程序?

如何解决《有没有人使用Coffeescript作为生产应用程序?》经验,为你挑选了5个好方法。

Coffeescript看起来很酷.有人用过吗?它的优点和缺点是什么?



1> PandaWood..:

我们已经开始在我们的产品中使用CoffeeScript - 一个非公开的网站,它基本上是一个用于浏览某些类型数据的应用程序.我们使用CoffeeScript作为命令行编译器(不在服务器上,我们最终想做).

PROS(对我们来说):

它消除了javascript中的大量不必要的混乱(例如括号,分号,一些括号),以至于代码比javascript更清晰,更容易理解

比javascript少20-30%的代码行(做同样的事情)

CoffeeScript不仅可以消除噪音,还可以添加像heredocs这样的关键字,类和功能,使编码更清晰,更有趣

鉴于以前的观点,一旦你学会了绳索,在CoffeeScript中编码无疑会更快

缺点

使用命令行编译器时:要调试,在解决问题(javascript)时,您正在查看不同的代码,就像编写修复程序(coffeescript)时一样.然而,有点令人难以置信的是,我们的CoffeeScript非常棒,我们从来不需要调试它!

重要的是,我们可以随时回头.我们的coffeescript编译器只是生成可读的javascript,所以如果有人改变主意或无法解决问题,那么我们可以回过头来使用coffeescript生成的javascript - 并继续编码.


"我们的CoffeeScript太棒了,我们从来不需要调试它!" 呃......真的吗?您的数据总是符合您的期望?你从来没有意外的'this`,或者向函数发送了错误的类型?如果您不必"调试任何东西",我认为您没有做过任何有趣的事情.
@rpflo如果你会注意到"我们已经开始使用Coffeescript ......"并将其与违规声明相匹配,并将其置于给予它的轻松环境中 - 我想任何人都会同意,没有什么值得关注的.从我给出的文本来看,我们完全有可能将已经正在运行的javascript转换为coffeescript,因此还不需要进行严格的调试
关于Con',现在使用Source-Maps不再是一个问题,只需使用`-m`编译就可以了.

2> Jim Garvin..:

我们对BusyConf中的所有 javascript使用coffeescript.BusyConf的很大一部分是以浏览器运行的客户端应用程序,包括对离线模式的支持.

我们所有的coffeescript代码都经过全面测试.测试本身是用coffeescript编写的,并使用Qunit框架(用javascript编写).我们还编写了Qunit框架的扩展,使测试更好.Qunit扩展是用CoffeeScript编写的.我们的应用程序有一个用CoffeeScript编写的移动版本,它使用Sencha Touch框架(用javascript编写).

从中可以看出,您可以在应用程序中自由混合javascript依赖项,但您编写的所有代码(应用程序代码,测试等)都可以(而且应该!)是coffeescript.



3> Trevor Burnh..:

差不多一年之后,值得发布一些更新:

    Ruby on Rails 3.1正在整合官方的CoffeeScript支持,这意味着它将看到更多真实世界的使用.我上个月在RailsConf上发表了一篇演讲,其中大多数与会者之前没有听说过CoffeeScript,并且给予了dhh的强烈支持 - 他们都渴望进入它.

    有一本关于CoffeeScript的书,目前在电子书中,很快将出版The Pragmatic Bookshelf.它被称为CoffeeScript:加速JavaScript开发,它真的是你的.它基于CoffeeScript 1.1.1.

    实际上,语言在1.0和1.1.1之间的六个月内变化很小; 几乎所有的变化都被称为"错误修正".我不得不对书中的代码进行很少的调整,以便从1.0.1过渡到1.1.1.但是,我确信这种语言将来会有更多重大变化.

最确定的CoffeeScript项目列表位于CoffeeScript wiki的In the Wild页面中.

我要说到目前为止,CoffeeScript的大部分生产用途都是与Appcelerator一起创建iPhone/Android应用程序.(The Changelog的Wynn Netherland通过将CoffeeScript描述为"我的iOS,Android和WebOS移动开发的秘密武器"来模糊了我的书,但是在生产Rails应用程序中会有更多的用途 - 我希望,在其他地方 - 在接下来的几个月里.



4> Drew LeSueur..:

Coffeescript用于iPad的Ars Technica阅读器http://arstechnica.com/apple/news/2010/11/introducing-the-ars-technica-reader-for-ipad.ars



5> chrisrbailey..:

这些天我真的很喜欢Coffeescript.基本上整个HotelTonight iPhone应用程序都是用它编写的(使用Appcelerator Titanium,它允许你用JavaScript编写"原生"应用程序 - 它们不是web应用程序,比如Phonegap).在这种情况下,我选择使用Coffeescript,因为它使组织和维护大量的JS变得更加容易.我还发现使用Coffeescript(与JavaScript)编写代码会更加愉快.我们还在我们的Rails应用程序中使用Coffeescript作为JS,但这是与整个手机应用程序相关的极小/少量代码.

专业人员通常只需要做一个更好的语法,但它也标准化一个OO机制,然后添加一些不错的补充(列表推导,一些范围的事情等).

对我来说,缺点几乎为零.主要的是它是一个额外的调试层.您需要查看生成的JS(非常易读且很好),然后将其映射到您的Coffeescript代码.对我们来说,这根本不是问题,而是YMMV.

最后,我的看法是,在生产应用程序中使用它没有任何风险,因此,不要让它成为阻止程序.然后,去尝试一下.用它编写一些代码,将它与你在JS中编写的代码进行比较,查看生成的代码,看看你是否因为能够读取调试需求而感到舒服.此外,在#coffeescript IRC中闲逛,人们在那里很好.最后,看看它如何与你的应用程序集成,例如你的"构建"过程(例如对于Rails,尝试Barista,对于独立的东西,只使用包含的"coffee -w"等).

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有