• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 360
  • Last Modified:

Modern technologies such as backbone, requirejs


I have been reading up on the growing popuarity of javascrit based technoloogies such as backbone

Are these meant for large scale sites? And are these technologies worth learning, Will they be technologies which work instead of server side languages such as PHP or alongside?

Im just interested in learning how larger scale sites work and how best to get started learning these technologies

5 Solutions
Paul MacDonaldDirector, Information SystemsCommented:
JavaScript doesn't have anything to do with the size of the site.  JavaScript is a programming language that allows you to embed code in a web page that will run in the browser on the client machine.  This allows the web developer to make web pages that are interactive/responsive without having to send data back and forth to the web server itself.

It's useful to know JavaScript if you're a web developer, but there are lots of libraries and controls that leverage JavaScript in such a way that the developer needn't be an expert.  

Ultimately, it's a nice-to-have, but not mandatory.
coolispaulAuthor Commented:
but arent these technologies used to keep javascript more ornagised etc, so in essence would be used on large scale sites?
Paul MacDonaldDirector, Information SystemsCommented:
No.  There are libraries (like JQuery) that bundle common functions, making those functions easier to implement, but that has nothing at all to do with the size of the site.  If there's a correlation, it might be that larger sites tend to have professional web developers maintaining them, where smaller sites are usually home-grown affairs.
Easily Design & Build Your Next Website

Squarespace’s all-in-one platform gives you everything you need to express yourself creatively online, whether it is with a domain, website, or online store. Get started with your free trial today, and when ready, take 10% off your first purchase with offer code 'EXPERTS'.

Large scale websites need to address performance issues at multiple levels, including:
 - Network Issues and Distribution
 - Web Server
 - Server-side code
 - Datastore
 - Browser-facing code

JavaScript-powered solutions are gaining traction at all these levels.  

Backbone.js and Node.js are great at addressing network distribution issues, web server issues and server-side code issues.  CouchDB, TaffyDB and JSDB are good examples of databases that rely on JavaScript.

Requirejs provides a way to load JavaScript libraries either at the server slde or the browser-side.

Server-side languages like PHP could be replaced entirely by JavaScript alternatives however given the momentum that languages like PHP have, I do not see that ever happening.

You can find lots of cool JavaScript projects here:
Scott Fell, EE MVEDeveloper & EE ModeratorCommented:
@hankknight, that is a good source.  And to compliment, todomvc has created the same "todo" app using many of the newer js frameworks. http://todomvc.com/
From my recent experience I would say that the lines between client side code and server side code are "blurring" slightly in the sense that a lot of the actions that are taken on requests and responses can now be more easily done using the javascript libraries mentioned.

Code reuse and maintainability are probably the other main benefits of those libraries. Good code organization is always a good thing as well as not reinventing the wheel (underscore.js has a lot of nice functions to use).

One nice thing about backbone is that it easily plugs into any RESTful APIs that you've made or are trying to use (which I've noticed more and more companies doing since they are having to support mobile apps as well).

Personally I think the best way to learn about larger scale systems would be to focus on certain technologies that high traffic sites use, build something with them, and then learn how they interact with another technology. Not sure what languages/technologies you are trying to use but you may want to try picking up Python and the Django framework. They are super easy to learn, really quick to set up prototypes, and have a lot of libraries to easily integrate the technologies you'll be wanting pick up. Oh yeah and a great community.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now