创建交互式应用程序原型的最佳方法是什么?

2023-11-24

这个问题应该从一般的角度来解释,而不是仅仅针对网络应用程序或桌面应用程序。

我一直在寻找一种简单易用的方法来为 Web 应用程序创建交互式原型。我想使用一种技术,允许简单的 UI 创建,特别是在进一步迭代中重新创建和修改 UI。用模型数据填充 UI 应该非常简单。该技术可能需要简单的编程形式,例如指定从 UI 元素 A 到 UI 元素 B 的拖放行为。

我目前使用的工具之一是 Adob​​e Flex Builder。附带的 GUI 设计器非常好,到目前为止我已经掌握了一些 AS3 技能。问题在于向 UI 中添加数据。它总是导致我编写代码来检查和解析 XML 树结构,并主要调试原型的这一部分。太麻烦了!

许多人使用的另一个工具是 PowerPoint,它涉及一种非常麻烦的创建 GUI 的方法,即在单独的幻灯片中绘制交互的每个部分。决不!如果使用纸质原型,我会更快。其他(更好!)自由形式绘图工具也是此类别的一部分(我是一个快乐的重量级 inkscape 用户),但原型制作和模型显然不是它们的主要目的。 Viso 的 UI 模板调色板使其比绘图竞赛更好一些。

据我所知,快速原型制作的主要竞争对手是:

  • iRise
  • Axure
  • 瑟琳娜和其他?
  • Viso
  • Powerpoint、Illustrator、Inkscape 或任何其他自由形式的绘图工具
  • 纸质原型
  • 具有良好 GUI 构建器的 IDE(例如 Flex Builder Designer 和 Netbeans Matisse)

我的观点是,真正的 GUI 构建器是一个很好的起点。您目前的做法是什么?请概述您的流程以及优缺点作为此处的答案。


真正的 GUI 构建器是:

  • 慢得多
  • 只有程序员可以使用它们(尝试向分析师解释如何在 VB 中填充表格)
  • 他们不允许你即时注释你的模型
  • 没有皮肤(例如黑白)来创建不会被误认为“即将完成”应用程序的屏幕

虽然专门的模型工具通常是:

  • 沟通导向
  • 可以将您的模型(连同您的笔记)打印或导出为 PDF/HTML/Word 等
  • 更好的有一些“主屏幕”变体,因此您可以从少数主应用程序屏幕中获得数百个模型(当您尝试与客户讨论真实场景时,您很快就会得到相当多的模型)
  • 足够快,以便您可以在会议中实时制作原型

大约十年前,我对上述所有内容感到沮丧,并创建了自己的工具:样机屏幕。它很快就变得非常流行:-)

这是我所知道的此类专用工具的最完整列表。其中许多是免费的:http://c2.com/cgi/wiki?GuiPrototypingTools

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

