TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Do we really need javascript frameworks?

8 点作者 Proleps将近 12 年前
I started learning javascript and web development a while a go. I decided to learn javascript without any frameworks or libraries so I would properly learn the basics.<p>So far I haven&#x27;t really felt the need to use frameworks or libraries. I&#x27;ve been close to using JQuery but I&#x27;ve able to avoid it until now. But even if I end up using JQuery, it is just a library and not a framework.<p>What do frameworks like Backbone.js, and ember.js have to offer? These frameworks offer functionality at the cost of adding a lot of complexity.

6 条评论

cyphax将近 12 年前
I have asked myself that question over the last few years and I have come to the conclusion that I really want these frameworks. In the case of jQuery, for example: you can program everything in Javascript without using jQuery. On the other hand, jQuery is not just a lot of code, it&#x27;s tested code. It&#x27;s not much fun having to add browser&#x2F;engine-specific code to everything you do. Thankfully, the need for this specifically seems to be slowly fading away now that all browsers are to a certain extend on the same level.<p>In the case of such frameworks like Backbone&#x2F;ember&#x2F;Angular: these are implementations of MVC or MVVM or other such patterns, in Javascript. These make it easy to share data between web services you create, and, in the case of e.g. Knockout, bind data to controls on your page. You save yourself from having to write AND test all these things yourself. I have tried, for the first time, Backbone mere days ago, to see what the added benefit is. It gave me what&#x27;s required to send data (in JSON format) to, for example, my controller, but what&#x27;s nice about it is, for example, model binding.<p>It might not be entirely unlike PHP&#x27;s situation: you can program your projects in plain PHP, or you can use the Zend Framework or Symphony or whatever you prefer, which adds a lot of (tested) logic that you otherwise would have to program yourself.<p>Do you NEED it? Not using these won&#x27;t limit you, but you&#x27;ll probably find yourself programming these things out yourself in a lot of cases, where many smart people have done this already.
评论 #5951841 未加载
meerita将近 12 年前
Same question I did myself with HTML&#x2F;CSS. Do we need those frameworks to do a website?<p>The question came to me after I did my 3rd bootstrap like architecture for some projects I&#x27;ve been working for. You will end doing something like JQuery in the end, if you want to be organized and want to maintain all in a large team, you end up doing a framework so everyone does the same.<p>After doing it 4 times, I realized I can use Boostrap and do the same on 1&#x2F;4 of the requiered time and, avoid the testing phase for many, many things.
chc将近 12 年前
If you feel like Backbone adds a lot of complexity, your project is not yet big enough to need it. For projects that need Backbone, it actually removes complexity by helping to enforce structure. Organizational tools always seem pointless until you have a lot of stuff to organize.
CyberFonic将近 12 年前
No! You don&#x27;t need them. But ... you&#x27;ll save yourself lots of time by reusing tried and tested code instead of writing everything from scratch and having to debug all the edge cases and behaviours on different browsers.
workhere-io将近 12 年前
Whether or not you need a framework like AngularJS depends on your website. If it&#x27;s just a normal website there&#x27;s no reason to use a framework. But if it&#x27;s more like an app, say a calendar where you can add&#x2F;edit&#x2F;delete items without reloading the page, then AngularJS and similar frameworks come in handy.
hkarthik将近 12 年前
Aside from functionality and complexity, frameworks can offer consistency and reliability. The latter two are very important when trying to create large applications rapidly with larger teams.