Web前端技术分享让前端飞

Web application(wiki翻译)

2016-11-23  本文已影响40人  zhishijuncc

在电脑上,网络应用或者网络app是运行在浏览器上服务用户的软件应用。普通的网络应用包括:邮箱,在线零售业,在线拍卖,百科,及时通讯软件以及

很多其他的功能。


定义以及相似的项目:

任何种类的动态网络页面以及“网络应用”之间的区别是模糊的。被称为网络应用的网页挺长具有和桌面软件应用或者手机软件相似的功能。HTML5引入了复杂的语言支持,以便创造出在网页端加载,但能在本地存储空间以及线下继续功能的应用。

单页面应用更可能应用化,由于它们拒绝了典型的网络样式:通过不同的URL在不同的页面上移动。像Sencha Touch以及AngularJS的这种单页面框架,可能被用于在手机上快速开发网络应用。

手机网页应用

当制作网页应用的时候,有一些方法来针对手机端:

1)响应式网页设计能被用于开发网页应用——无论在传统网页端或者小屏的,在触屏上工作良好的单页应用视窗

2)在没有网页浏览器的前提下(以及潜在的没有网络连接需要),本地应用或者移动易用直接在手机端运行,就像传统的软件应用直接在电脑桌面上运行;这些应用通常是以Java(用于安卓系统)或者C语言或者Swift(用于ios系统)写成。最近,框架诸如React Native以及Flutter允许开发使用多种平台语言,而非标准本地语言。(跨平台性

3)混合应用包括了在本地应用的一个移动网络站点,可能使用了像Apache CordovaandIonicorAppcelerator Titanium 这种混合框架。这允许开发使用网络技术(可能直接从现有的移动网页拷贝过来的代码)但也包括本地应用的某些优势(比如说:直接链接硬件,线下操作以及应用商店可视化。)


历史

在早期的电脑模型,例如用户端中,加载应用的过程在服务端代码以及下载在本地用户上代码共享。也就是说,一个应用有它自己的预编译用户程序,作为它自己的用户界面以及在每个用户个人电脑上分开安装。服务端代码的一个升级也要求用户端代码的升级,增加了支持花费,减少了创造性。除此之外,用户端以及服务端的应用内容经常紧紧的联系在电脑架构以及操作系统中,以至于改变他们的代价十分昂贵,对于大型应用犹胜。(当然现在,面向移动端的本地应用也被这些往期问题困扰着)

相反,网络应用使用以HTML以及JS语言写成的标准网络文件格式,能被大量的网页浏览器支持。网络应用能被认为是特殊的用户端服务软件种类,在访问相关网页的时候,使用标准程序诸如HTTP协议,用户软件下载到用户机器中。用户网页软件会在每一次访问网页的时候被升级。在这个过程中,网页浏览器阐释以及表述了页面,并且对位任何网页应用的广域用户(universal client)。

早期,网络上的每个网页是作为静态文件传输给用户的,但是一系列也变依旧能提供了一种交互体验,例如用户在网页上填表,按按钮的时候。然而,每一个特别的网页变化需要访问服务端以刷新整个页面。

1995年,网际开发了一个用于段插件语言,叫做JavaScript,允许程序员增加一些动态元素到用户界面。所以不用加载整个页面了,这种被加载到也变的添加性脚本能实现许多人物,例如输入确认或者显示或者隐藏页面的一部分。

96年,Macromedia开发了Flash,一种矢量动画播放器,能作为插件被加到浏览器中,来实现网页的动态化。其允许使用脚本语言来编写用户端的交互而不用连接服务端。

99年,“网页应用”这个概念首次面世。此时JS以及扩展性标记语言已经被开发出来了,但是异步JavaScript和XML(Ajax)还没有出现,可扩展超文本传输请求(XMLHttpRequest)只刚刚作为ActiveX队形引入到IE5中。

05年,Ajax被创造了出来,像Gmail的应用开始使他们的用户端更加交互。一个网页页面脚本能联系服务端,以存储/发出数据而不用加载整个网页

11年,H5完成。提供了作图以及多媒体(播放视频)能力,而不需要用户端的插件。HTML5也又花了文件的动态特点。应用程序编程接口(API)以及文档对象模型(DOM)再也不是后来添加的东西了,而是作为HTML5特点的基本部件。WebGL应用程序接口提供了基于HTML5框架以及JS的高级3D绘图技术。这些对于创建真正的平台以及浏览器独立的强网络应用(rich Internet application(RIAs dominate in browser based gaming as well as applications that require access to video capture)),十分重要。


结构

应用经常被分解为称作“级”的逻辑块,每一级部署了一个任务。传统应用只含有一级,在用户端运行,但是网络应用存在n级。虽然多级是可能的,但是通常结构是三集应用。这三级分别为“显示”,“应用”以及“储存”。网络浏览器是第一级“显示”;使用动态网络内容技术的工程(such as ASP,CGI,ColdFusion,Dart,JSP/Java,Node.js,PHP,PythonorRuby on Rails) 是二级(应用逻辑);数据库是三级(存储)。网络浏览器趋向于需要二级应用,让他们能使用以及升级数据库并且生成用户界面。(后略)


商业用途

有一种趋势显示,应用软件公司正在提供之前只是作为本地应用的网页通道。取决于应用的类别,其可能需要开发完全不同的基于浏览器的界面,或者通过完全不同的技术来模拟现成的应用。这些软件允许用户花费月费或者年费来使用网络应用而不用下载到本地硬盘中。使用这种策略的公司被称作应用服务商ASP,ASP最近在软件工业上关注度很高。

这些应用的安全性是关注重点,由于其能提供企业信息以及私人用户信息。保护这些东西是任何网页应用的一个重要的部分,在开发过程中,一些重要的操作区域必不可少。其包括身份认证,授权证书,资产处理,输入,记录以及审计。从一开始建立软件的安全性是更高效。

云计算网页应用模型是一种软件服务。有些商业应用免费给企业提供软件服务。有些软件服务免费提供使用,通常在页面显示广告来获取收入。


开发网页应用

编写网页应用通常被开源软件所简化,例如Django,Ruby on RailsorSymfonycalledweb application frameworks. (网页应用框架)。这些框架通过允许开发团队关注和他们目标高度相关的应用部分,而不需解决通常的开发问题(例如用户管理)以允许快速应用开发。……

使用网页应用框架在程序中会减少大量错误,通过简化代码,以及允许一个团队关注框架而另一个关注用户的特殊需求。……框架也促使了优秀实践的使用,例如GET after POST.

除此之外,也可能开发基于网页操作系统的应用,虽然最近没有足够的平台来适应这一模型。


应用

1)简单的办公软件:文字处理,在线表格,演示工具(word processors,online spreadsheets, andpresentation tools

2)复杂的应用:项目管理,电脑辅助设计,软件设计,视屏剪辑以及网页销售(project management,computer-aided design,video editingandpoint-of-sale


上一篇下一篇

猜你喜欢

热点阅读