【问题标题】:What is the difference between Cappuccino and Node.js?Cappuccino 和 Node.js 有什么区别?
【发布时间】:2014-03-21 13:26:26
【问题描述】:

我已经使用 node JS 大约两个星期了,我非常喜欢它。我遇到了一种叫做卡布奇诺的东西;这听起来像是我想用来开发 Web 应用程序的东西。作为初学者,有人可以帮助解释卡布奇诺到底是什么以及它如何适合节点吗?

我对开发应用程序的真正坚持是我来自 VB 背景,并且我习惯于使用表单来设计我的桌面应用程序。我不想受限于所见即所得类型的 IDE,这就是我从 node.js 开始的原因。

【问题讨论】:

  • node 与所见即所得的 IDE 有什么关系?
  • 只是我学习节点的理由。

标签: javascript node.js cappuccino


【解决方案1】:

什么样的网络应用程序?有...许多 JS 库/框架。这是一片丛林。

我的强烈建议是使用纯 Javascript 构建几个东西,从非常小到更小。否则,我保证,您将永远对语言与分层框架的关系一头雾水。 JS 是非常可变的,框架倾向于在核心语言之上创建新的语义。使用这些学习的缺点是你永远不会完全理解语言本身的复杂性和微妙之处,也不会真正理解那些框架给你的东西(在很多情况下,你不需要的东西或人为限制你的东西) .警惕框架纠缠。

当您习惯于在文本编辑器中编写简单的脚本时(如果您想要更好的东西,请尝试使用 Sublime Text),您将开始理解何时以及为何需要框架的帮助。继续讨论 jQuery,因为它是使用最广泛的库,并且要么是一个依赖项,要么是许多其他库的样式。

我正在写一篇关于框架主题的博客文章,但并不全面,因为看起来有数百个。具体来说,按预期领域(例如 DOM 操作、单页应用程序、数据绑定、MVC 等)以及优势和劣势划分大约 20-30 个主要参与者。

