最近出了一本“奇怪”的书《跨终端 Web》,在大家的理解中,到底什么才是“跨终端 Web”?


···回复:

这真的是个非常大的范围……
既然说是Web,我就把范围划定在互联网相关的技术栈内。

任何基于TCP/IP模型应用层协议的Web应用的请求方,都可视为“Web终端”,与此相对的就是Web Service。终端的核心价值是Web Service的表现形式与交互形式。

来讨论终端,就暂且不说Web Service的事情了。
所以这里就涉及硬件、软件和网络协议三个部分。

硬件

这个非常好理解,就是我们日常使用的各种智能设备,包括电脑、平板、智能手机等传统设备。但仅仅是这样还不够,电视盒子、智能手环、智能灯饰等智能家居都在“Web终端”的范围内。

为什么这么说?

传统设备自不必多说。新兴的物联网智能设备,我可以总结为:通过用户操作,使用传统的或较新的网络传输技术(包括WLAN、蓝牙、红外、RFID等),向对应的Web Service发出请求,等待请求应答,并根据应答内容向用户反馈信息。

是不是有点物联网的意思?

软件

这是大家印象最深刻的部分,尤其是在移动设备带动响应式交互大行其道的今天。做Web开发的程序员,尤其是前端,需要同时考虑页面在多种浏览器和多种设备的兼容性,因此响应式布局确实是跨终端Web的一个体现。

但我认为这还不够,因为对于互联网而言,Web的终端不只有浏览器,还有其他应用程序。最简单的,比如一个Web Service同时提供Web站点和iOS App两种服务,再比如魔兽世界网游,我的账号数据被同时提供给游戏客户端和Web版的英雄榜,这里面的区别就是软件终端的不同。

网络协议

让事情变得简单一点,先考虑TCP/IP模型中应用层的协议。考虑这些是因为,这些协议支撑起来的应用都遵循”客户-服务器“范式。

这些协议的存在让同一个Web Service支持不同软件终端成为可能,比如HTTP协议支持浏览器直接访问服务,也支持App中调用API向服务端申请服务,比如DHCP协议支持给不同操作系统的PC、平板、智能手机、电视盒子、其他智能家居提供IP地址,SNMP协议的跨系统、跨设备的支持更不用说,等等。

从应用层再深入思考,比如运输层、网络层的协议,是与硬件平台和传输信道紧密相关的。

跨终端Web

回到最开始,”跨终端Web“,我觉得这真的不是单一一门技术就能做完的事情。

根据实际需求,终端分硬件和软件两个层次,每个层次包含多种类型,每种类型用到的技术又各不相同,所以”终端“的差异是不可避免、无法消除的。

但我们开发者也是人,也想尽可能的省事,于是就有了跨终端的Web:

以通信协议为基础,以Web服务的最终表现形式与交互形式为核心的,基于各类操作系统的软件技术集。

其实Web原本并非跨终端,但应用场景多了,就变成了”跨终端“。

最后

以上是自己对于”跨终端Web“的浅显见解。望各位巨巨点赞拍砖,一起讨论。


···回复:

跨终端 应该是指:尽最大努力兼容各种奇葩web浏览设备

Web在这里应该是指互联网应用吧。

有空拿kindle的浏览器测试一下SF。


···回复:

相对于java的跨平台跨终端web如同一次编码,随处可行的模式,可是本来web就是以浏览器访问,终端web我想指的应该就是各种浏览器展示的前端页面,响应式布局应该属于这类范畴,统一的web前端展示与交互。
个人拙见~


···回复:

命题作文什么的(。

如果将每个“终端”视作一个互异的个体,Web始终是跨“终端”的。这种意义上所有的Web技术都可以进入讨论范围。
所以缩小一下范围吧。

前端:设备上下文

我们一般会将“终端”作为分类,PC端和PC端视作一样的“终端”,那么我们会有PC、Mac、智能手机、PDA(当然,已经过时)、平板、笔记本电脑甚至电纸书和游戏机(NDS、PSP等),Web跨“终端”即意味着适配多个互异的设备上下文。
响应式是一个很明显的例子,适配多个不同的屏幕密度和屏幕大小;但不局限于屏幕,以前端可以接触的接口而言,分辨率不同的前置摄像头、采样频率不一的录音、容量不一的本地存储……都可进入议题。

前端:浏览器/Webview上下文

检视每个前端上下文的宿体,我们可以发现,前端要么依托于浏览器,要么依托于各平台的原生Webview实现。Web跨“终端”也意味着适配多个互异的浏览器/Webview上下文。
最典型的是IE6对CSS2.1标准的诸多水土不服,浏览器或WebView对布局、CSSOM、BOM、DOM、DTD等等实现与偏差,都是前端需要考虑的。

浏览器

同时,跨终端Web不仅仅局限于前端,浏览器也是跨越多个设备和系统的。正如Webkit的多个port——Safari在Mac OS和Mobile及Windows上的版本、Chrome for Mac OS 、Chromium、Opera、360、Sogou、Amazon Silk、Dolphin等等……

总体来说,标准、接口与上下文差异,是跨终端Web的核心议题。


···回复:

虽然我没读过那书,不过我想你说的是reponsive design,响应式设计,他的核心目标是只用一套代码,适应所有终端和平台(系统)。反过来说,响应式没有平台和终端的概念,因为他不会区分终端和平台,一套适应所有。

蛋是,妾以为这个东西,不现实,你用诺基亚的防弹手机试试那些响应式网页,估计不是不能访问就是一堆屎。

蛋是蛋是,随着w3c对css3和html5的强力推广,不排除以后所有设备都会考虑兼容,所以还是有这个可能性的,至少目前大部分主流手机和pc端,都已经能够实现响应式了,over。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Scroll Up