黄精有什么功效和作用| 什么原因引起尿路感染| 脚后跟干裂是什么原因| 家宴是什么意思| 人生格言是什么| 吃什么水果减肥最快减肚子| 乙肝五项245阳性是什么意思| 努嘴是什么意思| 肝火郁结是什么症状| hb是什么意思| 背德感是什么意思| 罗马布是什么面料| 西游记是什么生肖| 宝宝蛋白质过敏喝什么奶粉| 清明是什么意思| 抿嘴是什么意思| 吃什么可以提高记忆力| 老司机是什么意思| 女性尿频是什么原因| 女内分泌检查什么项目| 请问今晚买什么生肖| 高锰酸钾治疗男性什么病| 95什么意思| 怕冷畏寒是什么原因| 小孩体质差吃什么能增强抵抗力| 男性囊肿是什么原因引起的| 美国人的祖先是什么人| 单独玉米粉能做什么| 肺炎吃什么水果| 胰岛素高有什么危害| 吃什么补气虚最快最好| 什么是横纹肌溶解症| 胸口中间疼是什么原因| 肝痛在什么位置| 圆脸适合什么短发发型| 医师是什么意思| 0是什么数| 徒手是什么意思| 晓五行属性是什么| 猫咪呕吐吃什么药| 郑板桥擅长画什么| 慢性支气管炎吃什么药| 头大脸大适合什么发型| 开背是什么意思| nb什么意思| 东方美人茶属于什么茶| 中午1点是什么时辰| tvb什么意思| 长脸型适合什么样的发型| 频繁放屁是什么原因| smile是什么牌子| 筝是什么意思| 幽门螺杆菌吃什么药| 突然流鼻血是什么原因| ipi是什么意思| 总监是什么级别| 孟姜女姓什么| 口有什么字| 全身淋巴结肿大是什么原因| 滑板什么意思| 腈纶是什么面料优缺点| 湿疹是因为什么原因引起的| 广东省省长是什么级别| 陈皮和什么泡水喝最好| 新疆有什么水果| 碧根果和核桃有什么区别| 在岸人民币和离岸人民币什么意思| 发明什么| 脐疝是什么| 三本是什么学历| 彗星是什么| 中国四大国粹是什么| 旗袍穿什么鞋子好看图| 孕妇为什么要躲着白事| 下午4点是什么时辰| 米豆腐是什么做的| 女生胸部什么时候停止发育| 般若波罗蜜是什么意思| 6月18是什么星座| 喝冰美式有什么好处| 吃什么都苦是什么原因| 唉什么意思| 下午3点到5点是什么时辰| 鱼非念什么| 咳嗽属于什么科室| 海参是补什么的| facebook什么意思| 吃什么可以提升白细胞| 方脸适合什么耳环| 为什么说白痰要人命| 各位同仁用在什么场合| 什么原因会导致月经推迟| 胸膈痞闷是什么症状| 受凉吃什么药| ims是什么意思| 抽电子烟有什么危害| 366是什么意思| 冬至节气的含义是什么| 八段锦什么时间练最好| 后背容易出汗是什么原因| 下眼睑跳动是什么原因| 艾滋病初期有什么症状| 吃什么缓解痛经| 等离子是什么| 牙齿吃甜的就会疼什么原因| pt是什么材质| 为什么会长智齿| 南通有什么大学| 相对密度是什么意思| 说话声音小是什么原因| 脚膜炎用什么药最好| 支气管哮喘是什么原因引起的| 长期便秘喝什么茶好| 腿抽筋挂什么科室| 乳房硬块疼是什么原因| 蒲公英什么时候采最好| 辛味是什么味| 甘肃天水有什么好玩的地方| 桑寄生是什么| 天牛吃什么| 什么叫靶向治疗| 蟑螂长什么样子| 特首是什么意思| 掰手指头响有什么危害| 后背出汗多是什么原因| 周星驰什么星座| 美缝剂什么牌子的好| 动物园里有什么游戏| 低分化腺癌是什么意思| 翡翠和玉有什么不同| 胃寒是什么原因引起的| onlycook是什么牌子| 飞蚊症是什么原因| 检查艾滋病挂什么科| 耳后有痣代表什么| 思伤脾是什么意思| 荤段子是什么意思| 毛豆炒什么好吃| 什么是黄体期| 屁多还臭是什么原因| 办护照照片有什么要求| 老鼠长什么样子图片| 梦见青蛇是什么预兆| 小ck属于什么档次| 什么叫腰肌劳损| 胆结石能吃什么水果| 鸡奸是什么意思| 两岁宝宝不会说话但什么都知道| 鹿参膏有什么作用和功效| 皮癣是什么原因引起的| 骨髓捐赠对自己有什么影响没有| 手淫是什么意思| 争强好胜什么意思| 蝴蝶是什么变的| 突然胃疼是什么原因| 汽车空调不制冷是什么原因| 并驾齐驱什么意思| 一个三点水一个及念什么| 什么是大小周| 上热下寒吃什么食物好| 破绽是什么意思| 山什么水什么| 奶嚼口是什么| 双肾尿酸盐结晶是什么意思| 觉得什么| 六畜兴旺是什么意思| 什么叫桥本甲状腺炎| 屎壳郎长什么样| 也许是什么意思| bc是什么意思| 虫字旁与什么有关| cl是什么牌子| 查心梗应该做什么检查| 四月初十是什么星座| 电风扇不转是什么原因| 黑京念什么| 木乐读什么| 子宫囊肿是什么病| 普贤菩萨的坐骑是什么| 什么是无机盐| 喝蒲公英茶有什么作用| 手腕疼痛是什么原因| 什么东西驱蛇效果最好| torch什么意思| 粟是什么农作物| 检查宫颈做什么检查| 螃蟹不能和什么水果一起吃| 喉咙痛看什么科| 巧克力是什么做的| 锐字五行属什么| 蓝精灵是什么药| 肝内高回声什么意思| 女中指戴戒指什么意思| 洗发水什么牌子好| 虫咬性皮炎用什么药| pio是什么意思| 开救护车需要什么条件| 蚊虫叮咬红肿用什么药快速消肿| mm是什么意思单位| 土命适合什么颜色| 伤口不结痂是什么原因| 一什么绳子| 干火重吃什么药管用| 第六感是什么意思| 马冬梅是什么电影| 怀孕孕酮低吃什么补得快| 气垫是什么| 急性胃肠炎用什么药| 缺钾吃什么药| 大拇指有黑色竖纹是什么原因| 梦见自己升职了是什么预兆| 健康证检查什么| 早上起来嘴巴发苦是什么原因| 全价猫粮是什么意思| 发烧拉肚子吃什么药| 上火了吃什么水果降火最快| 金牛座什么性格| 妃是什么意思| 8月6日什么星座| 为什么月经迟迟不来又没怀孕| dears是什么意思| 什么叫人工智能| 5月16是什么星座| 替拉依是什么药| ibs是什么意思| 吃什么药可以提高性功能| 腮腺炎吃什么食物| 回奶吃什么快最有效的| 血细胞分析能查出什么| 胰腺饱满是什么意思| 维生素d缺乏吃什么药| 色氨酸是什么| 山楂有什么作用| 履历是什么意思| 小肚鸡肠是什么意思| 天秤座女和什么星座最配| 尿臭是什么病| 农历10月14日是什么星座| ebay是什么| 吹泡泡是什么意思| 乌鸡汤放什么补气补血| 来之不易是什么意思| 腰椎mri是什么检查| mpa是什么意思| 安分守己什么意思| 怀孕第一个月有什么反应| 阴虚是什么| 腱鞘囊肿看什么科| ami是什么牌子| hot什么意思| 血晕症是什么病| 网络绿茶是什么意思| 阴道口发白是什么原因| 乙木的根是什么| 开水烫伤用什么药| 喝酒后手麻是什么原因| 什么的双手| 心脏支架不能吃什么| 准生证是什么样子图片| 吃什么补蛋白质最快| 6月是什么月| 开宠物医院需要什么条件| 女性后背疼挂什么科室| 牛跟什么生肖相冲| 百度Jump to content