有一些很棒的书籍和 YouTube 视频介绍了现代 JS 的许多方面。我推荐 Douglas Crockford 的任何东西(尤其是书籍或视频“Javascript:The Good Parts”。他很迂腐但很聪明,而且通常都在赚钱。然后,如果想获得更多关于语言最近/即将发生的变化的鼓舞人心的东西,请观看来自 Google I 的一些东西/O 事件。查看 HTML5rocks.com 以获取有关浏览器中可用的一些尖端功能的文章。还有更多资源,但这些都是不错的资源。

哦,请确保您熟悉浏览器中的开发工具。我个人推荐 Chrome 作为最好的品种。学习在任何页面上打开它的键盘快捷键,检查和面条。这些工具支持一些花哨的东西,例如实时编辑/保存源代码、分析和调试、DOM/CSS 检查等等。还有其他免费和非免费的 IDE,但恕我直言,它们对于刚学习的人来说开销太大(许多高级 JS 开发人员使用 Sublime Text)。

P.S.:根据其设计目标,jQuery 仍然很强大,但随着浏览器越来越多地趋同于真正的标准(ES5、HTML5、CSS3),它的目标是过时。即便如此,对于许多应用程序来说,它的速记语义甚至比新支持的标准要好得多。它不会很快消失,只是变得不那么重要了。像 IE。除非您需要为工作构建东西,否则请忽略 IE。

【讨论】:

  • 我有一个收集汽车维修保养交易的数据库。有超过 500,000 笔交易,所以我想做的只是使用节点过滤数据并显示在列表框或某种小部件的网页上。没有写它是从 Oracle 数据库中严格读取的。用户将能够选择车库、机械师,并将参数传递给查询。我订阅了 safari 书籍,并且一直在阅读我能拿到的任何东西,并在车上听你管视频。我可以编写刚刚设计的数据库方面我被卡住了
  • 这取决于你想学习多少 JS 与让一个快速而肮脏的应用程序运行起来。 Node.js 应该可以很好地连接到数据库并返回搜索结果。如果您的网站不需要维护(什么时候发生),您可能永远不会更彻底地学习 JS,然后就这样了。如果你走学习路线,有很多方法可以连接到支持的数据库,包括从客户端直接连接到后端提供程序(通常对小型应用程序免费)。
  • Checkout Backbone 是在客户端建模数据的好方法。它成熟且相当容易理解,促进了模型和视图的良好分离。从那里,考虑 Parse.com,一个提供基于 Backbone 的客户端 API 的后端提供商。这为您提供免费的后端支持。
  • 谢谢,我非常想学习 js,因为我认为 node 是未来的方式,我实际上将在下周六参加我的第一次 js 聚会。我要玩弄角度和骨干。这些都和快递一样吗?
  • 太棒了!对于你的问题:没有。而且我建议您暂时不要使用 Angular。它会让你的头爆炸。数据绑定到文本字段的无处不在的演示使一切看起来都变得那么容易。问题是它使用了一些非常先进的 CS 方法(然后将其中的许多方法命名得很糟糕)最终使开发变得不那么痛苦,但学习曲线很陡峭。 YMMV
【解决方案2】:

就我所见,Cappuccino 是某种客户端框架,与 Backbone.js 或 Angular.js 具有相同的脉络,与 Node.js 没有任何可比性。它们在完全不同的环境中运行(服务器上的节点,浏览器中的卡布奇诺)。

像 Cappuccino 这样的客户端框架将用于实现需要在客户端完成大量工作的 Web 应用程序。例如,如果您使用 Node 实现了一个实时 Web 应用程序,您可能会使用它来简化将新内容插入 DOM 的过程。

我没有用过卡布奇诺,而且它似乎并不那么受欢迎。它似乎直接针对在 Mac OS X 上具有 Cocoa 开发背景的人,所以如果这不是你想要的,我建议你去别处看看。客户端 MVC 框架对于某些用例非常有用,四大似乎是 Angular.js、Ember.js、Backbone.js 和 Knockout.js,所以在考虑 Cappuccino 之前,我会先看看其中的一个。 Knockout 很容易学习,但缺少路由,这对我来说是个大问题,所以我改用 Backbone。考虑到它似乎有多少思想份额,我现在可能会选择 AngularJS。

【讨论】:

  • Matthew,谢谢,您能给我一些关于我可以使用什么工具来构建前端应用程序的指导吗?除了翡翠之外,还有什么东西可以让表单带有按钮、自动完成文本框等???再次感谢
  • 如果您在谈论小部件和类似的东西,那么有几个选项。 Twitter Bootstrap (getbootstrap.com) 可以快速轻松地为您提供按钮等功能。对于更复杂的小部件,请查看 jQuery UI (jqueryui.com)
  • 马修,它会像下面的链接一样,我只是不知道它在大图中的位置!!!这是我要和玉一起使用的东西吗?taitems.tumblr.com/post/482577430/…
  • 不,这些框架与 Express 完全不同。 Express 是服务器端的,而那些框架是客户端的。他们解决完全不同的问题
  • 您可以将 jQuery UI 与 Jade 和 Express 一起使用,但恕我直言,Jade 与常规 HTML 有点不同,因此对于新用户来说可能有点太多了。您最好使用更接近普通 HTML 的模板引擎,例如 Handlebars。
【解决方案3】:

Cappuccino 是构建在 Objective-J 之上的客户端框架,而 Objective-J 又是构建在 javascript 上的完整语言。它仅用于构建恰好在浏览器中运行的桌面类应用程序。

Objective-J 向 javascript 添加功能(如经典继承),就像 Objective-C 向 C 添加功能一样。您可以将 Objective-J 与 node 一起使用,但可能不是大多数 Cappuccino。 Cappuccino 是一个框架,可让您构建丰富的用户界面,让您完全忽略您正在使用 html。

我不会推荐 Cappuccino 作为第一次尝试 Web 开发,除非您真的只想构建一个业务应用程序并且您已经是一名熟练的 Mac OS X 或 iPhone 开发人员。教你网络知识一点用都没有。

卡布奇诺(恕我直言)在同类产品中遥遥领先,但它旨在(或最有用)用于一个非常小的利基市场。

如果你仍然对 Cappuccino(或 Objective-J)感兴趣,你真的应该 check out the learn section of the Cappuccino project website

【讨论】:

    猜你喜欢
    • 2013-12-02
    • 1970-01-01
    • 2011-12-29
    • 2013-03-05
    • 2017-01-17
    • 2013-01-04
    • 2017-11-24
    • 2013-05-31
    • 1970-01-01
    相关资源
    最近更新 更多