学习骨干.js的最佳方法是什么?任何其他选择
What is the best way to learn backbone.js? Any other alternatives?
我才刚刚开始进入骨干.js。看起来它非常复杂,不会是你可以只看一个例子然后说,"嗯,这很容易!"并开始富有成效的事情。不过看起来确实不错。
文档还可以,但我发现自己不太了解"大局",以及所有这些组件如何协同工作。事件在各种视图中的绑定和呈现方式实际上看起来像是很多纠缠。我理解分离关注点的必要性,但我实际上想知道这是否只是有点过度设计。
本质上。。。我将无法立即提高骨干的工作效率,.js。我认为会有一两天的学习曲线。
进入骨干网的最佳方式是什么.js?只是继续前进,或者是否有一些更大的示例应用程序可以下载到某个地方查看?
是否有更好的替代方案可能更容易学习并提供相同的好处?对我来说,生产力和直观性非常重要。我有点觉得骨干.js的工作方式有点陌生。那可能就是我。
换句话说,在没有像 backbone 这样的库的情况下开发我的应用程序并有机地创建一个像 backbone 这样的框架会更好.js但更像是对我来说很直观的东西,并且与生成的代码库更内联?
我一直在尝试获得简单的示例来使用我自己的代码,并且我没有收到 Javascript 错误......但它不起作用。很有可能"一件小事"是错的......但我开始觉得调试我的主干应用程序可能是一个问题......因此,也许有机地种植我自己的可能实际上可能是我自己理智的更好选择。在黑暗中调试是真正的生产力杀手...老实说,我宁愿做自己的框架并编写自己的代码,如果它能节省我数小时的无休止的调试时间。
我不知道该怎么办 - 因此我为什么要问。
与学习很多与编程相关的东西一样,我的建议是:
- 选择一个你认为适合你正在处理的任务
- 尝试执行该任务
- 如果您发现自己卡住了,请展示您拥有的代码并解释您认为应该发生的事情。请务必检查文档以验证您的函数按预期工作。
- 随着你的进步,人们也会向你展示更标准、更有效的做事方式 。
- 继续这样做,直到你更熟悉事情的运作方式
- 现在,深入查看文档以帮助完全掌握其整体工作原理,继续提出问题
- 很快,你回答问题就会多于问问题
我遇到了Addy Osmani的一本很棒的书,开发骨干.js应用程序。Addy 已经清楚地解释了 MVC、编写模块化代码、使用 jasmine 测试 JS 代码等等。
编辑:
同一本书也有开源版本。
部分回答你的问题。我有同样的问题,也即将放弃。没有一个示例有效,我后来认为你应该把所有的骨干javascript放在文档的末尾,这样你的页面已经加载并且主干可以使用它。
下划线,然后主干
我认为最好的方法是,首先浏览一次下划线.js文档。你会感受到它是关于什么的,骨干.js文档没有解释下划线的东西。因此,您一定会对它是什么感到困惑。但是一旦你知道下划线是什么,那么骨干.js就会开始变得更有意义。
在向我的几个同事教授骨干之后,我也意识到了这一点。
学习骨干有3个部分.js - 这是我的主观意见:
1)你应该知道JavaScript(不仅仅是jquery的使用,而是,比如,什么是对象,函数如何工作,什么是上下文,它在javascript中是如何工作的——如果你不太了解javascript,你会有些迷茫。
2)有些事情你必须假设并背诵 - 这就是结构的工作方式,这就是基本应用程序的设置方式。一开始有些东西是没有意义的,只是背诵它们。
3)你必须了解的其他事情,实际发生了什么。
弄清楚哪个是 2 个,哪个是 3 需要时间,这是当从事框架工作的人教你时,你会很容易地拾取。这又是我的主观意见。
如果你想在很短的时间内以较小的学习曲线完成一些工作,请尝试 Knockout JS,你会立即学会它。
我总是发现自己通过截屏视频学习新事物要容易得多。可能是视觉识别,不确定。无论如何,我发现相关的Peepcode截屏视频对于理解Backbone.js的基础知识和意识形态非常有帮助。希望他们也能帮助你。
- 这是什么 ==- javascript 运算符
- 我的单元测试选项是什么
- 打破承诺链的好方法是什么
- 在AngularJS应用程序中使用封装指令和路由的推荐方式是什么
- Javascript中的空白是什么
- 是什么让一个“;Uncaught RangeError:超过了最大调用堆栈大小“;错误(Chrome,在其他浏览器中显示
- 在JavaScript中拆分日期字符串的更好方法是什么
- 将jQuery.ech()方法转换为本地JavaScript抽象的最佳方法是什么
- 将任何CDN配置为只传递一个文件,无论请求的url是什么
- 识别值是否与 jqGrid 数据中的任何键匹配的正确方法是什么?
- 如果我只想从数组中打印任何一个元素.任何数组.那么代码会是什么
- 在canjs中,根据任何模型实例的存在,有条件地显示胡子模板部分的最常用方法是什么
- ng路由不起作用.我不知道错误是什么,因为控制台中没有显示任何内容
- requestAnimationFrame的目的是什么?它对重绘时间没有任何影响
- 文本输入控件中任何文本更改的正确 javascript 事件是什么
- JavaScript 中匿名函数(或任何它)的目的/好处是什么?
- Javascript:选择任何元素的子元素的语法是什么
- 与原始版本相反,任何框架或任何人都需要使用String/Number/Boollean对象的原因是什么
- 空array.slice(0).push(任何东西)是什么意思?
- 学习骨干.js的最佳方法是什么?任何其他选择