[投诉]公交站移动问题(图)

From Wikipedia, the free encyclopedia
百度 老兵叮嘱留队战友要牢记神圣职责,发扬部队光荣传统,继续为祖国和人民作贡献,领导叮嘱退伍老兵要发扬退伍不退色的军人本色,在今后的人生征途中取得更大更好的成绩。

A web framework (WF) or web application framework (WAF) is a software framework that is designed to support the development of web applications including web services, web resources, and web APIs. Web frameworks provide a standard way to build and deploy web applications on the World Wide Web. Web frameworks aim to automate the overhead associated with common activities performed in web development. For example, many web frameworks provide libraries for database access, templating frameworks, and session management, and they often promote code reuse.[1] Although they often target development of dynamic web sites, they are also applicable to static websites.[2]

History

[edit]

As the design of the World Wide Web was not inherently dynamic, early hypertext consisted of hand-coded HTML text files that were published on web servers. Any modifications to published pages needed to be performed by the pages' author. In 1993, the Common Gateway Interface (CGI) standard was introduced for interfacing external applications with web servers, to provide a dynamic web page that reflected user inputs.[3]

Original implementations of the CGI interface typically had adverse effects on the server load however, because each request started a separate process.[4] More recent implementations utilize persistent processes amongst other techniques to reduce the footprint in the server's resources and offer a general performance boost.[citation needed]

