93

Because when those libraries were written, some major browsers did not support those features. Once written and used, these features cannot be removed from these libraries without breaking many applications. (In this case, "major browser" means a browser that still has large market share, which includes older versions of browsers like Internet Explorer, ...


44

To understand what a router does, you must first understand what a rewrite engine is. From the Wikipedia article (emphasis mine): A rewrite engine is software that modifies a web URL's appearance (URL rewriting). Rewritten URLs (sometimes known as short, fancy URLs, or search engine friendly - SEF) are used to provide shorter and more relevant-looking ...


35

Because different browsers have different implementations and features baked in their JavaScript engine. The same "vanilla-JS" code could run differently on two different browsers, or even two different versions of the same browser. The abstraction layer provided by popular JS libraries is a way around this. Behind the scenes, it works around the different ...


27

1. Backwards compatibility JavaScript is an implementation of ECMAScript. Most of those functions were introduced in ECMAScript 5 (ES5) however many older browsers which still have a significant enough share of the market do not support these functions (see ECMAScript 5 compatibility table), the most notable of these being IE8. Generally libraries will ...


24

JSF is most definitely capable of delivering high performance web applications. The app I'm currently working on is completely in JSF and from the log stats I can see that many non-DB intensive pages have minimum execution times of 0ms and average times of less than 10ms. Some of the Wicket guys have been saying things about JSF' performance, but according ...


23

Because within a month, the browser's built-in version of jQuery would be out-of-date, negating the whole reason for using a third party library in the first place. Within 6 months, developers would be wanting to use features in the latest release of jQuery that weren't in what was built-in to the browser, but they wouldn't without including the whole new ...


23

I recommend reading the official answer to your question, Appropriate Uses For SQLite. Specifically, the "Situations Where Another RDBMS May Work Better" warns that SQLite does not support concurrent writing: SQLite supports an unlimited number of simultaneous readers, but it will only allow one writer at any instant in time. For many situations, ...


19

I had this question for years too, even though I am on Python side. I do not have a single explanation for this phenomenon, but here are my thoughts on the subject: Web-frameworks must deal with XMLish markup language - HTML, part of the current web-triad HTML-CSS-JavaScript in a client-server way. It means three languages, which interact with each other, a ...


17

The Django docs never mentioned that a person who doesn't know what HTML/JS/CSS is about can use it. Separation of concerns is done also in the backend, where the actual action(the views) are separated from the database layer or the URL-routing logic - That allows for loose-coupling. It never means you can write views without ever understanding your models. ...


16

Should web sites be developed and designed from scratch fully? No. Should they be done by using framework like spring,zend, cakephp? Yes. Should they be done using CMS like joomla,wordpress,drupal? Yes. Here's the rule. Write Less Code. Get things done sooner. Create value as quickly as possible, writing as little code as possible.


14

Framework. Why worry about the plumbing when you don't have to? If you need to improve the performance after profiling and determining that certain parts of the framework are in fact the bottleneck, then improve the framework in question and contribute back to the community. People who have written those frameworks in question have much more expertise in ...


12

Officially: PHP is a widely-used general-purpose scripting language that is especially suited for Web development and can be embedded into HTML. According to http://us.php.net/ But that isn't necessarily a very apt description. PHP is a Turing complete computer language. However any distribution of PHP is going to come with a huge number of standard ...


11

Zend Framework is the obvious choice, it's the more well designed, mature and stable of the frameworks you list, and perfectly suitable for RESTful applications. That said and although I've build numerous apps with it and not just "Enterprise" applications, it's notoriously hard to get the hang of and it might just not be your cup of tea. There was a ...


10

or using existing frameworks like Drupal, Joomla, WordPress is the norm now? Certainly not for me; I think if you have reasonably complex business logic it is advantageous to develop from scratch. Well, when I say scratch I am using Spring.


9

Try: /blog /controller /view /user /controller /view /forum /controller /view /model User BlogPost Comment .... Your models are the heart of your application. You should design and code them as a standalone package. The controllers are just clients of your model, that happen to translate user activity into actions ...


9

This story has always had two sides to it; both server-side and client-side code have their pros and cons. Advantages of client side scripting include: Can be made more responsive, extensive changes are possible without server round-trips. Code runs on the client, reducing resource usage on the server. Separation between logic and presentation becomes ...


8

A Web Site is best served by a CMS. A Web Application is not well served by a CMS. Some sort of coding framework may be helpful though. The key is to ask yourself where on the scale from Site to Application you are. If most of your pages are about presenting information, lean towards a CMS. If they are about doing something, lean towards a framework.


8

Server side will always be around. You can't sit on client-side for everything. For example, you wont want to use a Backbone.js MVC design for your micro-controller sending you parameters in real time from a production floor overhead crane. Don't believe the hype.


7

All the theoretical in the world can say JSF is wonderful, but just take a look at what your pages look like. It produces massive piles of javascript and other crap that are going to severely handicap your ability to add in modules like jQuery or clean use of CSS. Not saying it can't be done, but at what cost. Personal experience with a relatively small ...


7

Keep in mind, while reading my answers, that my PHP experience (> 10 years) is much higher than my Ruby experience (a few weeks of playing with it; no live project yet). Would a PHP programmer want to learn Ruby? Personally, I came to Ruby while looking for a cleaner language for web development (especially when it comes to multibyte string awareness) ...


7

This is true: Rush to client-side in web development But it is not confined to client-side, it is a full stack movement. I know this may be surprising. Please, hear me out. Why is that so? How could the new and "diffuse" client-side developing in HTML5/JS possibly be superior to big and well thought server-side solutions? First of all, both are ...


7

I don't have sources - but the statement makes some sense, even if it might just be an attempt to stir controversy. PHP is definitely a language, and very much not a framework - but if you look at the PHP manual versus, say, the C or C++ specification, the body of functionality that PHP offers has elements that would be considered in the domain of a ...


6

I've made the switch in 2009 from a server-side PHP framework to a client-side ExtJS solution tied to server-side web services. Reasons for the migration for me were: Better security by reducing the amount of endpoints and code on the server. By moving to web services you validate input at the web service boundary and have more exact control over your ...


6

Another factor which is driving enthusiasm for client-side solutions is the growth of mobile apps. If you make a website heavily based on client-side JavaScript and AJAX, and also build native iOS and Android apps, there's a good chance that all three can use the same REST services to do all of their data to'ing and fro'ing.


6

For pretty much every major language, there are already web frameworks that provide user management and can handle image uploading. If you go with one of them, you immediately get all the benefits of the upstream community's work on security, performance, browser and web server interoperability, and more. If you roll your own, then you'll be figuring out ...


6

C++ have nothing related to networking in it's current standard but there are works in this way. I would recommand taking a look at: CPPCMS (which is not a cms but you can build one with) cpp-netlib which is a library which will be a proposal to the c++1y standard casablanca (which is not finished yet) which is Microsoft's proposal to C++1y - I don't know ...


6

"Goodbye JS"... Really? C# is a server-side language. The appearance of async in C# is not going to affect client-side languages and frameworks like Javascript at all (except that calls Javascript makes to the server will return faster). "Does this new era call for a new generation of web frameworks?" The beauty of async is that you can use it anywhere ...


6

Note: It seems that some editing of the original question title has happened since this answer was written and possibly changed its meaning somewhat. The original question title was less-clear but seemed to be asking about why multiple frameworks were needed for web development. How the web works In a nutshell, the web is built around the concept of web ...


5

If you want to put the shop on the web use a framework! A battle proven framework is the only way I would consider for a critical system like a shop. You have to tackle so many areas that are new to you, that you will eventually screw up. Security Scalability Handling payments Handling user data Invoices These things are hard and have serious consequences ...


5

My advice is to evaluate JVM web frameworks based on ~20 criteria that are important to you and your application. This includes technical categories (e.g. supports RESTFul, Ajax, i18n) and non-technical categories (e.g. Strength of community, number of books etc). Score each category (with weightings on categories that are more important to you) and pick the ...


Only top voted, non community-wiki answers of a minimum length are eligible