是一个Web框架,比如Django和Ruby on Rails,只是一种显示可以通过http正常编写的代码的方式吗?或者它是否用于更多服务器端事物,例如存储数据。它是用作网站的前端还是后端?
答案 0 :(得分:48)
让我们谈一谈不是网络框架的事情。
在网络的最基本级别,您有一个网页。它通常是一个愚蠢的页面,上面有一些文字,可能是嵌入式视频或一些图像。它(或者至少在理想情况下不应该)关心它所显示的东西来自何处。您不需要任何脚本,数据库等,以便拥有静态网页。使用的典型工具:HTML,CSS,Javascript。
然后你有内容管理系统(CMS),比如Wordpress。它们为您的网站添加了更多功能,但实际上它们只是为您提供了一种管理网页集合的方法 - 即时创建网页等。您可以按原样使用它们并通过管理与CMS进行交互他们提供的页面。您可以扩展其中一些(例如,Wordpress有一个插件架构),但您通常不关心它们的工作方式或特定的API。
然后然后你有web框架。它们允许您以结构化的方式完成其他所有工作。您不需要有一个框架来创建一个由数据库驱动的站点,但它可以提供帮助。框架通过常规为您带来很多便利。例如,如果要向站点添加新部分,可以创建“模块”,将其上载到已知位置,也可以更新配置文件,并且或多或少地将自身连接到您的站点。
该框架可以处理您的数据库详细信息或从其他服务中提取数据(或通过服务提供数据)。它可以根据模板自动为您构建页面。它可以通过URL路由来“美化”您的链接。它可以帮助您确保没有任何网站链接中断 - 通过动态确定页面的位置而不是手动硬编码链接。它们允许您将后端问题(业务逻辑,数据访问,身份验证等)与您的视图分开,如果您愿意,可以轻松更新页面设计。
专门解决您的问题...
Web框架生成通过HTTP提供的HTML页面。这里没有特别的魔力。您经常可以自己编写相同的页面,但框架允许您定义模板,并根据您的需要显示不同的页面,而无需您直接参与。
Web框架不存储数据。他们可以访问或提供它,但它们本身不是任何类型的数据库。 Web框架位于服务器端,为客户端提供页面并处理客户端的输入。
后端使用Django和Rails等框架。还有其他框架,如jQuery,可用于编写客户端活动的脚本,但它们不是同一意义上的Web框架。通常当有人说“网络框架”时,它们意味着服务器端。
希望这有帮助。
答案 1 :(得分:4)
Web框架是一种可帮助您构建网站和服务的编程环境。它们通常专注于服务器问题,例如数据库连接,URL路由,HTTP协议实现,HTML生成,表单处理等。有些还可以帮助解决客户端问题,例如帮助您的Javascript代码与服务器端代码无缝协作。
答案 2 :(得分:2)
Web应用程序框架是一种软件框架,旨在支持动态网站,Web应用程序和Web服务的开发。该框架旨在减轻与Web开发中执行的常见活动相关的开销。
取自this页。