Web framework: Difference between revisions

Content deleted Content added
Reverted 2 edits by Bizi guru (talk): Spam
Bizi guru (talk | contribs)
Tags: Reverted Visual edit
Line 54:
*[[CodeIgniter]]
*[[CppCMS]]
*[https://realflippa.com/top-10-web-development-frameworks-in-2023/ Django]
*[[Django (web framework)|Django]]
*[[Flask (web framework)|Flask]]
*[[Grails (framework)|Grails]]
Line 92:
 
===Database access, mapping and configuration===
Many [./Https://realflippa.com/top-10-web-development-frameworks-in-2023/ web frameworks] create a unified [[API]] to a database backend, enabling web applications to work with a variety of databases with no code changes, and allowing programmers to work with higher-level concepts. Additionally, some [[object-oriented programming|object-oriented]] frameworks contain mapping tools to provide [[object-relational mapping]], which maps [[object-oriented programming|objects]] to [[tuple]]s.<ref name="ActiveRecordBasics">{{cite web |url=https://guides.rubyonrails.org/active_record_basics.html |title=Active Record Basics |website=Ruby on Rails |access-date=March 20, 2021 |quote=Object Relational Mapping, commonly referred to as its abbreviation ORM, is a technique that connects the rich objects of an application to tables in a relational database management system...Active Record automatically creates methods to allow an application to read and manipulate data stored within its tables.}}</ref>
 
Some frameworks minimize web application configuration through the use of [[Introspection (computer science)|introspection]] and/or following well-known conventions. For example, many Java frameworks use [[Hibernate (Java)|Hibernate]] as a persistence layer, which can generate a database schema at runtime capable of persisting the necessary information. This allows the application designer to design business objects without needing to explicitly define a database schema. Frameworks such as [[Ruby on Rails]] can also work in reverse, that is, define properties of model objects at runtime based on a database schema.<ref name="ActiveRecordBasics" />
Line 102:
A framework's [[Uniform Resource Locator|URL]] mapping or routing facility is the mechanism by which the framework interprets URLs. Some frameworks, such as Drupal and Django, match the provided URL against pre-determined patterns using [[regular expression]]s, while some others use [[rewriting]] techniques to translate the provided URL into one that the underlying engine will recognize. Another technique is that of [[graph traversal]] such as used by [[Zope]], where a URL is decomposed in steps that traverse an object graph (of models and views).{{citation needed|date=January 2017}}
 
A URL mapping system that uses pattern matching or rewriting to route and handle requests allows for [[URL shortening|shorter]] more "[[friendly URL]]s" to be used, increasing the simplicity of the site and allowing for better indexing by search engines. For example, a URL that ends with "/page.cgi?cat=science&topic=physics" could be changed to simply "/page/science/physics". This makes the URL easier for people to remember, read and write, and provides search engines with better information about the structural layout of the site. A graph traversal approach also tends to result in the creation of friendly URLs. A shorter URL such as "/page/science" tends to exist by default as that is simply a shorter form of the longer traversal to "/page/science/physics".<ref>{{citationCite web needed|date=January2023-08-12 2017|title=Top 10 Web Development Frameworks in 2023 - Real Flippa |url=https://realflippa.com/top-10-web-development-frameworks-in-2023/ |access-date=2023-08-13 |language=en-US}}</ref>
 
===AJAX===
Line 110:
Due to the complexity of Ajax programming in JavaScript, there are numerous [[Ajax framework]]s that exclusively deal with Ajax support. Some Ajax frameworks are even embedded as a part of larger frameworks. For example, the [[jQuery]] [[JavaScript library]] is included in Ruby on Rails.{{citation needed|date=January 2017}}
 
With the increased interest in developing "[[Web 2.0]]" [[rich web application]]s, the complexity of programming directly in Ajax and JavaScript has become so apparent that compiler technology has stepped in, to allow developers to code in high-level languages such as Java, Python and Ruby. The first of these compilers was [[Morfik]] followed by [[Google Web Toolkit]], with ports to Python and Ruby in the form of [[Pyjs]] and RubyJS following some time after. These compilers and their associated widget set libraries make the development of rich media Ajax applications much more akin to that of developing desktop applications.<ref>{{citationCite web needed|date=January2023-08-12 2017|title=Top 10 Web Development Frameworks in 2023 - Real Flippa |url=https://realflippa.com/top-10-web-development-frameworks-in-2023/ |access-date=2023-08-13 |language=en-US}}</ref>
 
===Web services===