The web template or web ( WAF ) framework is a software framework designed to support development Web apps include web services, web resources, and web APIs. The web template provides a standard way to build and deploy web applications. A web template aims to automate overheads associated with general activities carried out in web development. For example, many web frameworks provide libraries for database access, templating templating, and session management, and they often promote code reuse. Although they often target the development of dynamic websites, they also apply to static websites.
Video Web framework
Histori
Because the World Wide Web design is not dynamic, the initial hypertext consists of hand-coded HTML published on the web server. Any modifications to the published page need to be done by the author of the page. In 1993, the Common Gateway Interface (CGI) standard was introduced to interact with external applications with web servers, to provide dynamic web pages that reflect user input.
The original implementation of the CGI interface usually has a detrimental effect on the server load, as each request starts a separate process. More recent implementations use persistent processes among other techniques to reduce traces in server resources and offer general performance improvements.
In 1995, the first integrated server/language development environment first appeared and newly introduced web-specific languages, such as ColdFusion, PHP, and Active Server Pages.
Although most languages ââfor creating dynamic web pages have libraries to help with common tasks, web applications often require specific libraries for specific tasks, such as creating HTML (for example, JavaServer Faces).
In the late 1990s, a mature, "full stack" framework began to emerge, often collecting many libraries useful for web development into a single integrated software pile for use by web developers. Examples include ASP.NET, Java EE, WebObjects, web2py, OpenACS, Catalyst, Mojolicious, Ruby on Rails, Laravel, Grails, Django, Zend Framework, Yii, CakePHP, and Symfony.
Maps Web framework
Type of architecture framework
Most web frameworks are based on model-view-controller (MVC) patterns.
Model-view-controller ( MVC)
Many frameworks follow MVC architecture patterns to separate data models with business rules from the user interface. This is generally considered a good practice because it modulates the code, encourages code reuse, and allows multiple interfaces to be implemented. In web applications, this allows different views to be presented, such as web pages for humans, and a web service interface for remote applications.
Push-based vs pull-based
Most MVC frameworks follow a push-based architecture that is also called "action-based". This framework uses the actions that perform the necessary processing, and then "pushes" the data into the view layer to generate results. Django, Ruby on Rails, Symfony, Spring MVC, Stripes, Diamond, CodeIgniter are good examples of this architecture. The alternative to this is attraction-based architecture, sometimes also called "component-based". This framework begins with a display layer, which can then "pull" the results of multiple controllers as needed. In this architecture, many controllers can be involved with one view. Lift, Rug, JBoss Seam, JavaServer Faces, (Ã,Ãμ) Micro, and Wicket are examples of pull-based architecture. Play, Struts, RIFE, and ZK have support for push and pull based app control applications.
The three-tier organization
In a three-tier organization, applications are structured around three physical levels: clients, applications, and databases. The database is usually an RDBMS. This app contains business logic, runs on the server and communicates with clients using HTTP. The client in the web app is a web browser that runs the HTML generated by the application layer. This term should not be equated with MVC, where, unlike in a three-tier architecture, it is considered a good practice to keep the business logic from the controller, the "middle layer".
The template app
The framework is built to support the development of Internet applications based on a single programming language, from focusing on general purpose tools such as Zend Framework and Ruby on Rails, which add language capabilities to programmable packets of native languages ââbuilt around certain user applications, such as Content Management systems , some mobile development tools, and some portal tools.
Common framework framework
The web template should work in accordance with browser architecture rules and web protocols such as HTTP, which has no country. The web page is served by the server and can then be modified by the browser using JavaScript. One approach has its advantages and disadvantages.
Server-side page changes usually require pages to be refreshed, but allow any language to be used and more computing power to use. Client-side changes allow pages to be updated in small pieces that feel like desktop apps, but are limited to JavaScript and run in user browsers, which may have limited computing power. Some mixtures of both are usually used. Apps that use heavy JavaScript are called one-page apps and typically use a client-side JavaScript web template to organize the code.
Server-side
- ASP.NET Core
- Mojolicious
- Catalyst
- Ruby on Rails
- Laravel
- Django
- Zend Framework
Client side
Contohnya termasuk Backbone.js, AngularJS, EmberJS, ReactJS, dan Vue.js.
Forum diskusi, wiki dan weblog
- WikiBase/WikiWikiWeb
Fitur
Frameworks typically govern the flow of control of a program and allow users from the framework to "connect to" the stream by exposing events. This "reversal control" design pattern is considered the basic principle of the framework, and it benefits the code by enforcing a common flow for teams that everyone can customize in the same way. For example, some popular "microframework" like Ruby's Sinatra (which inspires Express.js) allows "middleware" hooks before and after HTTP requests. The function of this middleware can be anything, and allows users to define logging, authentication and session management, and redirects.
Web template system
Caching
Web caching is a web document caching to reduce bandwidth usage, server load, and perceived "lag". The web cache saves a copy of the document passing through it; subsequent requests can be met from the cache if certain conditions are met. Some application frameworks provide a mechanism for saving documents and bypassing various page preparation steps, such as database access or template interpretation.
Security
Some web frameworks come with authentication and authorization frameworks, which allow web servers to identify app users, and restrict access to functionality based on some specified criteria. Drupal is one example that provides role-based access to pages, and provides a web-based interface for creating users and assigning their roles. Database_access, _mapping_and_configuration> Access database, mapping, and configuration
Many web frameworks make integrated APIs into the database backend, allowing web applications to work with multiple databases without code changes, and allowing programmers to work with higher-level concepts. Additionally, some object-oriented frameworks contain mapping tools to provide relational object mapping, which maps objects to tuples.
Some frameworks minimize the configuration of web applications through the use of introspection and/or follow a well-known convention. For example, many Java frameworks use Hibernate as a persistence layer, which can generate database schema at runtime capable of retaining required information. This allows the application designer to design a business object without the need to explicitly define the database schema. A framework like Ruby on Rails can also work in reverse, that is, specify the object properties of a model at runtime based on a database schema.
Other feature web templates can provide including transactional support and database migration tools.
Scaffolding
URL mapping
URL mapping or framework routing facilities is the mechanism by which frameworks interpret URLs. Some frameworks, such as Drupal and Django, match the URLs provided with predefined patterns using regular expressions, while some others use rewrite techniques to translate supplied URLs into one that will be recognized by the underlying machine. Another technique is the graph traversal as used by Zope, where the URL is outlined in steps that crosses the object graph (model and display).
A URL mapping system that uses pattern matching or rewrites to route and handle requests allows for a shorter "friendly URL" to be used, improves site simplicity and allows better indexing by search engines. For example, URLs ending in "/page.cgi?cat=science&topic=physics" can be changed to just "/page/science/physics". This makes it easier for people to remember, read and write, and provide search engines with better information about the site's structural layout. The graph traversal approach also tends to generate friendly URL creation. Short URLs like "/page/science" tend to exist by default because that's just a shorter form of the longer path to "/page/science/physics".
Ajax
Ajax, an acronym for "Asynchronous JavaScript and XML ", is a web development technique for creating web applications. The goal is to make the web page feel more responsive by exchanging small amounts of data with the server behind the scenes, so the entire web page does not have to be reloaded every time the user requests a change. This is intended to increase the interactivity, speed, and usefulness of web pages.
Due to the complexity of Ajax programming in JavaScript, there are many Ajax frameworks that exclusively handle Ajax support. Some Ajax frameworks are even embedded as part of a larger framework. For example, the jQuery JavaScript library is included in Ruby on Rails.
With the growing interest in developing multimedia applications "Web 2.0", the complexity of direct programming in Ajax and JavaScript has become very clear that compiler technology has stepped in, to allow developers to encode in high level languages ââlike Java, Python and Rubi. The first of these compilers is Morphic followed by Google Web Toolkit, with ports to Python and Ruby in the form of Pyjs and RubyJS after some time later. Compilers and libraries of related widget sets make Ajax application development on rich media much more similar to desktop application development.
Web service
Some frameworks provide tools for creating and providing web services. This utility may offer the same tools as other web applications.
Web resources
A number of newer Web 2.0 RESTful frameworks now provide resource-oriented infrastructure (ROA) to build resource collections in a kind of Semantic Web ontology, based on the concept of the Resource Description Framework (RDF)...........
See also
References
Bibliography
Source of the article : Wikipedia