In 1995, fully integrated server/language development environments first emerged and new web-specific languages were introduced, such as ColdFusion, PHP, and Active Server Pages.[citation needed]

Although the vast majority of languages for creating dynamic web pages have libraries to help with common tasks, web applications often require specific libraries for particular tasks, such as creating HTML (for example, Jakarta Faces).[citation needed]

In the late 1990s, mature, "full stack" frameworks began to appear, that often gathered multiple libraries useful for web development into a single cohesive software stack for web developers to use.[citation needed]

Types of framework architectures

[edit]

Most web frameworks are based on the model–view–controller (MVC) pattern.[citation needed]

Model–view–controller (MVC)

[edit]

Many frameworks follow the MVC architectural pattern to separate the data model into business rules (the "controller") and the user interface (the "view"). This is generally considered a good practice as it modularizes code, promotes code reuse, and allows multiple interfaces to be applied. In web applications, this permits different views to be presented, for example serving different web pages for mobile vs. desktop browsers, or providing machine-readable web service interfaces.

Push-based vs. pull-based

[edit]

Most MVC frameworks follow a push-based architecture also called "action-based". These frameworks use actions that do the required processing, and then "push" the data to the view layer to render the results.[5] An alternative to this is pull-based architecture, sometimes also called "component-based". These frameworks start with the view layer, which can then "pull" results from multiple controllers as needed. In this architecture, multiple controllers can be involved with a single view.

Three-tier organization

[edit]

In three-tier organization, applications are structured around three physical tiers: client, application, and database.[6][7][8][9] The database is normally an RDBMS. The application contains the business logic, running on a server and communicates with the client using HTTP.[10] The client on web applications is a web browser that runs HTML generated by the application layer.[11][12] The term should not be confused with MVC, where, unlike in three-tier architecture, it is considered a good practice to keep business logic away from the controller, the "middle layer".[13][14]

Framework applications

[edit]

Frameworks are built to support the construction of internet applications based on a single programming language, ranging in focus from general purpose tools such as Zend Framework and Ruby on Rails, which augment the capabilities of a specific language, to native-language programmable packages built around a specific user application, such as content management systems (CMS), some mobile development tools and some portal tools.[15]

General-purpose website frameworks

[edit]

Web frameworks must function according to the architectural rules of browsers and protocols such as HTTP, which is stateless. Webpages are served up by a server and can then be modified by the browser using JavaScript. Either approach has its advantages and disadvantages.[citation needed]

Server-side page changes typically require that the page be refreshed, but allow any language to be used and more computing power to be utilized. Client-side changes allow the page to be updated in small chunks which feels like a desktop application, but are limited to JavaScript and run in the user's browser, which may have limited computing power. Some mix of the two is typically used.[16] Applications which make heavy use of JavaScript and only refresh parts of the page, are called single-page applications and typically make use of a client-side JavaScript web framework to organize the code.[citation needed]

Server-side

[edit]

Client-side

[edit]

Examples include Backbone.js, AngularJS, Angular, Ember.js, ReactJS, jQuery UI, Svelte, and Vue.js.[17]

Capabilities and Trade-offs in Modern Frameworks

[edit]

JavaScript-based web application frameworks, such as React and Vue, provide extensive capabilities but come with associated trade-offs. These frameworks often extend or enhance features available through native web technologies, such as routing, component-based development, and state management. While native web standards, including Web Components, modern JavaScript APIs like Fetch and ES Modules, and browser capabilities like Shadow DOM, have advanced significantly, frameworks remain widely used for their ability to enhance developer productivity, offer structured patterns for large-scale applications, simplify handling edge cases, and provide tools for performance optimization. [18][19][20]