创建交互式应用程序原型的最佳方法是什么? 的相关文章

  • 在 Pyinstaller、语音识别和 Pyttsx3 中使用“-w”时,PySimpleGUI 中出现“OSError:[WinError 6] 句柄无效”

    所以我用 PySimpleGUI 创建了一个程序 然后用 Pyinstaller 从它创建了 exe 文件 这是我的命令 pyinstaller hidden import pyttsx3 drivers hidden import pyt
  • Qt - QProcess 不工作

    我尝试启动 Internet Explorer 所以我使用下面的代码 QProcess process new QProcess this QString temp C Program Files Internet Explorer iex
  • 单击 R Shiny 中的按钮后将输入字段重置为 null

    我正在构建一个应用程序 用户可以在其中按列输入表的数据值 单击 添加 按钮后 输入的值将按列附加到现有值 例如 如果输入 col1 2 3 并单击 ADD 我们将在显示屏中看到 col1 2 3 如果输入 col2 4 7 并单击 ADD
  • 应如何在 WinForms GUI 控件和客户端类之间同步数据?

    什么方法被认为是保持 GUI 控件内的数据结构与应用程序维护的数据结构同步的 标准 例如 在 WinForms 中 如果创建一个 ListView 实例 而不是将其指向表示要出现在列表中的项目的数据结构 则必须以编程方式实例化 ListVi
  • 如何使用样式表删除 QWizard 中的水平线?

    我正在研究一个样式表QWizard我想删除按钮上方的水平线 我已经发布了一个最小的例子here https stackoverflow com q 52538669 8570451 这个问题是由scopchanov从最小的例子中解决的 但是
  • Flutter 容器的 onTap 方法

    一直在开发一个 flutter 应用程序并根据一些 Firebase 数据动态构建一些容器 我想知道是否有办法获得容器的 onTap 方法 或任何不是按钮的小部件 这是一个代码示例 child new Container INSERT ON
  • 更改显示的 DPI 缩放大小使 Qt 应用程序的字体大小渲染得更大

    我使用 Qt 创建了一些 GUI 应用程序 我的 GUI 应用程序包含按钮和单选按钮等控件 当我运行应用程序时 按钮内的按钮和字体看起来正常 当我将显示器的 DPI 缩放大小从 100 更改为 150 或 200 时 无论分辨率如何 控件的
  • Blackberry - 自动滚动垂直字段管理器

    如何以编程方式沿特定方向滚动屏幕而不改变焦点 例如 当我们向下滚动到 FaceBook 应用程序中的 Feed 时 它会自动滚动屏幕以适合屏幕中央的所有文本 这可以在 Blackberry Java 开发中完成吗 谢谢 阿夫扎尔 如果出现以
  • UI 函数在快速事件完成之前触发

    我有一个停靠在 Silverlight 应用程序中的 Web 浏览器框架 有时会在其上弹出全窗口 XAML Silverlight UI 元素 我已经或多或少修复了一个老问题 即 Web 框架的内容似乎与 Silverlight 内容不能很
  • Xamarin Forms:单击重新启动按钮时网格按钮 UI 中断

    我正在使用一个button在 的里面grid用于显示字母以实施Word search game 最初 用户界面看起来不错 但是当单击play again按钮 UI 中断 截屏 网格内设置按钮的代码 void SetGridLayout ch
  • R Shinydashboard 根据选项卡选择显示/隐藏 UI 元素

    如果有人可以提供帮助 我正在努力满足要求 我必须根据用户的选项卡面板选择在仪表板侧栏上显示 隐藏一些元素 这是 UI 代码的一部分 可让您了解我的应用程序的结构 我需要仅在 tabpPanel 2 上显示 Fourthoutput Fift
  • BlackBerry - 与 FieldManager 一起享受乐趣

    我正在尝试创建一个 View 类 根据它的创建方式提供水平或垂直布局 我正在使用委托来实现此目的 class View extends Manager private Manager mDelegate public View Manage
  • Java GUI,根据actionListener更改面板

    我在两个不同的面板中添加了两个按钮 如果单击第一个按钮 则需要转到下一个面板 其中包含第二个按钮 但是当我单击第一个按钮时 该按钮没有被替换 Java GUI import java awt event ActionEvent import
  • 给定背景颜色,如何获得使其在该背景颜色上可读的前景色?

    给定背景颜色 如何获得使其在该背景颜色上可读的前景色 我的意思是在程序中自动计算前景色 或者简化问题 如果前景色是从白色 黑色中选择的 那么在程序中如何进行选择呢 这是我用 Java 和 Javascript 做的一个 它是松散地基于thi
  • 缩放 JCheckBox 框

    我想扩展一个JCheckBox例如等于其设置文本的字体大小 例如当我增加Font大小复选框本身很小 但它应该随着文本而增长 或者我想自己设置框的大小 JCheckBox chckbxTest new JCheckBox Test chckb
  • UIPickerView - 对多行行使用自定义视图 - 需要布局建议

    我有一个 UIPickerView 它将为用户显示项目列表 我希望每个项目都显示为多行文本 每行使用不同的字体大小 一个粗略的模型如下所示 这将允许显示比默认 UIPickerView 的单行所能容纳的更多文本 bdesham 指出我在 U
  • 使用 pygtk3 将 GUI 窗口添加到 python opencv2 程序

    我已经使用Python和Opencv2完成了一个程序 现在 我想向我的程序添加一个 GUI 窗口 我对 PyGtk3 有一些经验 因此 我修改了代码以采用 PyGtk3 但是 我遇到了错误 因此 我尝试了一个简单的程序来找出实际的错误 我的
  • 将 Python 控制台集成到 GUI C++ 应用程序中

    I m going to add a python console widget into a C GUI below some other controls 许多类将暴露给 python 代码 包括一些对 GUI 的访问 也许我会考虑 P
  • 向 Thunderbird 添加多个附件(从命令行)

    我尝试通过命令行创建带有多个附件的新消息 但这不起作用 thunderbird compose attachment etc mtab attachment etc fstab 仅附加第一个文件 第二个失踪了 上面的命令行有什么问题 PS
  • GUI Java 程序 - 绘图程序

    我一直试图找出我的代码有什么问题 这个想法是创建一个小的 Paint 程序并具有红色 绿色 蓝色和透明按钮 我拥有我能想到的让它工作的一切 但无法弄清楚代码有什么问题 该程序打开 然后立即关闭 import java awt import

