新闻资讯
看你所看,想你所想

网路套用支持软体

网路套用支持软体

网路套用支持软体

在计算中,网路套用支持软体又称网路应用程式Web应用程式,是客户端 - 伺服器 电脑程式,客户端(包括用户界面和客户端逻辑)在Web浏览器中运行。常见的Web应用程式包括网路邮件,线上零售,线上拍卖,维基,即时讯息服务和许多其他功能。

基本介绍

  • 中文名:网路套用支持软体
  • 外文名:Web application
  • 学科:计算机术语

定义

单页面应用程式更类似于应用程式,因为它们拒绝在具有不同URL的不同页面之间移动的更典型的Web範例。像Sencha Touch和AngularJS这样的单页框架可能被用来加速为移动平台开发这样一个Web应用程式。任何类型的动态网页与“网路应用程式”之间的一般区别尚不清楚。最有可能被称为“网路应用程式”的网站是那些与桌面软体应用程式或移动应用程式具有类似功能的网站。HTML5引入了明确的语言支持,可以使应用程式作为网页载入,但可以在本地存储数据并在离线时继续运行。

移动web应用程式

在製作Web应用程式时,有几种定位移动设备的方法:
1)回响式网页设计可用于製作网路应用程式 - 无论是传统网站还是可在小萤幕上查看的单页应用程式,并且可以与触控萤幕配合使用。
2)渐进式Web应用程式是常规网页(或网站)和移动应用程式的混合体。
3)原生应用程式或“移动应用程式”直接在移动设备上运行,就像传统软体应用程式直接在台式计算机上运行一样,没有Web浏览器(并且可能不需要Internet连线);这些通常用Java(用于Android设备)或Objective-C或Swift(用于iOS设备)编写。最近,像React Native,Flutter和Xamarin这样的框架允许使用除每种标準本地语言以外的语言开发所有平台的本地应用程式。
4)混合应用程式将移动网站嵌入到本机应用程式中,可能使用Apache Cordova和Ionic或Appcelerator Titanium等混合框架。这允许使用Web技术进行开发(并且可能直接从现有移动网站複製代码),同时还保留本机应用程式的某些优点(例如,直接访问设备硬体,离线操作,应用程式商店可见性。

历史

Web应用程式使用以各种Web浏览器支持的标準格式(HTML和JavaScript)编写的Web文档。Web应用程式可被视为客户端 - 伺服器软体的特定变体,其中客户端软体在使用诸如HTTP的标準程式访问相关网页时被下载到客户端机器。每次访问网页时都可能会发生客户端网页软体更新。在会话期间,Web浏览器解释并显示页面,并充当任何Web应用程式的通用客户端。在早期的计算模型(如客户端伺服器)中,应用程式的处理负载在伺服器上的代码和本地安装在每个客户端上的代码之间共享。换句话说,一个应用程式有自己的预编译客户端程式作为其用户界面,并且必须分别安装在每个用户的个人计算机上。升级到应用程式的伺服器端代码通常还需要升级到安装在每个用户工作站上的客户端代码,这增加了支持成本并降低了生产力。另外,应用程式的客户端和伺服器组件通常都与特定的计算机体系结构紧密相连,除了最大的应用程式外,作业系统和将它们移植到其他作业系统的成本往往非常昂贵。(现在,用于移动设备的本地应用程式也受到一些或所有上述问题的困扰。)
在Web早期,每个单独的网页都以静态文档的形式提供给客户端,但由于用户输入是通过嵌入在页面标记中的Web表单元素返回的,因此页面顺序仍然可以提供互动式体验。但是,每次对网页的重大更改都需要往返伺服器以刷新整个页面。
1995年,Netscape引入了一种称为JavaScript的客户端脚本语言,允许程式设计师在客户端运行的用户界面中添加一些动态元素。因此,下载页面的嵌入脚本可以执行各种任务,如输入验证或显示/隐藏页面的某些部分,而不是将数据传送到伺服器以生成整个网页。
1996年,Macromedia引入了Flash,这是一款矢量动画播放器,可以作为外挂程式添加到浏览器中,以在网页上嵌入动画。它允许使用脚本语言来编程客户端的互动,而不需要与伺服器通信。
在1999年,Servlet规範2.2版中的Java语言中引入了“Web应用程式”概念。当时JavaScript和XML都已经被开发出来,但Ajax还没有被创造出来,并且XMLHttpRequest对象最近才作为ActiveX对象在Internet Explorer 5上引入。
2005年,Ajax一词被创造出来,像Gmail这样的应用程式开始使他们的客户端变得越来越互动。网页脚本能够联繫伺服器以存储/检索数据而无需下载整个网页。
2011年,HTML5已经完成,它提供了图形和多媒体功能,而无需客户端外挂程式。HTML5也丰富了文档的语义内容。API和文档对象模型(DOM)不再是事后的,而是HTML5规範的基础部分。WebGLAPI为基于HTML5画布和JavaScript语言的高级3D图形铺平了道路。这对于创建真正的平台和浏览器独立的富Web应用程式具有重要意义。

界面

通过Java,JavaScript,DHTML,Flash,Silverlight和其他技术,诸如在萤幕上绘图,播放音频以及访问键盘和滑鼠等应用程式特定的方法都是可能的。许多服务都致力于将所有这些组合到一个更熟悉的界面中,该界面採用作业系统的外观。通用技术,如拖放也受到这些技术的支持。Web开发人员经常使用客户端脚本来添加功能,特别是创建不需要页面重新载入的互动式体验。最近,开发了一些技术来协调客户端脚本与诸如ASP.NET,J2EE,Perl / Plack和PHP等伺服器端技术。
Ajax是一种使用各种技术组合的Web开发技术,它是创建更多互动式体验的技术示例。

结构

应用程式通常分成称为“层”的逻辑块,其中每个层都分配了一个角色。传统的应用程式只包含1层,驻留在客户端机器上,但Web应用程式本身就是一种n层的方法。儘管可能有许多变化,但最常见的结构是三层应用程式。按照其最常见的形式,这三层被称为演示,套用和存储,按此顺序。网页浏览器是第一层(演示文稿),一个引擎使用一些动态网页内容技术(如ASP,CGI,ColdFusion,Dart,JSP / Java,Node.js,PHP,Python或Ruby on Rails)是中间层(应用程式逻辑),资料库是第三层(存储)。Web浏览器向中间层传送请求,中间层通过针对资料库进行查询和更新来为它们提供服务,并生成用户界面。
对于更複杂的应用程式,三层解决方案可能不足,使用n层方法可能会有所帮助,其中最大的好处是将驻留在应用程式层的业务逻辑分解为更细粒度的模型。另一个好处可能是增加一个集成层,通过提供易于使用的界面来访问数据,从而将数据层与其他层分开。例如,通过调用“list_clients()”函式可以访问客户端数据,而不是直接对资料库上的客户端表进行SQL查询。这允许替换底层资料库,而不对其他层进行任何更改。
有些人将Web应用程式视为两层架构。这可以是一个“聪明”的客户端,它执行所有的工作并查询一个“愚蠢”的伺服器,或者一个依赖于“智慧型”伺服器的“愚蠢”客户端。客户端将处理表示层,伺服器将具有资料库(存储层),并且业务逻辑(套用层)将在其中一个或两个上。虽然这增加了应用程式的可伸缩性,并将显示和资料库分开,但它仍然不允许真正的图层专业化,所以大多数应用程式将超出此模型。

商业用途

这类应用程式的安全漏洞是一个主要的问题,因为它可能涉及企业信息和私人客户数据。保护这些资产是任何Web应用程式的重要组成部分,并且在开发过程中必须包含一些关键的操作区域。这包括认证,授权,资产处理,输入以及日誌和审计的流程。从一开始就将安全性构建到应用程式中可能会更加有效,并且从长远角度来看具有较小的破坏性。套用软体公司的新兴策略是提供对以前作为本地应用程式分发的软体的Web访问。根据应用程式类型的不同,它可能需要开发完全不同的基于浏览器的界面,或者仅适应现有应用程式以使用不同的演示技术。这些程式允许用户每月或每年支付使用软体应用程式的费用,而无需将其安装在本地硬碟驱动器上。遵循该策略的公司被称为套用服务提供商(ASP),并且ASP目前在软体行业中受到很多关注。
云计算模型Web应用程式是软体即服务(SaaS)。有固定或使用相关费用的企业应用程式作为SaaS提供给企业。其他Web应用程式是免费提供的,通常从Web应用程式界面中显示的广告中获得收入。

开发

编写Web应用程式通常通过使用Web应用程式框架(如Django,Ruby on Rails和Symfony)来简化。这些框架通过允许开发团队专注于其应用程式中独特于其目标的部分而无需解决诸如用户管理之类的常见开发问题,便于快速开发应用程式。许多使用的框架都是开源软体。
使用Web应用程式框架通常可以减少程式中的错误数量,通过简化代码,并允许一个团队专注于框架,而另一个专注于指定用例。在网际网路上经常遭受黑客攻击的应用程式中,安全相关的问题可能由程式中的错误引起。框架还可以促进使用最佳实践例如POST之后的GET。
此外,有可能在网际网路作业系统上开发应用程式,儘管目前没有很多适合此模型的可行平台。

相关推荐

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com