首页 \ 问答 \ backbone.js适用于大型应用程序(backbone.js for large applications)

backbone.js适用于大型应用程序(backbone.js for large applications)

我正在阅读Backbone.js以深入研究这个漂亮,轻量级的框架,同时也决定这是否是我在绘图板上的一些未来项目中的方法。 在阅读Backbone时,我似乎总是遇到的一件事是它是一个主要创建并用于小型(或小型)大小的Web应用程序的框架,例如Backbone.js官方网站上的教程示例todos

我有兴趣了解其他人使用Backbone.js的经验及其可扩展性。 人们通常不鼓励将Backbone.js用于具有更复杂结构和更多功能的Web应用程序,而不仅仅是简单的“待办事项”应用程序等吗?

我已经阅读了一些关于SO的其他问题,这些问题为我提供了一些见解,但我仍然错过了关于此的“讨论”。

每一个输入都将受到高度赞赏。

干杯,
- 梅斯蒂卡


I’m currently reading up on Backbone.js to dig into this nice, light-weight framework, but also to decide whether this is the way to go for me in some future projects I have on the drawing board. One thing I always seem to run into when reading about Backbone is that it is a framework mainly created and used for small (or smaller) sized web applications, such as the tutorial example, todos, on the Backbone.js official website.

I’m interested in learning about others' experience with Backbone.js and its scalability. Would one normally discourage the usage of Backbone.js for web-applications with a more complex structure and a lot more functionality than just a simple “todos” application and the like?

I’ve read some of the other questions on SO which provided me with some insights, but I still miss the “discussion” about this.

Every input will be highly appreciated.

Cheers,
- Mestika


原文:https://stackoverflow.com/questions/15473674
更新时间:2020-03-22 23:55

最满意答案

我想你错过了关于todomvc项目的观点,该项目旨在演示各种JavaScript框架的使用(包括更多功能齐全的框架,如emberAngular ),并允许比较使用每种框架的方法。

todo项目被选为一个相当简单的例子,它仍然可以用来展示各种框架的许多核心功能。 如果示例应用程序更复杂,那么作为快速比较的手段将没那么有用。

Backbone虽然非常轻巧且不具备说服力,但它仍然可以用作更复杂的Web应用程序的基础,特别是如果您将它与支持库(如模块化JavaScript开发)和Marionette (Backbone的复合应用程序库)相结合。

如果您仍需要说服力,请查看此页面 ,其中列出了一些基于主干的野外应用程序。


I think you're missing the point about the todomvc project which aims to demonstrate the usage of various JavaScript frameworks (including more full-featured frameworks such as ember and Angular) and allow comparison of the approach you would take using each.

The todo project was chosen as a fairly simple example which can still be used to demonstrate many of the core features of the various frameworks. If the example application was more complicated it would be less useful as a means of quick comparison.

Backbone, despite being quite light and non-proscriptive, can still be used as the basis of more complicated web applications, especially if you combine it with supporting libraries such as requirejs (for modular JavaScript development) and Marionette (composite application library for Backbone).

If you still need convincing, have a look at this page which lists some of the applications in the wild which are based on backbone.

2013-03-18

相关文章

更多

最新问答

更多
  • 如何避免MDIParent表单调整大小(How do I avoid MDIParent form from resizing)
  • Angular自定义指令调用另一个自定义指令(Angular custom directive calling another custom directive)
  • 如何通过参数将文本解析并附加到SQL Server 2005中的存储过程(How to Parse and Append text to a stored procedure in SQL Server 2005 via a parameter)
  • OpenCV中心Homography(OpenCV Center Homography)
  • 如何在linux shell脚本中计算日期-N?(How to calculate date -N in linux shell scripting?)
  • 如何使用Devise创建用户配置文件?(How Do I Create a User Profile With Devise?)
  • 清理模式以管理树上的多步异步过程(Clean pattern to manage multi-step async processes on a tree)
  • 场景的角色(Role of the Scene)
  • 组件中的Angular 2组件[重复](Angular 2 Component In Component [duplicate])
  • jsPlumb draggable element javascript函数(jsPlumb draggable element javascript function)
  • MVC4:ViewModel(带有radiobuttonlist)在HttpPost之后为空(MVC4: ViewModel (with radiobuttonlist) is empty after HttpPost)
  • 如何在同一帐户上设置“Dev repo”(在prod和团队之间)(How to set up a “Dev repo” (between the prod and the team) on the same account)
  • 如何在tcl中将eth0配置为发送方udp端口(how to configure eth0 as a sender udp port in tcl)
  • 如何使用预定义文本替换来自数据库的部分结果(How do I replace part of result coming from Database with predefined text)
  • Selenium Java注入了新的Javascript函数(Selenium Java inject new Javascript function)
  • 使用.on的多个下拉菜单选择文本仅适用于第一个下拉列表(Multiple Dropdowns Menu Selection text using .on works only on first dropdown)
  • 快速将黄土曲线添加到大型数据集图中的方法(Quick way to add loess curve to large data set graph)
  • FilteringSelect in mvc(FilteringSelect in mvc)
  • 在Delphi XE2中开发Mac或iOS应用程序需要哪些硬件/软件?(What hardware/software is necessary to develop Mac or iOS apps in Delphi XE2?)
  • 在原型的构造函数中初始化属性时获取“未定义”(Getting 'undefined' when a property is initialized in the constructor of a prototype)
  • 通过越狱加载的应用程序的Documents文件夹位置(Location of Documents folder for an app loaded via jailbreak)
  • 在OpenGL中使用可编程和固定管道功能(Using both programmable and fixed pipeline functionality in OpenGL)
  • 将任何用户输入重定向到单独的底层程序(redirect any user input to a separate underlying program)
  • 编辑文本不能正常工作android(Edit texts not working properly android)
  • “user_denied”Facebook应用页面上的Facebook用户区域设置(Facebook user locale on “user_denied” facebook app page)
  • 在大图像中找到小的部分透明图像的坐标(find coordinates of small partially-transparent image within a large image)
  • 我如何在cakephp 3.1中获得完整的相对路径?(How i can get full relative path of image in cakephp 3.1?)
  • 如何保存拖动标记的新本地化?(How to save new localization of dragged marker?)
  • MySQL UPDATE vs INSERT和DELETE(MySQL UPDATE vs INSERT and DELETE)
  • 在执行查询之前,在SQLAlchemy模型中将datetime转换为unix时间戳?(Convert datetime to unix timestamp in SQLAlchemy model before executing query?)