随机推荐

  • 如何从内容页访问母版页控件

    我有一个母版页 其中包含状态消息的标签 我需要设置不同 aspx 页面的状态文本 如何从内容页面完成此操作 public partial class Site System Web UI MasterPage public string S
  • PHP:5.2 中需要 json_encode() 5.3 功能

    长话短说 客户端的托管使用的是 php 5 2 5 我迫切需要使用 JSON FORCE OBJECT 选项json encode 5 3 附带的 有谁知道用于此目的的等效项吗 请指出来 在编码之前将其转换为对象在 5 2 5 上对我有用
  • Python 等价于 System('PAUSE')

    我一直在用 python 3 3 编写一个基本计算器 我希望能够在命令窗口中运行它 但当我读到最后时 在我有时间查看最终答案之前它就关闭了窗口 所以我想知道是否有一个相当于 c System PAUSE 命令来告诉它在用户准备好之前不要再继
  • 从另一个项目 ID 访问现有云 SQL 实例

    我已经在 PHP 项目中创建了一个云 sql 实例 并成功完成了计费过程 该项目有效 现在 我想从另一个项目访问我的数据库 但这次是在带有 servlet 的 Java SDK 项目中 使用中的示例https developers goog
  • scanf() 的宽度说明符 - 要使用的字符长度在编译时不固定,仅在运行时确定。如何使其可变?

    我想将字段宽度说明符应用于 scanf 操作来读取字符串 因为明确指定了要读取 使用的字符数 而不是使scanf 容易导致缓冲区溢出的操作 以及目的地参数指向已经匹配的char数组 其元素的大小正好相同 字段宽度的所需值必须为 1 0 这个
  • 如何将文本添加到 pygame 矩形中

    我已经在 pygame 中绘制了一个矩形 但是我需要能够将 Hello 之类的文本放入该矩形中 我怎样才能做到这一点 如果您也能解释一下 将不胜感激 谢谢 这是我的代码 import pygame import sys from pygam
  • 如何使用java生成像apache的htpasswd这样的哈希值

    我在 htpasswd 中使用 强制对密码进行 MD5 加密 来生成哈希 例如我得到的 123 使用 htpasswd 123 gt apr1 kaTbKaLO ewJXRZAKpjaxK4thy2jOp 使用 MD5 摘要 123 gt
  • 如何检查列表是否包含相同顺序的另一个列表

    C 中有没有简单的方法来检查列表是否包含另一个列表 这是一个例子 我有 var list1 new List
  • 虚拟/纯虚拟解释

    如果一个函数被定义为虚函数到底意味着什么 它与纯虚函数相同吗 From 维基百科的虚函数 在面向对象编程中 在 C 和 Object Pascal 等语言中 虚函数或虚方法是可继承且可重写的函数或方法 便于动态分派 这个概念是面向对象编程
  • JavaFX 的 Spinner 在空文本输入上引发 NullPointerException

    我有一个问题 可编辑的 JavaFX 8Spinner导致未捕获NullPointerException如果清除编辑器文本并提交 然后单击递增或递减按钮 这是j8u60 j8u77 如果运气好的话 递增 递减按钮将卡在按下状态 NPE 会继
  • 如何在 Xcode 4 中打开内存浏览器?

    在 Xcode 3 中调试程序时 我经常在单独的窗口中使用内存浏览器来查看缓冲区更改的内容 同时单步执行代码行 当我现在开始使用 Xcode 4 时 我想知道如何打开内存浏览器 我在用户界面中找不到类似的东西 有人可以提供帮助吗 调试时选择
  • Android 10 无法注册 Sensor.TYPE_STEP_COUNTER

    我目前正在开发一个应用程序来跟踪步骤 为了跟踪步骤 我使用手机的以下传感器 传感器 TYPE STEP COUNTER 这对于我测试过的所有设备都运行良好 最近我有机会在三星 S10 设备上测试该应用程序 但它不再跟踪步骤 而它在三星 S9
  • HTML5 视频:可以在视频上放置常规 html 内容

    只是想知道是否有人知道让常规 html 内容 主要是 img 标签 显示在视频顶部 通过 video 标签 的技巧 正如其他人所暗示的 将 HTML 元素放置在VIDEO使用绝对定位的元素 当您尝试在 iPhone iPod 和可能较旧的
  • 如何在 Visual Studio 中提取默认控件模板?

    我想知道如何使用 Visual Studio 提取 获取副本 给定控件的默认模板 我知道这可以使用 Expression Blend 来完成 右键单击控件 编辑模板 gt 编辑副本 然后将默认控件模板复制到我的 Xaml 中 但这可以用 V
  • POST 和 PUT 的不同模型要求

    假设我有一个控制器CatController包括 GET POST 和 PUT 操作 他们都使用相同的Cat资源可能如下所示 public class CatDto public int Id get set Required public
  • 为什么 hazelcast 的默认分区数为 271?选择分区数的参数是什么?

    我刚刚浏览了 hazelcast 文档 它表明数据跨所有节点进行分区 默认情况下在集群 271 中创建的分区数 哪些参数控制正确分区计数值的选择 为什么默认分区数是 271 271 是质数 给定任何键 Hazelcast 都会对键进行哈希处
  • Jenkins:开始构建时发送电子邮件通知

    在 Jenkins 中 有没有办法在开始构建时发送邮件 我知道有一个构建后电子邮件通知 它会在构建成功或失败后向给定收件人发送邮件 同样 我期待类似预构建通知之类的东西 还有一个条件电子邮件 例如 if username null 发送至
  • 我的智能手机每秒可以执行多少次 FFT? (用于执行语音识别)

    我正在探索语音识别和 DSP 因此我想在我的智能手机上实现一个简单的声音频率分析仪 我有一部 iPhone 和一部运行 Android 的三星 Nexus S 我以前在Matlab中做过基本的DSP 根据我的理解 我需要执行 FFT 来获取
  • 如何使用 UWP MarkupExtension 类?

    Fall Creators 更新 SDK 添加了标记扩展类 非常棒 https learn microsoft com en us uwp api windows ui xaml markup markupextension 所以我创建了一
  • 创建交互式应用程序原型的最佳方法是什么?

    这个问题应该从一般的角度来解释 而不是仅仅针对网络应用程序或桌面应用程序 我一直在寻找一种简单易用的方法来为 Web 应用程序创建交互式原型 我想使用一种技术 允许简单的 UI 创建 特别是在进一步迭代中重新创建和修改 UI 用模型数据填充