代码之家  ›  专栏  ›  技术社区  ›  Ben

使用Flash构建Web用户界面是个好主意吗?

  •  5
  • Ben  · 技术社区  · 16 年前

    我工作的公司有一个基于Web的用户界面,付费客户登录以获取数据和控制机制。

    我们计划发布一个全新版本的界面,我们正在考虑的一个选择是是否在flash中构建它。

    使用flash的理由是,它将使我们能够构建一个真正创新、引人入胜的界面。

    我担心的是:

    1. 目前没有一个开发人员对Flash有太多了解。
    2. 在我看来,这会使维护系统更加困难(当前的化身是使用php/html/javascript/ajax构建的)。
    3. 我对flash的了解不够,无法估计它对初始开发或维护会有什么影响。
    4. 我担心它会恶化用户体验——一方面,下载时间变慢,而且对于没有安装Flash的人来说根本不起作用。
    5. 感觉像是杀戮过度。我们想展示一些漂亮的图表,我认为我们应该使用类似于融合图表的东西来构建这些图表,但否则它将对文本和图形相当直接。感觉我们为了比萨而添加比萨是有危险的,因为我们可以。

    有人对此有什么想法吗?我不是在问公共网站,但flash是一个在线用户界面的好主意吗?

    顺便说一下,我对flash知之甚少,所以如果我在这里做了任何非常错误的假设,我会道歉的!

    15 回复  |  直到 14 年前
        1
  •  11
  •   Jason    16 年前

    你只需要在flash中创建一个管理工具,就会给自己造成巨大的伤害。正如你所说的,这将是完全多余的。你很快就会把头发拔出来(特别是如果你的开发者对flash一无所知),而且仅仅是为了让它看起来“花哨”。而且,如果你的开发者不擅长flash,你就有可能制造出一个俗气的用户界面,制造出一个有缺陷的用户界面,并且在学习如何使用时间线等方面过于预算。flash在小剂量下非常好,而且可能适用于有很多浏览者的大预算网站(参见nike),但是如果你只是在构建一个管理工具,那么就坚持使用php/.net/whatever和good ol'html/css。

        2
  •  6
  •   Community Mohan Dere    9 年前

    以我的经验,用闪光灯是可以的 在内部 一个网站,比如显示漂亮的融合图表(如你所说),但用flash编写的整个网站往往很糟糕。更多:

    What is so evil about a Flash based website? What are the (technical) pros and cons of Flash vs AJAX/JS?

    另外,附议到目前为止发布的其他答案(特别是@matt、@james、@zoidberg和@jason)。

        3
  •  4
  •   Christian Oudard    16 年前

    请不要用闪光灯。

    如果你想创造一个“创新的,吸引人的界面”,最好的工具是HTML、CSS和jQuery。您可以制作一些非常好、非常可用的界面,这些界面易于维护和访问。

    这里有一些可用性的想法需要考虑:

    • 如果你需要一些眼糖,试试jquery ui。您可以获得可拖动的窗口、动画过渡和其他整洁的效果。这其中的一小部分有很长的路要走。
    • 使用自动完成框加速从大数据集中选择
    • 在服务器端生成复杂的图表和图形,并使用Ajax加载它们。如果可能,预先计算它们以提高响应时间。
        4
  •  4
  •   Rajat    16 年前

    我相信你会读到这个的 http://www.joelonsoftware.com/articles/fog0000000069.html

    当程序员对这项技术还不熟悉时,为什么还要重写整个代码呢? 在我看来,技术只是一种媒介,你如何使用它更为重要,而“你如何使用它”,只有当你对它有很好的经验时,你才会知道。

    至于使用图表,您可以很容易地使用带有或不带Flash的FusionCharts。我刚在我们的一个产品中使用了它们。它非常直接地用于XML(我不知道Flash)。

        5
  •  3
  •   Evernoob    16 年前

    如果你不介意糟糕的搜索引擎优化。我想说,如果开发人员对flash不太了解,也不知道它的含义,那么就避开它,除非你是出于实际和合法的原因而使用它。

        6
  •  3
  •   Matt    16 年前

    flash需要一个插件,对吗?它驱使着我 疯子 当我得到“单击此处安装X以查看页面上的内容”或“此页面正在尝试运行X是否允许它”。

    您能让您的客户使用为内容正确设置的现代浏览器吗?

    就我个人而言,我会使用服务器端和/或在默认浏览器中工作的东西。

        7
  •  2
  •   Zoidberg    16 年前

    我会坚持你所知道的。使用HTML、CSS和一个可靠的JavaScript框架/库(其中有很多),仍然可以使事情变得非常华丽。

    如果你必须用基于flash的技术,我会使用flex over flash。对于开发人员来说,flex实际上是非常有用的知识,并且考虑到它的开发人员的目标,学习它不应该是一个大问题。

        8
  •  2
  •   DanSingerman    16 年前

    除非有一个非常明确的理由使用flash(这听起来不像有),否则不要这样做。尤其是如果你和你的团队不知道。

    如果Flash用户界面有任何好处的话,那么它们在互联网上的数量就会激增;实际上没有那么多。

        9
  •  2
  •   KJ Saxena    16 年前

    就我个人而言,我对Flash有过不好的体验。几年前,我们几乎为我们所有的网站制作了flash接口(没有什么比flash更能为您的工作增添光彩)。然而,随着时间的推移,我们意识到作为开发人员和设计师,Flash对我们来说很酷——我们的大多数用户在几次访问中都会对炫目感到厌烦——此时,炫目只会降低界面的可用性。再加上下载速度慢,用户在浏览网页之前必须经历插件安装过程,我们决定支持javascript/jquery。

        10
  •  2
  •   Jay    16 年前

    我对flash一无所知——我来这个问题是想了解一点——但我被你关于“为它添加比萨,因为我们可以”的评论打动了。我认为很多Web开发人员都犯了这两个错误,(a)仅仅为了批萨而添加批萨;和(b)做一些复杂或花哨的事情,因为这样做很有趣,而不是因为它有一个有用的目的。

    嗯,很多网站太花哨了。他们有各种各样的动画和复杂的界面,只会让网站变得分心,难以阅读,也很难理解如何使用。就我个人而言,我更喜欢一个简单、干净的网站,向我展示我想知道的东西。例如,当我访问我的银行网站时,我想查看我的余额以及哪些支票已结清。我不想看到一个复杂的关于银行的动画和酷的舞蹈图形。这些事情只会使我的注意力从我想看到的东西上转移开。

    几年前,我为当时的一个组织建立了一个网站,他们的一名官员说,他希望网站更华丽。首先,他说,主页应该有一个视频,自动启动各种华丽的图形,一个旋转的三维标志,淡入建筑物的图片等。为了证明他在想什么,他去了电脑,并提出了一个网站,有一个奇幻的视频像那样。他让它播放几秒钟,然后关闭浏览器窗口,将其杀死。”“等等,”我说,“你为什么停下来?”“嗯,”他回答,“这是他们公司的许多广告。我不想看整个视频。“没错,”我说。我们的客人也不会来。”

    也许其他人和我不同。也许他们真的会认为,如果在屏幕顶部有一个动画标志,改变背景颜色等等,你的网站会更好。我想知道是否有人对此做过研究。拥有大量复杂图形的网站比那些只清楚地展示其信息的网站吸引更多的访问者吗?嗯,我认为用相同的信息创建两个网站会很有趣,但是一个只是纯文本,强调格式以获得最大的可读性,而另一个则有各种动画和漂亮的颜色等等,看看哪一个能吸引更多的访问者。

        11
  •  1
  •   James    16 年前

    Flash更适合呈现音频/视频内容。如果您正在设计一个用户界面,您可以使用CSS和Ajax创建一些视觉上吸引人的效果,这两者都有很长的路要走。

    而且,使用原始方法调试和部署快速修复程序要容易得多。

        12
  •  1
  •   Zac    16 年前

    这要看情况而定。

    几年前,我在一个长达一年的项目中担任技术负责人,负责创建一个“构建者”网站,允许客户配置和部署自己的交互式网站。作为一家以市场营销为导向的公司,除了Perl开发人员外,我们还有大量熟练的Flash开发人员,这些开发人员完成了更多的低劣和肮脏的编程工作。客户机将在其中进行初始配置和部署其网站(选择那里、颜色等)的工具是flash/flex,我认为这是正确的选择。使用Ajax拥有这样丰富、令人信服的经验是非常困难的,它与我们的Perl/Java后端之间的交互非常受限于资产检索、基于JSON的HTTP请求,并最终为站点发布基于XML的配置文件。也就是说,我们使用现有的flash开发者来完成这项工作,在许多情况下,我们将他们扩展到他们的舒适区之外,因为应用程序的复杂性对于flash应用程序来说是不典型的(至少在当时)。这在进度和所生成代码的质量方面产生了大量的影响。

    一旦部署了用户的站点,用户就可以登录到“数据库”,该数据库允许他们查看和下载人口统计数据,以及各种报告/图表等。最初我们在JSP/AJAX等中编写了这些数据,但最终迁移到了基于flash/flex的框架中。在这种情况下,我认为这是一个糟糕的选择。它确实让它看起来更光滑,但最终却变得更重,维护起来也很麻烦。我认为我们通过转移它所取得的很多成果都可以用jquery之类的东西来完成。

    你上面提到的大多数缺点,我认为都是我们项目中证明的非常有效的问题。基于flash/flex的数据库确实需要更长的时间来下载,它往往更难维护,我不知道它添加的批萨最终真的“值得”。

    我犯的一个错误是,我主要把flash工作委托给flash程序员,而我的监督不足。那些倾向于在flash中拥有技能的人往往没有那么严格的CS背景(并非总是这样),因此缺乏同样的估算技能和逻辑思维过程,而这些技能和逻辑思维过程需要更复杂的编码和解析逻辑。我做的最好的事情是让一个Perl开发人员学习flex,并将他添加到flash团队中,这使团队所做的工作更加严格(包括查看flexUnit等thign)。

        13
  •  1
  •   Ashish Chaurasia    16 年前

    当然,它很可能是杀伤力过大,复杂,搜索引擎优化效果差等和一个pita,但你可以一直做一个快速的试运行,也许只是为了向公司决策者证明这一点!

        14
  •  1
  •   Craig Avenue    16 年前

    我认为这完全取决于你想传达什么样的形象。例如,flash非常适合高端电子游戏网站,在那里你可以登录、查看屏幕截图、视频、统计和更改一些管理帐户设置。但是,如果是为了检查信息,或者登录查看Word文档和PDF文件,可能有点太多了——部分原因是闪存在RAM中运行得很热,原始计算速度非常慢,而且要用任何类型的媒体进行补充,SWF(编译的ActionScript文件)可能会变得很大!-根据你的目标观众,你可能不想相信你的观众有一台“顶级电脑”和快速互联网。

    此外,安全性也是重要的,请务必永远不要依赖Flash来做任何重要的事情,或者不需要通过外部语言检查,例如像PHP、Java、ASP等的服务器端语言。闪存文件可以很容易地被分离出来,它们可以以纯文本的形式看到 几乎 正是你输入的。

    谷歌和其他大的搜索引擎现在都声称他们正在为Flash网站中的文本编制索引,我个人称之为BS…因此,对于SWF嵌入式文件来说,SOE是不存在的。


    但值得赞扬的是,

    ActionScript作为一种语言非常容易理解

    而且flash的渗透率超过75%。( 上次我检查的时候 )如果有人可以观看YouTube视频,他们可以查看你的网站。

    显示正确 (大多数时候) 无论是浏览器还是操作系统…在许多其他的网络语言中很难找到。

    它看起来真的很不错,可以播放大量的动画和媒体,而且具有很高的交互性。

    -希望这有帮助!祝你好运!

        15
  •  0
  •   Amarghosh    16 年前

    正如很多人已经指出的那样,如果你真的必须使用闪光灯的话,不要使用闪光灯。而仅仅因为对开发人员友好而使用flex也不好,因为flex SWF更大,因此下载速度较慢。