分享

javascript – 用于rails后端的基于骨干的Web应用程序:单独的项目还是在rails之上?

 印度阿三17 2019-06-26

我目前有一个用rails3编写的web应用程序.我想写一个基于骨干的js应用程序,它将使用rails3服务;虽然有许多带有rails的骨干的例子,但我更愿意在不同的项目中构建它.这个项目将是纯粹的html css js,然后指向其他项目的服务.

>这种方法有哪些优点或障碍?
>还有其他方法吗?

我注意到github上的大多数rails3-backbone项目在幕后做了很多魔术(例如:预编译车把资产,自动包含js文件),这使得理解所有部分如何协同工作变得更加困难.另外,如果我想使用phonegap / trigger.io / etc打包应用程序,这会不会更难?

解决方法:

在编写Backbone应用程序时,单独开发它实际上很有意义.换句话说,正如你所说,开发它作为一个纯粹的html css js应用程序.

有很好的理由这样做:

>部署

在部署应用程序时考虑.在某些时候,您肯定希望部署应用程序的某些模块化组件.这可能是负责为您的客户提供json的后端服务,或者可能是对UI的调整.无论哪个,最好是你能够独立部署它们.
>模块化

能够在幕后使用一些魔术来帮助开发UI可能听起来很有吸引力.但是,请考虑项目的模块化.

IMO,Backbone(或任何AJAX应用程序)都很漂亮.美丽来自于UI代码实际上与后端的实现无关的事实.它可以与PHP / JAVA / RAILS / PYTHON / YOU-NAME-IT服务器通信,但它仍然无关紧要.也就是说,如果您正在实现RESTFUL服务器.实际上,UI代码可以放在NGINX服务器上,该服务器只提供静态内容,它仍可以完美运行.这实际上就是你想要的.您的UI代码在任何时候(在开发或生产期间)都不应该知道您的后端框架或您的后端支持的任何工具.将不必要的依赖项引入Backbone项目将是一种犯罪行为.

想象一下,有一天,当你认为适合迁移到不是Rails的不同架构时.如果存在任何依赖性,那将是一场噩梦.更确切地说,UI具有完全独立于后端实现的UI.
>包装

您提到您将使用PhoneGap打包您的应用程序.这可能是您的项目应该独立的最大原因.当您说,将您的应用程序提交给Apple时,如果您计划这样做,那么您将无法从服务器上加载js.必须将所有脚本打包到App中,该App必须是独立的.

最后但同样重要的是,回答有关“其他方法”建议的问题.这是非常模糊的,所以我不确定这个建议是否会有所帮助,但我想指出一些有助于组织Backbone项目的资源,让您的生活更轻松.

Backbone with RequireJS

我认为这是使用Backbone的最佳方式. RequireJS让你在js文件中指定你的依赖,就像你在编译语言中导入一样,这对于组织你的Backbone项目和将代码分解成更小的模块有很大帮助. requireJS提供的优化工具也允许您将所有javascript文件压缩到一个文件中.我相信如果您想在PhoneGap中打包您的项目,这将派上用场.

Underscore

你提到过使用HandleBar.但是,我建议您查看下划线的模板引擎,该引擎受RoR模板的启发.假设您使用Rails非常舒服,那么下划线模板引擎可能正是您所需要的.

来源:https://www./content-1-268651.html

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多