|
|
1
12
让我们假设开发/部署/维护工作/成本相等,然后从应用程序用户的角度来看: 用户会发现哪个ui更有用? 依据
我明白“有用”是主观的。我个人不会再使用(作为一个用户,而不是开发人员)一个网络界面,如果我可以逃脱它。我 憎恨 他们。 有些应用程序开发为基于浏览器的应用程序是没有意义的。 从发展的角度看
有很多,很多独立的gui应用程序都很糟糕,没有争论。多平台gui的开发/部署和维护是非常重要的。 开发好的用户界面是很困难的。 事实上,在过去的10年里,我一直以开发大多数基于web的应用程序为生,因为它们的开发速度更快,部署更容易,并且提供了足够的实用程序,人们可以在必要时使用它们。 我不相信如果有其他选择,大多数用户都会使用web界面。 IMNSHO |
|
|
2
10
基于浏览器的明显优势:
对于基于图形用户界面:
也可以看我的评论 this question :
我刚才的另一个想法是:你还需要考虑你的应用程序处理的数据类型、数据的存储位置以及用户对此的感受。显然,人们可以将他们的facebook个人资料存储在web服务器上,但如果你正在编写myob这样的财务应用程序,并且你想将他们的所有个人财务信息存储在你的服务器上,他们可能会有不同的感受。您也许可以让它正常工作,但是实现所需的安全性和确保用户库的数据是安全的需要付出很大的努力。在这种情况下,如果您使用本机gui应用程序,您可能会认为总体工作量较低。 |
|
|
3
4
当谈到使用用户输入表单的简单数据输入时,我认为使用基于浏览器的解决方案可能会更容易和更快地开发。 除非你的核心功能是接口本身(“ 如果它是一个核心业务功能——不管怎样,你自己做吧。 “见 In Defense of Not-Invented-Here Syndrome 从 Joel on Software ,我觉得浏览器能够更好地执行表单呈现和处理,而不是从头开始开发一个gui。另外,更不用说编写一个gui要花更长的时间,而不是生成html表单并在浏览器发布后进行处理。 我过去发现,一个朋友让我写一份申请,输入一项调查的结果。一开始,我编写了一个java applet来显示带有所有单选框的调查本身,这时我突然想到,最好编写一个简单的http服务器来生成表单并对其进行处理。 真正的问题在于你是否正在发展:
如果您正在制作一个数据输入应用程序,那么将用户界面留给浏览器,并专注于您的核心功能。 |
|
|
4
3
基于浏览器的界面的优点:
基于图形用户界面的好处:
|
|
|
5
2
有相当好的证据表明,在大多数情况下,王牌问题是可部署性和可保障性。一般来说,浏览器应用程序开销较低;实现和支持超过几十个用户可能会消耗大量的支持资源。 一两年前我看到一张桌子,上面写着:
|
|
|
6
2
对于此任务(基于表单的文本输入),浏览器非常好。你不需要任何桌面应用程序能给你的东西(速度,灵活性) 作为一个web应用程序有一些退步,比如.. 这是一个网页。有些事你就是做不到 您不能轻松地映射ctrl+j键来执行某些操作。例如:google电子表格试图映射键盘快捷键并工作 最 有时,浏览器默认的快捷方式处理方式会取代。 不能发出咆哮警报(OSX通知框架)。您无法访问文件系统。脱机时很难允许访问。 javascript非常占用cpu。 尝试调整google电子表格文档的大小,或者在digg(一个非常重javascript的站点)上加载一个页面-浏览器的cpu使用率将在一段时间内保持100%。在本机桌面应用程序中执行同样的操作很简单 当您执行升级时, 力 所有用户都有。 对于桌面应用程序,他们可以选择不升级。例如,我不喜欢其中一个谷歌阅读器升级,但我被卡住了。使用NeNeWiWWORD(桌面应用程序),如果我不喜欢最新版本的更改,我可以很容易地继续使用这个版本(或尝试和降级)。 你的网络服务器 必须 随时都可以接近,永远 如果服务器消失,您的用户就没有追索权。申请书不见了。如果停了10分钟,他们就不能用了。 对于你的申请,虽然我不太确定它是什么,但上面这些似乎都不是问题。
“这是一个网页”
:表单和对话框在HTML和JavaScript中很容易实现(甚至可以使用服务器端脚本,例如
“javascript非常占用cpu” :听起来您的应用程序不需要任何javascript(当用户单击“提交”时,可能需要一些客户端输入验证,以警告他们任何输入错误?) “强制升级” :我认为这可能是可取的,因为您不希望用户以旧方式输入数据。 “服务器必须可访问” :可能是个问题,但我不认为会是个大问题。假设您想将所有用户的数据存储在一个中央数据库中,这个问题无论如何都是不可避免的-保持web和数据库服务器的运行并不仅仅是一个数据库的工作(对于gui来说) 另外,你也得到了其他人发布的好处——你开发了一次,并且它运行在每一个可以运行理智浏览器的操作系统上。 |
|
7
1
我讨厌基于web的ui的一个原因是它们运行在另一个窗口中。也就是说,你有一些控件——可能有几十个——与你的应用程序无关。从可用性的角度来看,这可能会让人困惑,尽管我们大多数人已经通过“排除”额外的东西来适应。 当我看我的浏览器窗口时,我输入这个,窗口可能是12英寸高,但我输入的窗口可能只有3英寸。在这12英寸中,大概有整整两英寸被浏览器工具栏、标签、一排排书签和状态栏占据了,这些都与我正在交互的web应用无关。有很多浪费的空间(编辑窗口不像整个窗口那样宽,例如),填充了我不需要的东西,等等。一些最基本的控件(后退按钮,我在看着你)可以完全破坏设计很差的Web应用程序。 更不用说,如果我输入一个足够长的响应,我现在会得到两组滚动条。stackoverflow.com通过给我一个可调整大小的文本区域部分解决了这个问题,但我仍然需要与内部滚动条交互来滚动正在编辑的文本,然后上下滚动整个窗口以访问编辑窗口顶部或底部的应用程序控件。 总而言之,基于Web的应用程序无法与桌面应用程序的可用性相比较。对我来说,问题就变成了“你是对可用性更感兴趣,还是让你(作为开发人员)的生活更轻松”。 如果你想要可用性,可以直接使用桌面应用程序。如果你关心部署和支持一个Web应用程序是值得考虑的,但仍然有许多简单的方法来部署桌面应用程序,包括创建可以在运行时通过网络更新自己的应用程序。 |
|
|
8
0
浏览器可以随时随地访问Internet,并将其部署到服务器上。桌面应用程序必须部署到他们的计算机上,每台计算机都有自己的独特性,即使操作系统和版本相同。这会给你带来很多麻烦。 上网吧。 |
|
|
9
0
每件事都有优点和缺点,但是: 我还没有在localhost、intranet或internet上使用一个基于浏览器的应用程序,该应用程序使用起来感觉很好,响应速度很快,who的用户界面并没有受到html/js/css的严格限制。 注意:基于Flash和Java的UI是一个例外(但在某些方面更糟糕,我认为这不是你在这里所说的)。 |
|
|
10
0
我认为基于浏览器的用户界面概念将继续存在。没有什么比web本身更具可移植性了,而且只要你停留在体面的javascript库的边界之内……呈现就几乎是一样的。另外,由于渲染不是您的头疼,您可以更多地关注开发业务逻辑本身。 我完全赞成… |
|
|
11
0
富客户端gui通常会更快、更好地与用户习惯处理的外观和感觉集成——这不仅意味着铃声和口哨声,还意味着许多节省时间的功能,如键盘快捷键。 基于web的ui将更易于移植,因为它不将开发绑定到单个平台,而且如果应用程序在远程运行,则更容易在一致的环境(服务器)上更新和测试所有的ui(不包括gui…)。 但你应该明白,虽然所有这些都是伟大的,真正具有开创性的,但它也带来了一些严重的缺点。 不仅要在所有目标系统下调试应用程序,还要在每个目标系统上运行的每个浏览器下调试应用程序…别忘了同一个浏览器的许多版本可能会共存一段时间,而且每个浏览器的设置可能会运行不同的流行插件集(和版本),这使得它的行为有所不同,而且网络设置可能会由用户自定义。 如果应用程序是远程的,它会打开许多有趣的新问题,从不同的ISP开始,中间会出现不同的问题,或者由于服务器、用户的机器或中间的任何地方的网络问题而导致服务中断。 在网络服务质量低或价格不合理的国家,远程应用不是所有用户的选择;对于您来说,同样适用的是:只有在本国带宽合理且价格合理的情况下,才能开始提供这样的服务。 如果应用程序必须在用户的系统上做一些不平凡的事情,那么您很可能注定要创建大量依赖于平台的代码。 归根结底,现在这两种解决方案都有优点和缺点。 有些应用程序确实需要在富客户机模型下开发,有些应用程序确实需要在基于web的模式下开发。 两种选择都有好处,关键是清楚地知道什么方式最适合我们的开发/部署/支持战略,而且,我可能会补充说,追求一种或另一种方式是愚蠢的,好像这是当前时尚的决定性银弹。 |
|
|
12
0
我的解决办法是
这是通过艰苦的道路学到的东西。其中一个主要原因是,客户发现安装和管理基于浏览器的应用程序比基于gui的要容易得多,例如使用javawebstart意味着客户将需要最少的jre和他们喜欢的东西,而基于浏览器的只需要一个链接。 所有的决定都是你的!作为Java开发人员使用JavaFX和Swing可以解决这个问题。 |
|
Ish Mahajan · WebTransport的浏览器兼容性 1 年前 |
|
|
Václav Procházka · 动态创建获取和解析脚本的顺序 2 年前 |
|
|
jani · 检查安装了哪些浏览器,然后在其桌面上创建快捷方式 2 年前 |
|
|
Italy Zia · 我收到一个“拒绝执行来自的脚本”http://localhost:3000/js/dashboard/dashboard.js',因为其MIME类型('text/plain')不可执行 2 年前 |
|
|
kakakali · 为什么appendChild()会丢失一些子项? 2 年前 |
|
|
StuartN · 使用默认搜索引擎的HTML搜索链接 2 年前 |
|
|
Vindicated · 如何访问当前未连接到的URL的本地存储? 2 年前 |