Frameworks can introduce abstraction layers that may contribute to performance overhead, larger bundle sizes, and increased complexity. Modern frameworks, such as React 18 and Vue 3, address these challenges with features like concurrent rendering, tree-shaking, and selective hydration. While these advancements improve rendering efficiency and resource management, their benefits depend on the specific application and implementation context. Lightweight frameworks, such as Svelte and Preact, take different architectural approaches, with Svelte eliminating the virtual DOM entirely in favor of compiling components to efficient JavaScript code, and Preact offering a minimal, compatible alternative to React. Framework choice depends on an application’s requirements, including the team’s expertise, performance goals, and development priorities. [18][19][20]

A newer category of web frameworks, including enhance.dev, Astro, and Fresh, leverages native web standards while minimizing abstractions and development tooling. [21][22][23] These solutions emphasize progressive enhancement, server-side rendering, and optimizing performance. Astro renders static HTML by default while hydrating only interactive parts. Fresh focuses on server-side rendering with zero runtime overhead. Enhance.dev prioritizes progressive enhancement patterns using Web Components. While these tools reduce reliance on client-side JavaScript by shifting logic to build-time or server-side execution, they still use JavaScript where necessary for interactivity. This approach makes them particularly suitable for performance-critical and content-focused applications. [18][19][20]

Features

[edit]

Frameworks typically set the control flow of a program and allow the user of the framework to "hook into" that flow by exposing various events.[24] This "inversion of control" design pattern is considered to be a defining principle of a framework, and benefits the code by enforcing a common flow for a team which everyone can customize in similar ways.[24] For example, some popular "microframeworks" such as Ruby's Sinatra (which inspired Express.js) allow for "middleware" hooks prior to and after HTTP requests. These middleware functions can be anything, and allow the user to define logging, authentication and session management, and redirecting.[25]

Web template system

[edit]

Caching

[edit]

Web caching is the caching of web documents in order to reduce bandwidth usage, server load, and perceived "lag". A web cache stores copies of documents passing through it; subsequent requests may be satisfied from the cache if certain conditions are met. Some application frameworks provide mechanisms for caching documents and bypassing various stages of the page's preparation, such as database access or template interpretation.[citation needed]

Security

[edit]

Some web frameworks come with authentication and authorization frameworks, that enable the web server to identify the users of the application, and restrict access to functions based on some defined criteria. Drupal is one example that provides role-based access to pages, and provides a web-based interface for creating users and assigning them roles.[citation needed]

Database access, mapping and configuration

[edit]

Many 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 frameworks contain mapping tools to provide object-relational mapping, which maps objects to tuples.[26]

Some frameworks minimize web application configuration through the use of introspection and/or following well-known conventions. For example, many Java frameworks use 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.[26]

Other features web frameworks may provide include transactional support[27] and database migration tools.[26]

URL mapping

[edit]

A framework's 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 expressions, 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]

A URL mapping system that uses pattern matching or rewriting to route and handle requests allows for shorter more "friendly URLs" 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".[citation needed]

AJAX

[edit]

Ajax, shorthand for "Asynchronous JavaScript and XML", is a web development technique for creating web applications. The intent is to make web pages feel more responsive by exchanging small amounts of data with the server behind the scenes, so that the entire web page does not have to be reloaded each time the user requests a change. This is intended to increase a web page's interactivity, speed, maintainability, and usability.[28]

Due to the complexity of Ajax programming in JavaScript, there are numerous Ajax frameworks 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]

With the increased interest in developing "Web 2.0" rich web applications, 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.[citation needed]

Web services

[edit]

Some frameworks provide tools for creating and providing web services. These utilities may offer similar tools as the rest of the web application.[29]

Web resources

[edit]

A number of newer Web 2.0 RESTful frameworks are now providing resource-oriented architecture (ROA) infrastructure for building collections of resources in a sort of Semantic Web ontology, based on concepts from Resource Description Framework (RDF).[citation needed]

See also

[edit]

References

