我偶尔会听到有人说类似于“好吧,这是网站,但它与网页应用无关”。 这意味着两者之间存在某种界限。 不同的需求和规则改变了游戏规则,改变了围绕它们的讨论。 这是真的吗?
侧边栏中的新民调问了这个问题
区分“网页应用”和“网站”有用吗?
我问的是非常广泛的问题。 这种区分是否有普遍的用处,可以帮助对话、博客文章和会议演讲,从而改变我们今后思考和使用网络的方式? 这是一个布尔值选择,以使结果更清晰
- 是的。 它们是不同的东西,有不同的关注点。
- 不。 这一切都是网络。
思考
一个展示营业时间、菜单和照片的餐厅网站。 这是网站吧? 但是,如果您添加一个交互式地图用于导航。 现在是网页应用了吗? 还是一个带有嵌入式网页应用的网站? 它会改变什么? 如果您能够通过网站预订怎么办?
区分是否像“您登录网页应用”一样简单? 如果您能够登录博客网站,但您这样做的唯一原因是留下评论,而无需每次都键入您的姓名(以及用于防垃圾邮件)。 否则,该网站只包含文章。 这是网站还是应用?
区分是否与“您去那里浏览”与“您去那里做事”有关?
网站都是关于内容,而应用都是关于执行操作? 有一个带付费墙、可定制订阅和可重新排列模块的报纸网站怎么办? 报纸网站当然与内容有关,那么它是什么呢?
社交媒体应用在哪里? 您可以在哪些网站上构建事物? 在线照片编辑器? 会计应用? 银行软件? “内容”通常是指公开内容,还是也可以指用户生成的内容或私人内容?
也许有更多实用的差异需要关注。 也许网站有很多导航,而应用很少。 也许网站需要在内容搜索和发现方面提供更多帮助,而应用则没有那么需要。 网站可能需要更认真地考虑诸如响应式网页设计之类的事情,因为它很开放,流量可能来自任何地方。 而在应用方面,要求用户使用特定软件来完成他们需要做的事情则更合理。
网站比应用“更容易”吗? 反之亦然?
如果存在灰色地带,它的厚度是多少? 知道您在这个频谱上的位置仍然有用吗?
我认为区分两者没有用,但有时能够判断是网页应用还是网站很有用,主要是在您想了解其未来发展方向时(仅对开发人员和投资者很重要)。
关于从投资者的角度来看待网络属性的未来,这一点很有意思,但我不同意区分两者没有用。
分类是我们作为人类所做事情的**基本要素**,它帮助我们理性和理解周围的环境。
就像语言一样,网络世界也有**名词**、**动词**、**形容词**等。
人类是**分类机器**,因为分类有助于我们理性和理解周围的世界。 妙的是**类别定义可以改变**。 在 Facebook 等大型知名应用出现之前,“网页应用”指的是移植到网络的本地 PC/Mac 商业应用。 现在,随着人们意识的提高,它是一个更普遍的术语。
我们对 SUV 和 XUV 进行分类。 面包车和小型货车(一样,不是吗?),轿车和掀背车,情景喜剧和浪漫喜剧,黄色的拉布拉多犬和玩具贵宾犬等,因为我们立即从中理解了一般属性集。
我们这样做是因为它们帮助我们将一组通用属性拟合到该对象。 这是人类特有的思维捷径形式。 它还减轻了心理负担,加快了心理处理速度。
另一方面,当类别不添加任何重要信息时,我们不会进行分类。
例如,如果您告诉某人您喜欢读《汤姆·索亚历险记》,您是在读平装本、精装本、epub、mobi、html、pdf,还是音频书籍? 这并不重要,因为您正在阅读的内容才是重点。
您能否认为在网络上,这一切都是 html、css 和 javascript…… 所以它们都一样? 我不这么认为。 人们并没有消费 html,只是它碰巧是实现它的机器。
问题是:对网络属性进行分类是否可以让我们更好地理解周围的网络? 就我个人而言,我认为可以,而且说实话,我希望随着行业的发展,看到更多类别。
@Armstrongest,这就是为什么我们人类也会创造出很多愚蠢的东西。
查看这篇文章,这是一个清晰的例子。
这个例子很好地说明了我们如何倾向于分类以及分类如何是有益的。 虽然某人可能戴着多顶帽子,担任多种角色,但这些头衔具有普遍意义,可以快速让您了解他们做什么。
当网络闪亮而新时,**网站管理员**是合适的。 人们(尤其是招聘者)对网络的了解还不够,无法进行更多分类。 他们只知道他们需要一个精通计算机,并且能够将代码转换成可运行的东西的人。 这很可能也是一种自我任命的职业,可能受到游戏管理员的影响,因为在早期,许多喜欢玩游戏的人也喜欢编程等。
网站和网页有一天可能会过时。 事实上,网页与古代卷轴更接近,而不是纸张(至少是我们如何看待纸张的古籍形式)。 在某些圈子里,网站正在被网络属性取代。 没有人说去推特网站,他们说在推特上发推文,或“使用推特”。
我认为界限在那里,应该保持原样,因为一些不具备评估成本和时间需求所需技术知识的利益相关者会滥用“网站”一词,设定不切实际的目标,认为浏览器会完成所有艰苦的工作。
他们应该让**所有**网站都响应式!…… 让人们体验两全其美…… 至少它适用于所有移动设备,无论它是 iPhone、三星等…… 因为您无法在任何设备上使用这些应用。
这种区分可能只对创建网络的人有用。 我是一名开发者,我创建过许多应用,最初是在桌面端工作的。 现在我已经构建网站和网页应用多年了。 当客户要求我创建一个新的网站时,我主要想到的是静态内容,如果他们要求一个网页应用,我想到的是一些服务器端编码。
对于网络用户来说,这种区分无关紧要,他们使用 WWW,无论它在他们看到它之前做了什么,他们得到的是 html、js、css(是的,还有其他一些东西),那就是网络,他们甚至不关心它是 html、js 和 css,他们只关心浏览器是否返回了地址请求的站点。
因此,我认为这种区分是有用的,但仅在与合适的公司进行合适的讨论时才有用。 向我母亲解释这些差异将是浪费时间,对她来说,这一切都是网络。
我认为界限很模糊,但它确实存在。
Jeremy Keith 几个月前就强调了这一点。
http://adactio.com/journal/6246/
“我认为这里有一个比‘网站和网页应用的区别是什么?’更基本的问题。 那个更基本的问题是……
为什么?
为什么要进行这种区分? 通过将整个网络任意地划分为两个类别,您能获得什么好处?”
存在还是不存在! 这就是问题所在……
虽然 Jeremy 的论点非常有说服力,我也有同感,但我很难将 Gmail、Tumblr 博客、零售网站和本地商业网站(营业时间/地址等)都归为同一类别。
我认为,随着近年来网络浏览器向更标准的支持和更高的性能发展,这种区分变得越来越窄,但进行区分是有原因的。
许多网络应用程序是为企业开发的,这些企业可能拥有不寻常的网络浏览器池(最重要的是旧版 IE [叹气],或者在某些幸运的情况下,您可以依靠最新版本的 Chrome)。
网站对广大公众开放,并不基于这些细节。
但是,IMO,主要区别在于网站提供内容,而网络应用程序提供数据。不,它们并不相同。
他还说
这完全正确,对网络应用程序和 html5 都是如此。我最近看到一个机构(由我们的营销部门)做了一些工作,他们对创建“html5 网络应用程序”感到非常兴奋。他们提议的是一个像 everylastdrop 这样的交互式网站。
该机构显然只是使用“html5 网络应用程序”这个词来给我们的营销团队留下深刻印象。这让我忍俊不禁。
我认为应该有所区别。
从咨询的角度来看,如果你正在组建一个 5 页的网站,浏览器在此时更像是一个文档阅读器,但如果你正在组建一个包含动态数据和用户输入的内容,那么网站就更像是一个应用程序,在构建时应该以此方式考虑。
我认为对于用户来说没有区别。用户在浏览器中访问网站并完成任务,无论是查找信息还是与应用程序互动。
但是,当您处理设计/创建/维护时,我可以理解对术语之间存在差异的论点。
为特定目的创建的网络应用程序,例如视频游戏、编辑软件或其他任何东西。
网站上的方向交互式地图不是应用程序,只是网站的交互式部分。
示例:wunderlist、do.com、mailchimp(使用新界面,它是一个网络应用程序!)
这些软件在浏览器中运行,使用 Chrome 扩展程序,外观和感觉与脱机应用程序完全相同。或者更简单地说:它们消除了传统的网站功能。
您可以在结构和内部逻辑中看到明显的差异。
如果它需要 JavaScript 才能工作,那么它就是一个网络应用程序,否则它就是一个网站。
:)
你可以创建一个没有 JS 的糟糕应用程序。很慢,但有可能。
不幸的是,它通常以相反的方式工作:开发人员认为,如果他们称之为“网络应用程序”,他们就可以忘记没有 JS 支持。
我并不是说我认为所有东西都应该在没有 JavaScript 的情况下工作。这是一个商业决策:它会限制你的用户群(非常轻微),就像假设 canvas 支持会限制你的用户群一样,你的项目简介和目标将决定这是否可以接受。
但根据我的经验,一旦开发人员决定“它是一个网络应用程序”,渐进增强和可访问性就会同时被抛出窗外。即使 JS 是核心功能所必需的,这些东西仍然很重要。
Scott 说“为什么它很重要?”,真正的答案是“因为它让我可以偷懒,如果我可以说它是一个应用程序”。
如果它在我的设备上无法正常工作,无论你称它为什么,我都会很生气。
Stu 这里有一个很好的观点。显然,并非所有开发人员都会这样做,但我见过人们称某事为“应用程序”,然后说为了工作,它需要一些现代功能,这导致他们只为拥有所有最现代功能的人设计。
我想在某种程度上,这是一种进步,鼓励用户使用新技术,但我认为这引发了我们为什么要担心在“网站”和“网络应用程序”之间制造分歧。如果有区别,那就是网络应用程序仅对一小部分用户可用,我们可以忘记其他人。
就像我说的,这不是唯一的区别,但我们要小心不要加剧这种分歧。
所以按钮悬停/滚动会被认为是一个应用程序?……嗯
只有 javascript 滚动。基于 CSS 的滚动不算。
我发现,在与客户交谈或在一般情况下介绍项目时,区分网站和网络应用程序很有用。对我来说,主要区别在于用户访问它的方式。用户对应用程序的期望仍然有一些区别(以操作为导向,是的,即使它只意味着阅读新闻列表),而不是对网站的期望,网站在内容显示方面更加异构。
我认为另一个需要考虑的角度是网络应用程序/网站的参与度和花费的时间。
有多少人花超过 5 分钟时间与网站进行双向互动?不多。
有多少人花超过 5 分钟时间与网络应用程序进行双向互动?我的观点是,更多。
根据我的经验,网站往往会宣传一些东西,无论是产品、人等等。他们发布一条信息,并要求很少的互动。网络应用程序几乎以相反的方式工作。从最初登录开始,他们就寻求参与,他们希望与用户进行双向互动。
那么,亚马逊是什么?它是网站还是网络应用程序,或者完全是新事物;网络应用程序。
亚马逊既不是。它是一个网络商店。
我认为我们最终将迁移到这样的词来描述网络属性。我们已经在做类似于基于网络的 IDE、基于网络的电视的事情。
网络商店。网络 IDE、网络 API、网络门户。
我认为它绝对是一个网络应用程序,而且是一个非常复杂的应用程序。查看此链接,它非常酷。
看看这个!
我认为它绝对是一个网络应用程序,而且是一个非常复杂的应用程序。查看此链接,它非常酷。
–> Highscalability.com/amazon-architecture
如果我需要完成一项任务,并且我会定期返回,那么它就是一个网络应用程序;如果我只是在那里阅读信息并执行简单的任务,那么它就是一个网站。
这是一个棘手的问题。我一直在思考同样的事情,但我没有花太多时间试图定义它,我只是在看到它时就知道了。当我听到“网站”时,我想到了一个展示型网站,主要用于查看的东西。另一方面,“网络应用程序”就像 Dropbox,我可以做一些事情,更改数据库等等。我猜想网络应用程序通常是工具,而网站通常是公司的展示型网站。它们两者都可以并且通常是混合的,但带有一个应用程序的网站仍然是一个网站,反之亦然。
我不确定在对实际客户进行区分时是否存在优势;但我认为这对于构建该东西的网页设计师和开发人员来说可能有用。
对我来说,“网站”意味着需要完成的工作主要是在网页设计师和平面设计师之间的前端。会有主题设计,可能是 jQuery 或轻量级 JavaScript,甚至可能会有数据库,但它将在类似 WordPress 的东西中,在那里我们所说的“网页开发”很多是自动化的或由我们处理的。在这里,我思考的是……“它应该是什么样子”?
另一方面,“网络应用程序”意味着开发人员将更加亲力亲为。我们仍然需要设计师和前端人员来完成他们的工作,但我们正在研究定制的后端开发,可能是一些 Angular.js/Ember.js/Backbone,甚至可能是专门的数据库工程师。在这里,我思考的是……“它应该如何运作”?
这两个词从精神上将我引向了不同的方向,就我将使用/需要哪些工具来构建这个东西以及我的优先级应该是什么。
但对最终客户来说?它只是一个网站。
我一直认为这是一个目的问题:如果它的主要用途是执行任务(Gmail、Dropbox、Remember the Milk),那么它就是一个网络应用程序;如果它的主要用途是提供信息或内容(餐厅菜单、新闻网站,甚至搜索引擎),那么它就是一个网站。显然,有些网站将同时提供这两种用途,但通常其中一个明显是“主要的”。即使是完全交互式的东西,比如 Google 地图,也只为了帮助显示自己的内容而进行交互。即使这样,我认为它更像是一个**频谱**,而不是一个坚实的黑白分类。像 Feedly 或 Facebook 这样的东西兼具两方面的特点,说它仅仅是其中一个是不合理的。
也就是说,从长远来看,这并不重要。当您为网络构建任何东西时,目标应该是创建最能满足您心中目标的产品。一旦它完成,它可能是一个网站,也可能是一个应用程序,但在开发仍处于活跃阶段时进行这种区分只会限制您所创建内容的潜力。让您的网络应用程序/网站自己说话,并落在它们可能的地方。
我不确定我是否完全同意,这属于模糊地带。但这正是我划清界限的地方。无论如何,已经足够接近了。
与其他一些评论者不同,我认为我们如何向客户展示它存在区别。我们应该理智地与客户讨论他们要求的内容的影响,如何交付以及其他方法来提供可能更适合他们的近似替代方案。
例如,这家餐厅是否需要一个功能齐全的应用程序来执行一百万种地图功能来显示路线?或者实际上,是否可以使用某种显示他们周围 100 米范围内的静态地图,一些通往主要道路、公共汽车、地铁站的书面路线或适合他们所在城市的任何其他方法,并提供一个下载书签到智能手机的功能,以便他们可以自己规划路线? (这显然让它回归到网站,而不是应用程序。)
可能唯一确定的区别是,当你提到“网页应用”时,通常被认为是更多涉及 JavaScript :)
这令人恼火地抽象,但我认为我心目中主要的区别在于您希望访问者在使用网站/应用程序时采取的思维模式。桌面应用程序和浏览器内网站之间仍然存在设计和功能方面的差异。通过采用其中一种范式来推动项目,您可以在访客进入网站的那一刻帮助他们建立对网站的期望。
我不确定两者之间是否存在很大区别。随着时间的推移,这种区别似乎越来越不明显。
是的。 它们是不同的东西,有不同的关注点。
对我来说,区别在于功能/需求。我不会将功能很少或没有功能的营销网站称为网页应用。但营销网站可能包含一个网页应用。然而,当定义网页应用/网站的细线存在时,这可能仅仅是语义学问题。
“网页应用”和“网站”是类别。谈论它们的含义需要快速了解一下类别理论。
经典类别理论起源于柏拉图的工作,认为类别是由实体所拥有或缺乏的属性定义的自然发生的实体划分。然而,现代类别理论,例如 原型理论更微妙,并认识到类别实际上并不存在于思维之外,并且定义更加模糊。事物可以是类别的良好示例或不良示例(例如,知更鸟通常被认为是“鸟”类别的更好示例,而不是企鹅),或者尽管存在巨大差异,它们也可以属于同一类别(Windows Solitaire 和世界杯决赛都属于“游戏”类别)。
类别理论中的大部分工作都与认知科学和语言学相关,但它也对计算机科学产生了影响:编程的大部分工作是试图具体定义类和结构来表示某类事物,但这并不是对人类思维的准确模型。如果您曾经尝试收集特定商业实体的需求,结果却因无数属性、规则、反规则、必需属性、可选属性、始终始终需要的属性而陷入疯狂,除了这些情况下它们不需要,等等,那么很容易举手说这是所审查业务的失败,但实际上,这是人们思维方式的自然结果。
至于网页应用和网站,您永远不会提出一个大家都能接受的属性列表,您可以用它来声明某件事是这个还是那个。总是会有边缘情况,以及人们之间的分歧,因为您不是试图测量“真实”事物。那里只有物质和能量在飞来飞去,类别只存在于我们的大脑中。但这并不意味着它们没有用,也不意味着我们应该放弃它们,因为它们是我们处理和过滤周围环境的重要组成部分。它们是一种心理速记,让我们能够以抽象的方式思考世界,而不是将每一棵树、每一个人、每一辆车、每一种动物和每一首音乐都视为完全独特的。
精彩的观点。我尤其喜欢您最后的总结。类别是一种心理速记,让我们能够以抽象的方式思考。它们很重要,但它们一直在变化。
两者之间绝对存在一条线。那条线在哪里?我不完全确定。
但我认为大多数网页属性应该既是网站又是应用程序。渐进增强。给我网站,然后如果我能够处理,就叠加应用程序的行为/交互。Twitter 就是一个很好的例子。
我认为说网站和网页应用是两种不同的东西是准确的,但是你可以在网站内包含一个网页应用,但是你可以在网页应用内包含一个网站吗?对我来说,网站显示内容(动态或静态),一旦网站用户和网站所有者之间存在通信,或者网站允许功能使您朝着目标取得进展(除了阅读其内容之外),该网站的一部分可以被认为是网页应用。两者绝对存在不同的关注点,如果它是一个内部网页应用程序,则在一个领域存在更多关注点,而在另一个领域则存在更少关注点。
仅供参考
网页应用将是曾经(或可能曾经)在操作系统(Windows、Mac、iOS 或 Android - 您说出来)之上运行的应用程序,现在是在网页浏览器中运行 - 浏览器在这种情况下变得有点像操作系统,或者运行环境。
普通的网站,即使包含交互式功能,也不过是文档(PowerPoint 演示文稿也可以是交互式的)。
底线是,它做什么定义了应用程序,IMO,而不是它运行的环境。
在我看来,网页应用将被定义为基于网页的平台上的交互,用户在该平台上接收与他们的输入直接相关的某些有形输出。否则,它是一个网站。
因此
在线商店:网页应用(用户接收产品)
餐厅预订:网页应用(用户最终会收到食物)
在线报纸:网站
社交媒体:网站,直到用户跨越通信渠道接收产品、邀请等(因此是网页应用)
网上银行:网页应用(导致用户最终经常购买产品)
会计应用程序:网页应用(与网页应用的推理相同)
等等。
其中一些联系非常薄弱,我想看到一些更可靠的东西。
我认为主要区别在于受众。您叫它什么可能不太重要。这是一个可抓取的资源,还是为您的消费而个性化的东西。网络上有很多地方提供两种服务。
Facebook 非常像应用程序,但那里的一些内容显然是为了发现和获取信息。
Dropbox 也像应用程序,但大多数内容都是为单个用户准备的。
“几乎所有博客”看起来都是为了告知和被发现,但主要是日记条目,没有人会感兴趣。
如果您与客户交谈,这种区别在理解他们是做广告(最纯粹的意义上的广告),还是在促进某件事方面非常有用。您可以两者兼而有之,但从我的角度来看,大多数想要完成网页工作的人都是想要做其中的一件事。
有一个主要区别,即导航。一个是在浏览器内部,完整地包含后退按钮等。另一个需要在决定如何让人们在屏幕之间移动时考虑到这一点。此外,我认为是否要选择其中一个取决于技术的现状和您的受众。如果可能,我更喜欢网站,根本不需要应用程序。使用网站在保持最新版本、能够宣传您的网站等方面提供了很多优势。为了获得最佳体验,以及更多复杂类型的交互,应用程序是最好的选择,直到浏览器赶上。
这里根本性的问题不是“这是一个网页应用还是网站”,现实是……什么是网站?什么是应用程序?它们是一样的……您正在前往一个向您展示某些东西的位置。人们需要开始理解的是,简单的投资组合或联系表单是一个网页应用。它只是一个具有最少逻辑的简单网页应用,并且可能被分解为多个视图。网页应用只是更智能的网站……就是这样。最终,它们都将使用一些 MVC、HTML5 和历史记录状态,很快所有网页应用都将成为网站,网站都将成为网页应用,我们将不再把事物分解为技术类别,而是开始将其分解为类型。社交、电子商务、信息、娱乐。
就像电影一样。黑白电影是电影吗?3D 蓝光动画电影是电影吗?它们都是电影……只是类型不同。
对我来说,找到区别很重要,因为我为网站设计、更新和维护收取一个费用,而为网页应用收取不同的费用。
我认为网页应用和网站之间唯一的区别在于受众!因此,从某种意义上说,它们都是一样的。
*same=some
有趣的是,我们在网页设计和开发领域,常常忘记互联网存在着纸质出版物的模拟形式。几个世纪以来,我们一直在将信息转化成易于理解的格式,以满足信息的使用需求。
虽然互联网改变了信息传播和获取的几乎所有方面,但它并没有像改变我们对信息表现形式的期望那样,改变离散信息的本质。
“网页应用”和“网站”就像是在问这些信息用于什么,但为什么只有这两个?为什么不包括“网页游戏”、“网页杂志”、“网页手册”、“网页期刊”等等?在预期用途的分类中显然存在着有价值的差异,但在任何事物前面加上“网页”这个前缀,在现阶段有点过时了。当然,我们的客户和雇主在未来十年内可能会继续使用这种奇怪的术语,但我们不应该继续前进吗?
整个“互联网”就是一个“网页应用”,但更重要的是它包含着信息,这意味着它有用途和格式。手册、杂志、期刊、漫画、词典、手册、小册子、手册、信件......现在和以前唯一的区别是,我们期望这些东西知道它们里面装的是什么,我们期望它们引导我们找到有助于我们更好地理解它们的信息。如果我们现在还不期待这一点,那么就等着吧......
Pinterest 是一个很好的例子,它同时体现了两种观点。移动网站和应用程序之间似乎没有太大的区别。除了......
性能
由于应用程序依赖于操作系统,那么将它放到这里是否有性能上的原因?有问题的应用程序是用户最大的反感,而有问题的媒体查询则不太可能出现。主流网站似乎在他们的移动网站上推动使用原生应用程序,然而用户通常有选择权。媒体查询可以根据设备的屏幕宽度进行指定,或者下载专门针对该设备进行优化以获得高性能的原生应用程序。
所以,**我认为原生性能的需求/愿望以及您的商业模式** 是从媒体查询布局转向设备应用程序的两个因素。
我们人类总是喜欢把事物归类。我认为没有必要区分这两个。
对我来说,如果需要大量代码才能提供以用户交互为中心的的功能,我倾向于将其视为应用程序。否则,如果目的是展示内容而无需太多用户交互,我倾向于将其视为网站。
我认为静态页面肯定是一个“网页”,但不是一个“网页应用”。
但一个“网页”如果能实际执行某些操作,例如允许您购买商品并提供相关的服务,如支付或配送,那么它就更接近于“网页应用”。
我认为报纸不仅仅是关于内容,而是关于在网络上提供这些内容。它不像一家想在网上宣传菜单、营业时间和位置的餐馆。如果同一家餐馆想在线提供食物,那么我们肯定不会仅仅谈论披萨广告了。
现在,在我看来,这两个之间根本没有界限,直到更多更多访问这些网站/应用程序的媒介出现。你会用 Google Glass、智能手表,还是在开车去查看你最喜欢的餐厅地址时用你的汽车 LCD 访问网站?所以,在此之前,没有必要进行这种比较。
你怎么看?
为了这个定义的目的,我们假设“主要内容”是:大多数人来你这里寻找的内容。
这样说的话,我认为很容易通过以下方式区分两者
当“主要内容”是由用户创建时,它就是一个网页应用。
当“主要内容”是由一组精选的管理员创建时,它就是一个网站。
网页应用
只有一个页面,使用客户端路由(历史 API)。
高度依赖 JavaScript。
无后端?可以是简单的静态文件,连接到 Web 服务。
离线支持。
我们都记得老式的 Flash 时代,当时我们有嵌入 Flash 部分的网站,甚至有全 Flash 网站,现在用网页应用来代替 Flash 应用。这样更容易区分它们。
我认为,如果您的页面上有很多实时组件/面板,那么就使用网页应用;如果您有一个网站,用户在页面之间导航的速度比平时快,或者有很多结构相同的页面(如测验或投票网站),那么就使用网页应用......
我认为应用程序和网站之间存在明显的区别
网页应用以用户内容为中心:<br/>
这是一个用户可以创建/编辑/放置/删除内容的地方
网站以所有者内容为中心:<br/>
这是一个用户可以查看并可能与其他人创建的内容进行交互的地方。
过去我们构建网站。
但现在我们从技术中获得了如此强大的力量,以至于我们的网站现在变成了网页应用。然而,它们的本质是一样的。
换句话说,网站/网页应用......用西班牙语来说:Es la misma puta pero mona。
从普遍的观点来看,两者都属于同一类别。两者都是子部分,根据客户的需求做出决定。客户是需要展示他的数据(内容),还是允许执行某些事务。
那么 http://siteapps.com 是一个网站还是一个为网站(或网页应用)提供应用程序的网页应用?
我同意两者之间应该有一条清晰的界限,这对网页设计师和开发者是有帮助的,但对访问者来说没有帮助。我看不出有人能很好地解释它。但你可以从阅读 Chris 的文章和评论中获得启发。评论总是很有见地的。
谢谢
我已经阅读了很多关于这个主题的文章,也曾在一些会议演讲中听到过。
我认为确实存在差异。
绝大多数网站都是网站,但有些情况下应用程序更适合描述。
在我目前的工作中,我开发企业应用程序,这些应用程序由购买了我们软件的公司使用。它们无法通过互联网访问。它们用于特定目的,也可以像桌面应用程序一样工作——浏览器只是我们向用户提供应用程序的方式。
像 icomoon.io 这样的网站:上传 SVG 并能够在设置度量和选项后将其导出为字体,这当然是一个应用程序。同样,这也可以使用 Grunt.js 在您的桌面上完成;网站只是您访问它的方式。
我认为大多数网站仅仅是网站,对我来说网页应用是您访问以执行特定操作的网站,比如您提到的会计软件、照片编辑器等等,或者 iCloud 等等......
在过去 15 年中,我参与开发的所有网页应用都用于内部网络,公众无法访问。
这通常意味着应用程序是针对公司允许的唯一的浏览器类型和版本设计的。
此外,功能通常非常定制,这使得设计直观的界面非常具有挑战性。这也意味着一个术语/词语/图标可以理解或定义大量的含义,因为它是在内部每天被理解和使用的。
我认为这些东西在网站中没有/找不到/使用,因此造成了这种区分。如果我正在构建一个网站,我会戴一顶与构建网页应用时完全不同的帽子。
我最喜欢的定义来自 Mat Marquis 的一条推文 ;)“网页应用是一个网站,开发人员希望要求使用 JavaScript”:https://twitter.com/wilto/status/372080088898367488
如果页面永不滚动,那么就是网页应用,否则就是网站
(准确率 80%)
我认为任何构建过完全响应式应用程序和完全响应式营销网站的人都会告诉你,是的,两者之间存在着巨大差异。
确实存在界限,尽管差距越来越小。在我的经验中,我发现移动用户更有可能反复访问手机上安装的应用程序,而不是输入网站地址或创建书签。移动网站的优点是,他们不需要安装应用程序,您也不必为每种类型的手机创建和营销应用程序。
我认为我们现在还处在两者都有价值的阶段,我仍然会创建一个移动优先网站,以及一个应用程序,以便用户可以选择安装应用程序或使用网站。
我认为这就像问苹果和水果之间是否有区别。苹果是一种水果,就像网络应用程序是一种网站一样。
我认为两者之间是有区别的,但更像是黑色汽车和白色汽车之间的区别,而不是汽车和飞机之间的区别(而且刚注意到上面提到的水果类比)。我能想到的“网络应用程序”标签最常见的用法是作为不实现可访问性的借口,我认为这是完全错误的。英国的商店不会因为是特殊类型的商店而逃脱任何事情,那么为什么网站应该可以呢?
实际上,直到最近,我都会说两者是分开的,但最近随着 b00k.it 的推出,我们正在尝试打破这种趋势,只是为了节省成本并尝试确保应用程序的响应能力和外观风格的一致性…
仍然不确定结果会如何,因为应用程序通常功能更完整,用途更固定,但如果它只是一个已编写的视图,我看不出有什么害处,这就是我们尝试的原因…
我认为最简单和粗略的划分是:**如果一个网络事物(或东西)可以打印并且仍然提供相同的结果,那么它就是一个网站**。#莎拉的苹果是一种水果,水果是一种苹果……一个网络应用程序就是一个网站(或网站的一部分)。
当然,应用程序并不是从一个简单的滚轮开始的,而滚轮是无法打印的,这就像墨水类型一样……闪亮 vs 哑光。
导航是一个应用程序吗?不完全是,这就像说翻到第15页联系我们一样。
动画就像儿童弹出式书籍或“动态卡通”。[请不要对打印动画 GIF 进行评论;)]
表单只是一个传真替代品,还是你的地址被保存到数据库中?“在此输入你的姓名以获取报价”或“注册以接收你选择的时事通讯和促销信息”。
应用程序可以很简单,也可以很复杂。跟我的同事谈谈,他们花了几年的时间构建一个应用程序,而我构建了一个在数据库中收集评论的表单…
界限是可以划分的,但它很长,每种情况都需要进行一些分析。
一般来说,在网络应用程序中,用户处理数据,而在网站上,用户消费数据。因此,你应该更加关注网站的 SEO。此外,开发人员不需要太担心网络应用程序的 SEO,因此他们可以随意使用诸如客户端模板之类的工具。
浏览器内存泄漏在网络应用程序(尤其是企业应用程序)中比在网站中要严重得多。即使是一些最好的 JS 框架也会遇到问题,尤其是在 IE 中。
实际上,IE 处理 JS 的速度比 Firefox 等浏览器快得多……:o
IE8 和 9 太烂了!
对我来说,最大的线索是打印 - 如果打印几页是有意义的,而且我希望打印出来的内容对每个人看起来都一样,那么它可能是一个网站;而如果从同一个 URL 打印出来的每一页都不同,那么它就是一个应用程序。
所以你是说大量使用 JS 并显著改变页面的网站是网络应用程序?我不同意,因为任何网站都可以使用 JavaScript,它不一定是网络应用程序,尽管这可能是一个提示。
有人知道“网络应用程序”的最早提及吗?
网络应用程序和网站略有不同,例如,Chrome/ium 中的网络应用程序现在可以通过默认的无标题浏览器打开(无需设置选项),并使用新的后台脚本。而 Ubuntu 中的 Unity 网络应用程序可以通过部分操作系统进行控制,例如,YouTube 视频可以通过声音菜单暂停,与 Rhythmbox 音乐暂停的地方相同。网络应用程序和网络之间存在很多混淆,但之间有一条细线。
对我来说,一个明显的区别是由语义定义的。网站语义在所有网站之间应该相似:页眉,然后是主要内容部分,通常是侧边栏和页脚。
网络应用程序语义只能作为一个独立的实体才有意义,因此结构不必与标准相关。
这是我对两者之间清晰区分的最佳尝试!
我认为网络应用程序只是网站的一种类型。当然,有一些原则适用于所有网站,但当你进入网络应用程序分类时,还需要考虑其他因素。例如,公司营销网站的目标与 MailChimp 之类的网站将截然不同。通常情况下,网络应用程序也会有与其关联的营销网站,有时没有。
网络应用程序基本上是将以前是桌面软件的东西放到网络上的概念。它使用 HTML、CSS、Javascript 和服务器端语言(如 PHP、Ruby、Python 等)进行软件设计。软件与投资组合网站绝对是不同的。
术语“交互式”前提有点模棱两可。下拉菜单不是本质上“交互式”的吗(它根据用户操作/事件显示信息)?这个评论表单怎么样?10 年前的所有 AJAX 内容?我敢说 Flash 吗?facebook.com 是网络应用程序吗(即使没有游戏)?
我真地认为这个词是一个流行词(就像“Web 3.0”)。我也倾向于同意 Matt G 的观点。我认为网络应用程序只是更自我吸收和封装的代码。话虽如此,我认为我们正在向非技术人员屈服。客户现在可以这样说:“我不关心语义……给我构建一个“应用程序”来显示我的“内容”。”
网络应用程序也被允许具有技术依赖性。换句话说,你可能无法看到任何内容,除非你具有:HTML5、canvas 支持、本地数据库等。对于网页,最糟糕的情况是,你可以通过实际关闭所有内容来获取基本内容,我们过去曾经遇到过诸如“内容优先”vs“导航优先”以及内容和样式分离之类的难题。网络应用程序是全有或全无的。
网络应用程序是网络应用程序,网站是网站。没有理由为什么网站不能使用网络应用程序来让用户更广泛地与他们的网站进行交互。所以基本上没有明确的界限,但为什么需要界限呢?首先,网络应用程序的整个理念是它可以在网站上使用。
以下是我对这件事的全部看法。对我来说,这种区别很快变得非常模糊。
网络应用程序:主要内容由**用户**进行 CRUD 操作。
网站:主要内容由**访问者**进行 R 操作。
使用“用户”和“访问者”是有意为之的。
评论、地图、订购系统只是主要内容的副产品。
这里就开始变得模糊了
但评论对 Disqus、LiveFyre 等来说是一个网络应用程序。
地图对谷歌、雅虎/必应等来说是一个网络应用程序。
在订购系统中,你所订购的主要内容是由网站所有者创建的。所以对我来说,订购系统是一个副产品。
你将它们放置在你的网站页面上,并不意味着整个网站或这些特定页面就变成了网络应用程序。
对我来说,网络应用程序更像是从桌面中越狱的桌面应用程序。
简单来说,任何让你创建自己数据的网站,都应该被视为网络应用程序,而那些你必须从那里获取数据的网站,就是网站。
例如:CNN 是一个网站,但 Chimply 是一个网络应用程序。
我认为每个网站都是一个网络应用程序
网络应用程序就像一个类别,包括
– 显示数据(信息)的网站
– 仅为你(自定义)更改/输出数据(信息)的网站
但无论如何,我认为没有必要完美地讨论它
绝对是一个频谱 - 就像你们中的许多人所说的那样。
我认为我们都同意,像 Gmail、Facebook 或 GoDaddy 这样的功能丰富且复杂的网站属于网络应用程序一端,而像“Bob's Restaurant”这样的简单且仅显示信息的网站属于网站一端。
介于两者之间的所有内容都被归类为向特定受众传达特定内容所必需的。
我还要说,所有内容隐含地都是网站,直到明确地被称为应用程序。
对于** .NET 开发人员**来说,这种区别是技术性的,而且非常黑白分明。
有点模糊 :), 虽然我几年前才进入这个领域,但我可以说肯定没有区别。
虽然区分两者有点无意义,但语义很有趣。我这样看待它:网站的目的是传播信息,而网络应用程序的目的是执行任务。网站可以比作广告牌,而网络应用程序可以比作支撑广告牌的系统。但最终,如今几乎所有网络属性都是两者的结合,所以讨论起来有点模棱两可。
我不会说(有点)无意义。
是有意义的。而且很重要:向客户解释为什么他们要为定制的网络应用程序支付数倍的费用。
我们必须区分两者,即使它很困难/模糊。
网络应用程序比普通网站拥有更复杂的后端。
(还有更多。)
因此(大多数情况下)网络应用程序需要比网站更多的时间来设计、规划和构建。即使包含现成的网络应用程序组件。
当您需要向客户解释为什么他们的网络应用程序比您为他们设计的网站贵得多时,这些只是需要考虑的两个要点。
黑白之间有界线吗?
有……很大而且是灰色的。
客户为网络应用程序支付双倍的费用。所以我只做网络应用程序。
恕我直言,这与数据有关。如果该网站保存/存储/更改您的数据,那么它就是应用程序。如果您只是阅读(甚至互动),那么它就是网站。
您也会阅读(并与)网络应用程序互动。
是的,但您不会在网站上保存/存储/更改数据。
为了记录,我同意这里大多数人的观点,我们是在争论语义。但如果我被要求定义区别,我会说它是数据操作。
我认为这与数据操作无关。从技术上讲,即使在浏览器中设置和获取 cookie 数据也是数据操作,而这已经存在很长时间了。在 90 年代后期和 2000 年代初期,有一些网站进行了一些相当繁重的数据操作(CRUD),但它们不是网络应用程序。对我来说,网络应用程序都是关于客户端体验的,与后端无关(实际上,从技术上讲,您可以拥有没有动态后端的网络应用程序,只有本地存储、离线应用程序清单等)。
@Michael Chang
不是用户/访问者,而是网站/应用程序所有者。
你把“Web”从“Web App”中删除了。
@Robert
按照这种逻辑,没有用户自己设置数据(意味着没有用户自己发出 SQL 来进行 CRUD)。以一个按钮为例,当单击该按钮时,会设置网站的配色方案(浅色/深色)。我可以单击它,让一些 JS 将首选项设置在 cookie 中。是的,应用程序所有者编写了代码,但用户调用了它。
我不这么认为。离线网络应用程序不再是网络应用程序了吗?网络应用程序或网站不必有很多来回的 HTTP 请求才能被称为应用程序或网站。就我而言,它与 HTML 和能够呈现该 HTML 的用户代理有关。HTTP 仅仅是促进 HTML 传输的一种方式;它不是必需的。
@Michael Chang 但对我来说,要将一个应用程序称为网络应用程序,用户必须**创建**数据。
对我来说,设置 cookie 或更改任何颜色与网络应用程序无关。
(此外,颜色最有可能由网站所有者预先确定,以保护网站或应用程序的设计。 cookie 收集的数据也是如此。您无法确定存储的内容,也无法创建它。
使用网络应用程序,用户创建/维护内容。
能够离线提供所有功能的应用程序不是网络应用程序(即使它允许您稍后上传/部署您离线创建/更改的数据/作品)。然后它只是一个具有 Web 界面的典型桌面应用程序。就像具有 DVC/FTP 的典型 IDE。(是的,有一些作为真正的 Web 应用程序实现的 IDE。但如果是这样,那就是:没有 Web,就没有 IDE。)
网络应用程序的一个特点是将业务逻辑和数据集中存储在在线,而不是分散存储在离线(在任何人的本地 HDD/SSD 上)。
我们可能永远不会达成一致。我们是否达成一致也不重要。和平吧,伙计。
区分两者没有用,但在我的眼中,网站是“普通”网站,您点击、等待,然后发生了一些事情,而网络应用程序是使用 AJAX 的网站,所有操作都通过 JS 完成。
虽然第一个也应该工作,但当 JS 关闭时,第二个就无法工作了。在第二个中,我还看到了可访问性问题。如今越来越多的客户可能会要求网络应用程序,但选择是普通网站。它可能没有那么响应和“华丽”,但它可以在更多设备上工作。
对我来说,与网站相比,网络应用程序就像使用客户端-服务器模型的桌面应用程序。此外,网络应用程序通常是一个私人空间(从某种意义上说,必须进行身份验证才能访问它),通常可以由用户自定义或个性化。网络应用程序与网站的区别在于它抛弃了“页面”的概念;网络应用程序中与“页面”最接近的东西可能被称为“视图”。为什么这样?因为在网络应用程序中,DOM 从未重新加载。相反,视窗内某些元素会根据上下文进行替换。网络应用程序,至少在 2013 年,更积极地使用现代或前沿技术(CSS3、HTML5 和其他可能尚未有规范的其他技术)。
举个例子:我目前正在编写一个电子商务引擎。该引擎同时提供管理端和公共端。私有的管理端是一个网络应用程序。它完全由 AJAX 驱动(并且最终可能会使用 WebSockets)。它看起来和感觉起来都像一个桌面应用程序,它从一开始就被设计成这样。公共端,即客户购物的地方,主要是借鉴了网络应用程序某些概念的网站。它借鉴得太少,无法被称为网络应用程序。
好吧,最后试一次:网站就像办公室里的一块软木板,上面张贴着公告、拼车信息、失物招领等内容,供所有人查看和回复。而每个私人办公室就像您登录网络应用程序时经常遇到的自定义个人空间。
从许多角度来看,都可以进行这种比较。我提供了一些,但每个人都有自己的观点。
一些网络应用程序示例:Basecamp、Google Docs、iCloud.com、基于 HTML 的收银系统、基于 HTML 的医疗保健/电子病历系统。
我认为网络应用程序是一种**类型**的网站。交互性并不是什么新事物。我的意思是,即使是早期的 Flash 也提供了一些超出大多数其他网站的交互性水平。
所以我会说浏览器中的任何东西都是网站,而设计为软件功能的网站就是网络应用程序。
而下载到移动设备上的软件应用程序就是应用程序。
我绝对认为网络应用程序越来越标准化。也许有一天,所有网站都将是网络应用程序。
我认为网络应用程序的概念源于网络服务,并且在某种程度上,它被试图保护自己技能并保持相关性的某人给模糊了!
网络应用程序应该提供特定的服务或数据集,比如天气流,而网站提供更多信息……就像网站是百科全书,而网络应用程序是其中的一章或条目……所以网站可以包含网络应用程序,但没有理由将简历做成一个自包含的“应用程序”,它只检索静态信息来成为应用程序。
简短的答案是“当然”。
“是的。它们是不同的东西,有不同的关注点。
不。这一切都只是网络。”
我们最终讨论的不是营销吗?
在我看来,真正的问题是工具的最终异构性:如果开发人员难以定义,那么对于任何外部人员来说又如何呢?
总结一下……iOS/Android 应用程序更适合于营销,仅仅因为环境是定义好的。
网站 - 不一定需要任何人的互动。在大多数情况下,网站用于数据、内容信息的消费和传播。交互是单向的 - 从网站到消费者。模糊的地方是在网站上引用网络应用程序。当一个为消费而构建的网站也包含一个需要消费者互动的附加元素时;嵌入到网站中的那个小部分就是应用程序,因此被称为网络应用程序。
如今,整个网络区域(缺乏更好的术语)都致力于应用程序、应用程序与消费者之间的交互以及反之亦然。我们使用与普通网站相同的协议访问这些网络区域的能力,导致两者之间更加混淆。如果我使用 https://www 访问 yahoo.com,使用 https://www 访问 yahoo 邮件应用程序,对于消费者来说有什么区别呢?一个是内容传播的方向,另一个则要求我执行某些操作以获得期望的结果,即输入某些内容。
如果整个网站的重点是获得消费者的互动,例如登录、添加内容、收集数据或通过输入接收数据结果,那么无论您如何访问,整个网站都被视为 Web 应用程序。
我认为它们之所以不同,仅仅是因为这一个原因。现在的问题是,对于行业专业人士来说,他们天生就了解两者之间的区别,那么我们如何才能使这些区别更加明确,以便减少或消除混淆呢?
如果它需要一个错误跟踪器,它就是一个 Web 应用程序。如果不需要,它就是一个网站。