[edit]
  1. ^ Multiple (wiki). "Web application framework". Docforge. Archived from the original on 2025-08-05.
  2. ^ "Top Open-Source Static Site Generators". StaticGen.
  3. ^ "CGI: Common Gateway Interface". Archived from the original on 2025-08-05.
  4. ^ "CGI". www.ibm.com. Retrieved 2025-08-05.
  5. ^ Thomson, Kris (2025-08-05). "Clarification on MVC= Pull and MVC Push". Retrieved 2025-08-05.
  6. ^ Microsoft. "Three-tiered distribution". Retrieved 2025-08-05.
  7. ^ Oracle. "clustering_concepts_10en" (PDF). Retrieved 2025-08-05.
  8. ^ Robert R. Perkoski. "Introduction to Web Development". Archived from the original on 2025-08-05.
  9. ^ IBM. "Using Client Access Express in a three tier environment". Retrieved 2025-08-05.
  10. ^ Oracle. "Understanding the Three-Tier Architecture". Retrieved 2025-08-05.
  11. ^ Microsoft. "Pragmatic Architecture: Layering". Retrieved 2025-08-05.
  12. ^ Arokia. "3-Tier Web Architecture". Retrieved 2025-08-05.
  13. ^ "ASP.NET MVC Controller Best Practices". Archived from the original on 2025-08-05. Retrieved 2025-08-05.
  14. ^ Jamis Buck. "Skinny Controller, Fat Model". Archived from the original on 2025-08-05.
  15. ^ "Getting Started With Web Frameworks". Wired Magazine. Retrieved 2025-08-05.
  16. ^ KLIMUSHYN, Mel (6 April 2015). "Web Application Architecture – Client-Side vs. Server-Side". Atomic Spin. Retrieved 2025-08-05.
  17. ^ "AngularJS vs. Backbone.js vs. Ember.js". www.airpair.com. Retrieved 2025-08-05.
  18. ^ a b c Uzayr, Sufyan bin; Cloud, Nicholas; Ambler, Tim (November 2019). JavaScript Frameworks for Modern Web Development: The Essential Frameworks, Libraries, and Tools to Learn Right Now. Apress. ISBN 978-1484249949.
  19. ^ a b c Rojas, Carlos (13 November 2020). Building Native Web Components: Front-End Development with Polymer and Vue.js. Apress. ISBN 978-1484259047.
  20. ^ a b c Hands-On JavaScript High Performance: Build faster web apps using Node.js, Svelte.js, and WebAssembly. ISBN 978-1838821098.
  21. ^ "Enhance". GitHub.
  22. ^ "Astro framework". GitHub.
  23. ^ "Fresh". GitHub.
  24. ^ a b Fowler, Martin. "bliki: InversionOfControl". martinfowler.com. Retrieved 2025-08-05.
  25. ^ Xue, Qiang. "Capital One Engineering – Philosophies that Shaped Successful Frameworks". www.capitalone.io. Retrieved 2025-08-05.
  26. ^ a b c "Active Record Basics". Ruby on Rails. Retrieved March 20, 2021. 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.
  27. ^ "Active Record Transactions". Ruby on Rails. Retrieved March 20, 2021.
  28. ^ "What is AJAX". www.dlsweb.rmit.edu.au. Retrieved 2025-08-05.
  29. ^ Maximilien, E. M. (2006). "Tutorial 4: Web Services on Rails: Using Ruby and Rails for Web Services Development and Mashups". 2006 IEEE International Conference on Web Services (ICWS'06). pp. xliii. doi:10.1109/ICWS.2006.139. ISBN 0-7695-2669-1.
头发少是什么原因 总打哈欠是什么原因 鑫字属于五行属什么 杓是什么意思 西洋参有什么作用和功效
瑞五行属性是什么 梳头发有什么好处 什么叫书签 什么叫蓝牙 细菌感染用什么药
济南有什么特产 孕前检查挂什么科室 大自然是什么意思 上海最高的楼叫什么 室间隔增厚是什么意思
人活着什么最重要 隆科多为什么不姓佟 棉花代表什么生肖 你把我当什么 黄瓜敷脸有什么功效与作用
脚后跟疼是什么病hcv7jop6ns9r.cn 失态是什么意思hcv8jop8ns4r.cn 鸡鸡长什么样hkuteam.com fierce是什么意思hcv8jop9ns7r.cn 大拇指戴戒指是什么意思hcv8jop7ns7r.cn
思维敏捷是什么意思hcv7jop6ns8r.cn 天蝎座和什么星座不合hcv8jop6ns5r.cn 腮腺炎用什么药hcv7jop4ns8r.cn 皮肤松弛是什么原因造成的hcv9jop7ns1r.cn 什么叫白内障hcv9jop7ns4r.cn
送爸爸什么礼物最实用hcv9jop2ns4r.cn maybach是什么车imcecn.com 你想什么hcv9jop2ns4r.cn 腋下检查挂什么科hcv9jop0ns5r.cn 整夜做梦是什么原因hcv9jop5ns0r.cn
打鸡血是什么意思hcv9jop0ns7r.cn 胎头位于耻上是什么意思hcv8jop3ns5r.cn 后半夜咳嗽是什么原因hcv9jop3ns3r.cn 酉鬼念什么hcv7jop9ns1r.cn 总胆红素高是什么原因hcv9jop1ns8r.cn
百度