精华内容
下载资源
问答
  • 交互机制是什么
    千次阅读
    2021-06-11 15:16:16

    传统开发模式:

    一般传统上的开发协作模式有两种:

    一种是前端先写一个静态页面,写好后,让后端去套模板。静态页面可以本地开发,也无需考虑业务逻辑只需要实现View即可。不足是还需要后端套模板,这些前端代码后端需要浏览一遍,以免出错。

    另一种协作模式是,前端直接去写模板,这样做的问题在于,前端编写过程中很依赖与后端环境,如果当后端没写完的情况下,前端几乎没法干活。

    从传统到前后端分离:

    前后端分离意味着,前后端之间使用 JSON 来交流,两个开发团队之间使用 API 作为契约进行交互。从此,后台选用的技术栈不影响前台。当后台开发人员选择 Java 的时候,我可以不用 JSP 来编写前端页面,继续使用我的 React 又或者 Angular。而我使用 React 时,也不影响后台使用某一个框架。安卓和IOS app也可以使用 JSON 来和后端交流。

    前后端分离的核心:后台提供数据,前端负责显示

    整体流程

    一个用户打开一个网页,到看到一个网页,经历了什么流程?

    前端接收用户请求---》前端请求服务器---》后端接收前端请求---》后端找到负责处理的程序---》后端处理程序找到要传输给用户的前端页面---》后端将该前端页面留出位置---》后端到数据库取数据---》后端把数据放在前端留出来的位置上---》结合成真正用户看到的html文件---》传输给前端---》用户看到界面。

    1、前端请求数据URL由谁来写

    在开发中,URL主要是由后台来写好给前端。

    若后台在查询数据,需要借助查询条件才能查询到前端需要的数据时,这时后台会要求前端提供相关的查询参数(即URL请求的参数)。

    2、接口文档主要由谁来写

    接口文档主要由后台设计和修改。

    后台直接跟数据打交道,最清楚数据库里有什么数据,能返回什么数据。

    前端只是数据的被动接受者,只是接口文档的使用者。

    使用过程中,发现返回的数据部队,则跟后台商量,由后台修改。

    切记:前端不能随意更改接口文档,除非取得后台同意。

    3、前端与后台交互的数据格式

    主要是JSON,XML现在用的不多

    4、前端与后台的交互原理

    关注点:接口地址、前端请求的参数、后端返回的参数。

    调一下接口,看一下返回的数据。

    5、前端请求参数的形式

    GET和POST两种方式

    GET从指定的服务器中获取数据,POST提交数据给指定的服务器处理

    6、前端应该告知后台那些有效信息,后台才能返回前端想要的数据

    先将要展示的页面内容进行模块划分,将模块的内容提取出来,以及方便前端的一些标志值等,将所有想要的内容和逻辑告知后端

    后端从数据库里面去查询相应的数据表以获得相应的内容或者图片地址信息

    URL中的参数主要是根据后台需要,若后台需要一个参数作为查询的辅助条件,前端在URL数据请求时就传递参数

    7、前端如何把页面信息有效传达给后台,以及后台如何获取到这些数据

    所有前端请求的URL后面的参数都是辅助后台数据查询的

    若不需要参数,那后台就会直接给个URL给前端

    8、前端应该如何回拒一些本不属于自己做的一些功能需求或任务

    前端负责把数据展示在页面上

    清晰的认识自己需要做的需求和任务

    9、当前端在调用数据接口时,发现有些数据不是我们想要的,那么前端应该怎么办

    把请求的URL和返回的数据以及在页面的展示的情况给后台看【后台查询数据、取数据、封装数据方面等蛮难处理的】

    10、为什么需要在请求的时候传入参数

    后台在查询数据库的时候需要条件查询

    参考文档

    更多相关内容
  • chrome插件消息交互机制demo,popup与background以及content_scripts 之间的消息交互demo 详细解释http://blog.csdn.net/summerxiachen/article/details/78698878
  • #资源达人分享计划#
  • 独立场景的各种交互机制;各种交互机制 概念消歧 意图澄清 ;各种交互机制 概念消歧 意图澄清 下位展开 ;各种交互机制 概念消歧 意图澄清 下位展开 需求细化 ;各种交互机制 概念消歧 意图澄清 下位展开 需求细化 错误...
  • 分布式电源即插即用信息交互机制研究
  • 针对多处理器多核心信号处理系统程序交互机制复杂的问题,设计了一种基于主从模式的多处理器多核心程序交互机制。该机制将程序通信架构进行层级化设计,采用SRIO(Serial RapidIO)实现处理器间通信,通过核间中断...
  • 前后端交互详解(建议收藏)

    万次阅读 多人点赞 2020-03-09 18:03:57
    1.前后端认知 相信很多人心里都有一个疑惑:我⼀个前端, 为什么要学习后端?

    在这里插入图片描述

    1.前后端认知

    • 相信很多人心里都有一个疑惑:我⼀个前端, 为什么要学习后端?
      在这里插入图片描述

    • 那么到底什么是前端? 什么是后端? 什么是数据库?

    在这里插入图片描述

    1.1 基本组织架构

    • 我们是⼀个 前端开发⼯程师

    • 还有⼀个⼯作叫做后端开发⼯程师

    • 我们⼀个⽹站的组织架构基本上由下⾯的步骤完成

      ⽤户 => 前端 => 后端 => 数据库
      
    • 整个过程中:

       ⽤户向前端⼈员要⼀个⽹⻚
       前端⼈员准备⼀个⽹⻚给⽤户,但是⽹⻚中的数据是找后端⼈员要的
       后端⼈员接受到前端⼈员要数据以后,去数据库⾥⾯找到对应的数据,给
       到前端⼈员
       前端⼈员拿到数据以后渲染在⻚⾯上
       最后把这个⻚⾯给到⽤户看
      
    • ⽐如: 我们浏览⼀个新闻⽹站

       ⽤户输⼊⽹址
       前端⼈员就要把对应的⻚⾯给到⽤户,在⻚⾯打开的过程中,向后端⼈员索要新闻信息
       后端⼈员接收到前端⼈员索要新闻信息以后,就去数据库中找到对应的新闻信息数据给前端⼈员
       前端⼈员接收到后端⼈员给的新闻信息以后,使⽤我们的办法把新闻信息数据渲染在⻚⾯上
       ⻚⾯就打开了,⽤户就可以看到⼀个新闻⽹站了
      
    • ⽐如: ⽤户登陆⼀个⽹站

       当⽤户书写完表单内容以后,点击提交按钮的时候
       前端⼈员拿到⽤户填写的内容,把数据整合好传送给后端⼈员
       后端⼈员接收到数据以后,去数据库中进⾏⽐对,看看有没有对应的数据
       然后告诉前端⼈员,你给我的⽤户名和密码是否正确
       前端把信息反馈给客户看到
       如果正确那么就是跳转⻚⾯
       如果不正确提示⽤户名或者密码有问题,重新输入或者...
      

    2. 了解服务器

    2.1 什么是服务器?在这里插入图片描述其实说⽩了,服务器就是⼀个电脑,当他跑起来⼀些程序的时候,就变成了⼀个服务器,只不过会跑⼀些特殊的程序,需要⼀些特殊的环境,电脑不他⼀样⽽已
    换句话说,我们⾃⼰的电脑,跑⼀些特殊的程序的时候,也可以当作⼀个⼩型的服务器来⽤,只不过计算能⼒/存储能⼒/转存能⼒没有专业的服务器电脑厉害⽽已。

    2.2 服务器的作用
    在这里插入图片描述
    2.3 服务器是怎么访问的

    • ⽐如我们的经常访问的 www.baidu.com

    • 这个⾥⾯就包含很多的内容,我们看到的这个只是⼀个省略后的内容

    • 是浏览器帮我们省略掉了⼀些内容

    • 全部的地址应该是 https://www.baidu.com:443

    • 发现多了两个东⻄ https://和 :443

    • 其实⼀个简单的 url 地址是由三部分组成的

       传输协议
       域名
       端⼝号
      

    传输协议

    • 我们常⻅的传输协议是 http 和 https

    • 他们是限制⽤户和服务器之间交流传输数据的⽅式和规则

    • 也是前端和后端⼈员交互的规则

    • 规则

      建⽴连接通道
      相互通信
      关闭连接通道
      
    • 只不过 http 是⼀种常⻅协议,不是很安全

    • https 是⼀种加密传输协议

    域名

    • 之前我们说过,服务器就是⼀个在⽹络那⼀头的⼀个电脑
    • 以前,没有域名的概念,⼤家都是使⽤ IP 地址来访问
    • 也就是⽹络那⼀头的那个电脑的 IP 都是⼀堆数字,不⽅便记忆
    • 后来就有了⼀个万维⽹,他把每⼀个 IP 地址配套了⼀个英⽂的名字,⽅便⽤户记忆
    • 所以说,域名就代表着 ⽹络那⼀头 那个电脑的 IP 地址
    • 其实也就是我们要访问哪⼀个服务器

    端⼝号

    • ⼈家的服务器电脑也是有很多的⽂件夹的
    • 不同的⽂件夹⾥⾯存储着不同的内容
    • 可能有个a⽂件夹,⾥⾯存储的是⾸⻚
    • 可能有个b⽂件夹,⾥⾯存储的是⼀些数据
    • 所以说,你光找到服务器电脑还不⾏,还得找对⽂件夹才可以
    • ⼤家都把⽂件夹编上号存储了0 ~ 255,一共256 个
    • 每个⽂件夹⾥⾯还有对应的⼩⽂件夹0 ~ 255,一共256 个
    • 那么一共就有256 * 256 个⽂件夹,也就是从0~ 65535
    • 所以我们的端⼝号就有 65536 个,分别对应着0 ~ 65535
    • ⼤家都把80端⼝号作为⼀个⽹站的默认端⼝号
    • http协议默认是80端⼝号
    • https协议默认是443端⼝号

    百度

    • 那么现在,我们再回过头去看百度的完整 url 地址

    • https://www.baidu.com:443

        以⼀种加密传输协议来通讯
        访问的是⽹络上 IP 的值为 119.75.217.109 的那个电脑 
        访问的是第 443 号⽂件夹 
      
    • 这个⽂件夹⾥⾯存储着⼀个百度的⻚⾯

    • 我们就能看到这个⻚⾯了

    3. PHP

    • PHP :⼀⻔后端语⾔

    • 为什么要学习⼀个后端语⾔呢?

         ⽬前市场上的需求,要求前端⼈员掌握⼀个后端语⾔ 
         ⽅便和后端开发⼈员进⾏交互
      

    3.1 PHP基本语法

    • 我们⼀定要知道,php 是另⼀个语⾔了,不再是我们的 html /javascript了
    • 那么别的语⾔就要有⼈家语⾔的规则
    • 我们在写 javascript 的时候,是⼀个 .js ⽂件
    • 我们在写 html 的时候,是⼀个 .html ⽂件
    • php 的代码就要写在⼀个.php 后缀的⽂件中

    3.2 php⽂件的书写

    • 所有的 php 代码都要写在⼀个 php 的范围内
    • 要求以 <?php 开头
    • 要求以 ?> 结尾
    • 每⼀个语句后⾯都要有 ;
    <?php
    # php 的代码写在这⾥
    ?>
    

    定义变量

    • 在 php 中没有var关键字给我们定义变量
    • 直接使⽤$来确定⼀个变量
    <?php
    # 下⾯就是⼀个定义了⼀个变量,并且赋值为 100
    # 变量名就是 $num
     $num = 100;
     $boo = true;
    # 下⾯是⼀个字符串
     $str = "你好 php";
    ?>
    

    条件语句

    在 php 中使⽤条件语句和 js 基本⼀致

    <?php
    $boo = true;
    if ($boo) {
    echo '你好,欢迎观临!';
    } else {
    echo '您还没有登陆';
    } 
    ?>
    

    循环语句
    在 php 中循环语句和 js 基本⼀致

    <?php
    $num = 5;
    for ($i = 0; $i < $num; $i++) {
    echo 'hello php'; }
    ?>
    

    字符串拼接
    在 php 中,字符串拼接不再是使⽤ + 进⾏拼接了,⽽是使⽤. 进⾏拼接

    $str = 'hello ';
    $str2 = 'world';
    $str3 = $str . $str2;
    echo $str3;
    # 得到的就是 hello world
    

    数组
    在 php 中的数组和 js 中特别不⼀样

    <?php
    # 创建⼀个数组
     $arr = array(1, 2, 3);
     print_r($arr);
    # Array ( [0] => 1 [1] => 2 [2] => 3 )
    # 这个就类似于我们 js 中的数组,按照索引来的
    # 创建⼀个关联数组
     $arr2 = array('name' => 'Jack', 'age' => 18, 'gender' => '男')
     print_r($arr2)
    # Array ( [name] => Jack [age] => 18 [gender] => 男 )
    # 这个就类似于我们 js 中的 对象,键值对的形式
    ?>
    

    4. MySQL数据库

    在这里插入图片描述

    • mysql 是⼀个数据库的名字 和 php 合作的⽐较好的数据库

    • 之前我们说过⼀个问题,前端向后端索要数据,后端就是去数据库中查询数据,返回给前端

       MySQL 是最流⾏的关系型数据库管理系统(⾮关系型数据库简略介绍)
       关系数据库管理系统(Relational Database Management System)的特点
       数据以表格的形式出现
       每⾏为各种记录名称
       许多的⾏和列组成⼀张表单
       若⼲的表单组成database
       主键:主键是唯⼀的。⼀个数据表中只能包含⼀个主键。你可以使⽤主键来查询数据。
      

    4.1 数据库的数据类型

    * 数值类型
    | 类型 | ⼤⼩ | ⽤途 |
    | ------ | ------ | ------ |
    | TINYINT | 1 字节 | ⼩整数值 |
    | SMALLINT | 2 字节 | ⼤整数值 |
    | MEDIUMINT | 3 字节 | ⼤整数值 |
    | INT或INTEGER | 4 字节 | ⼤整数值 |
    | BIGINT | 8 字节 | 极⼤整数值 |
    | FLOAT | 4 字节 | 单精度 浮点数值 |
    | DOUBLE | 8 字节 | 双精度 浮点数值 |
    | DECIMAL | | ⼩数值 |
    * ⽇期和时间类型
    | 类型 | 格式 | ⽤途 |
    | ------ | ------ | ------ |
    | DATE | YYYY-MM-DD | ⽇期值 |
    | TIME | HH:MM:SS | 时间值或持续时间 |
    | YEAR | YYYY | 年份值 |
    | DATETIME | YYYY-MM-DD HH:MM:SS | 混合⽇期和时间值 |
    | TIMESTAMP | YYYYMMDD HHMMSS | 时间戳 |
    * 字符串类型
    | 类型 | ⼤⼩ | ⽤途 |
    | ------ | ------ | ------ |
    | CHAR | 0-255字节 | 定⻓字符串 |
    | VARCHAR | 0-65535 字节 | 变⻓字符串 |
    | TINYBLOB | 0-255字节 | 不超过 255 个字符的⼆进制字符串 |
    | TINYTEXT | 0-255字节 | 短⽂本字符串 |
    | BLOB | 0-65 535字节 | ⼆进制形式的⻓⽂本数据 |
    | TEXT | 0-65 535字节 | ⻓⽂本数据 |
    | MEDIUMBLOB | 0-16 777 215字节 | ⼆进制形式的中等⻓度⽂本数据 |
    | MEDIUMTEXT | 0-16 777 215字节 | 中等⻓度⽂本数据 |
    | LONGBLOB | 0-4 294 967 295字节 | ⼆进制形式的极⼤⽂本数据 |
    | LONGTEXT | 0-4 294 967 295字节 | 极⼤⽂本数据 |
    

    4.2 操作数据库

    • 使⽤ php 操作数据库的步骤

      1. 和数据库建⽴链接
      2. 使⽤ sql 语句对数据库进⾏操作
      3. 获取结果
      4. 和数据库的链接断开

    1.和数据库建⽴链接

    • 在 php 中我们使⽤ mysql_connect() ⽅法来建⽴和数据库的链接
    <?php
    # 下⾯就是建⽴链接,$link 会得到⼀个链接信息
    # $link = mysql_connect('ip地址', '数据库⽤户名', '数据库密码'); 
    ?>
    

    我们有了链接信息$link以后就可以继续去操作数据库了

    2.确定操作哪个库

    • 刚才是和数据库建⽴了链接,我们还要确定操作哪个库
    <?php
    # 下⾯就是确定你要操作哪个库
    # mysql_select_db('你要操作的库的名称', $link);
    ?>
    

    3.执⾏ sql 语句操作数据库

    <?php
    # 下⾯就是使⽤ sql 语句对数据库进⾏操作
    # $res = mysql_query('你要执⾏的 sql 语句'); 
    ?>
    

    这⾥有⼀个注意的点:
    我们拿到的结果是⼀个我们看不懂的处理信息
    需要使⽤ mysql_fetch_row || mysql_fetch_assoc 解析⼀下结果才能看
    得懂

    4.关闭链接

    • 全部⽤完以后我们最好是关闭⼀下数据库链接
    <?php
    # mysql_close($conn);
    ?>
    

    完整步骤
    我们完整的写⼀下操作的步骤

    <?php
     $link = mysql_connect('localhost', 'root', 'root');
     mysql_select_db('test1913');
     $res = mysql_query('SELECT * FROM `student`');
     $row = mysql_fetch_assoc($res);
     mysql_close($link);
     print_r($row);
    ?>
    

    5.常⽤的 sql 语句

    • 刚才说了怎么操作数据库 现在我们来看⼀下,操作数据库时候常⽤的sql 语句
    • 我们就是依靠这些 sql 语句来进⾏数据库操作的

    (1) 查询语句

    <?php
    # 查询 student 这个表⾥⾯的所有数据
     $sql = 'SELECT * FROM `student`';
    # 查询 student 表中的数据⾥⾯ gender 为 男 的数据
     $sql = 'SELECT * FROM `student` WHERE `gender`="男"';
    # 查询 student 表中的数据⾥⾯ age ⼤于 18 的数据
     $sql = 'SELECT * FROM `student` WHERE `age`>18';
    # 查询 student 表中的数据⾥⾯ age ⼤于 18 且 gender 为 男 的数据
     $sql = 'SELECT * FROM `student` WHERE `age`>18 AND
    `gender`="男"';
    # 查询 student 表中的数据⾥⾯ age ⼩于 22 或者 age ⼤于 28 的数据
     $sql = 'SELECT * FROM `student` WHERE `age`<22 OR `age`>28';
    # 查询 student 表中的数据⾥⾯从 第⼏条开始 查询多少条
     $sql = 'SELECT * FROM `student` LIMIT 0, 10';
    # 先按照条件筛选出数据以后再进⾏分⻚查询
    # 下⾯是查询表中所有 age>18 且 性别为男的所有数据,查出来以后从第 10 条
    开始查 10$sql = 'SELECT * FROM `student` WHERE `age`>18 AND
    `gender`="男" LIMIT 10, 10';
    # 查询表的模糊查询
    # 下⾯表示查询表中所有数据⾥⾯ name 字段中包含 "三" 字的数据
     $sql = 'SELECT * FROM `student` WHERE `name` LIKE "%三%"';
    # 查询排序,查询的时候按照某⼀个字段升序或降序排序
     $sql = 'SELECT * FROM `student` ORDER BY `age` ASC';
     $sql = 'SELECT * FROM `student` ORDER BY `age` DESC';
    ?>
    

    (2) 增加语句

    <?php
    # 向表中增加⼀条数据,再增加的时候主键不能由我们书写,⽽是 mysql 数据库
    ⾃⼰递增
     $sql = 'INSERT INTO `student` VALUES(null, "张三", 18, "男",
    1913, 100)';
    # 插⼊固定⼏个键的数据,其他的⽤默认值
     $sql = 'INSERT INTO `student` (`name`, `age`) VALUES("李四",
    22)';
    ?>
    

    (3) 删除语句

    <?php
    # 删除表中 id 为 100 的数据
     $sql = 'DELETE FROM `student` WHERE `id`=100';
    # 删除表中 name 为 张三 的数据
     $sql = 'DELETE FROM `student` WHERE `name`="张三"'
    ?>
    

    (4) 修改语句

    <?php
    # 更新⼀条 id 为 100 的数据中的 name 字段的值和 age 字段的值
     $sql = 'UPDATE `student` SET `name`="张三", `age`=10 WHERE
    `id`=100'
    # 更新数据的时候让所有的数据增加⼀些内容
     $sql = 'UPDATE `student` SET `age`=age+1'
    ?>
    

    最后是常⽤的有些sql语句规范:

    • sql 关键字全部⼤写
    • “表” 和 “字段” 使⽤ 反引号 包裹
    • 除了 数字 和 布尔 之外的⽂本内容使⽤引号包裹

    结:以上就是前后端交互的重点内容,下一次将更新前后台交互重要的工具AJAX,喜欢的小伙伴可以点赞,关注一波

    在这里插入图片描述

    展开全文
  • 网络技术-综合布线-互联网中个体决策与观点交互机制的研究.pdf
  • 本文档主要讲述的是Flex前端与Java服务端交互反射机制;Flex作为RIA的一支,提供了非常丰富多彩的客户端实现,并且编写起
  • 社会系统和谐交互机制研究,许正权,许大彻,针对技术系统与社会系统的不同特性,指出了这两类系统的和谐实现路径的本质差异性:(1)技术系统的和谐是通过系统优化设计实现�
  • #资源达人分享计划#
  • 高效的双CPU系统安全数据交互机制的应用.pdf
  • 基于交互机制卷积双流融合神经网络的视频浓缩.pdf
  • 人工智人-家居设计-机器智能系统的人机交互机制研究.pdf
  • 摘要:为提高P2P信息共享系统中的语义信息交互...在此基础上,考虑丰富的语义和上下文信息,提出了一种基于本体匹配的语义信息交互机制,节点通过自主处理、理解和解释语义层次的信息,支持语义丰富的分布式信息共享。
  • 数据回归-自动驾驶汽车与行人多模态交互机制下的eHMI设计.pdf
  • 南京理工大学 硕士学位论文 基于双核的安全信息交互机制的研究 姓名:李献增 申请学位级别:硕士 专业:计算机系统结构 指导教师:王平立 20080601 硕士论文 基于双核的安全信息交互机制的研究 1绪论 1.1课题来源 本文...
  • 影响行为的交互机制设计——以云地标APP设计为例.pdf
  • 基于电网一、二次系统交互关系提出连锁故障演化机制的分析方法。基于一、二次系统相互影响的物理过程,提出交互关系的概念,并分析其在连锁故障演化过程中的机制;为刻画该交互关系,提出保护动作严重度概念,并建立...
  • 当前移动Ad Hoc网络安全策略只对...首先研究了当前移动Ad Hoc网络安全策略,提出了移动Ad Hoc网络综合交互认证机制,然后分析了ECC加密的IMMAS机制,最后进行了OPNET仿真试验,并说明此机制有一定的先进性和创新性。
  • 原始性创新:效率、分布性主体间的交互机制,舒成利,高山行,首先,依据知识的分布性,提出了原始性创新具有分布性。并在此基础上提出了原始性创新的效率系数,而这一效率又是决定原始性创新
  • 在本文中,我们将解释什么是交互设计,一些有用的交互设计模型,并简要描述通常交互设计师做什么。 对交互设计通俗易懂的理解 “交互设计”通俗易懂地来讲就是:它是用户和产品之间交互的设计。 大多数情况下,当...

    交互设计是用户体验(UX)设计的一个重要组成部分。在本文中,我们将解释什么是交互设计,一些有用的交互设计模型,并简要描述通常交互设计师做什么。

    对交互设计通俗易懂的理解

    “交互设计”通俗易懂地来讲就是:它是用户和产品之间交互的设计。 大多数情况下,当人们谈论交互设计时,往往是说应用程序或网站等软件产品。交互设计的目标是做出能使用户能以最佳方式实现其目标的产品。

    如果你觉得这个定义听起来很“宽”,那是因为这个领域确实相当广泛:用户和产品之间的互动往往涉及美学,动作,声音,空间等元素。当然,每个元素都可能涉及更专业的领域,例如有关用户交互中声音的声音设计。

    你可能已经意识到,交互设计和用户体验设计有很大的重叠之处。毕竟,用户体验设计是塑造产品使用体验,而大部分体验都会涉及用户和产品之间的一些交互。但用户体验设计不仅仅是交互设计:它还涉及用户研究(首先找出用户是谁)、创建用户画像(为什么,在什么条件下,他们会使用产品),执行用户测试和可用性测试等。

    交互设计的五个维度

    交互设计的5个维度(1)是理解交互设计的有用模型。交互设计学者Gillian Crampton Smith首次提出了交互设计语言“四维“的概念,而 IDEXX 实验室高级交互设计师 Kevin Silver 补充了第五个维度的概念。

    第一维:文案

    文案(尤其是交互中使用的文本,如按钮上的文本)应该有意义且易于理解。他们应该向用户传达信息,但也不能用过多的信息淹没用户的认知。

    第二维:视觉表达

    它涉及到用户与之交互的图形元素,如图像、字体和图标。这些和文本信息相配合,补充性地向用户传达信息。

    第三维:实体以及空间

    用户通过什么实体与产品进行交互?一台笔记本电脑,是带鼠标还是触摸板?还是触屏的智能手机?用户在什么样的物理空间内这样做?例如,用户是站在拥挤的火车上,同时在智能手机上使用应用程序,还是坐在办公室的桌面上浏览网站?这些都会影响用户和产品之间的交互。

    第四维:时间

    虽然这个维度听起来有点抽象,但它主要指的是随时间变化的媒体(动画,视频,声音)。动作和声音在向用户的交互提供视觉和语音的反馈方面起着至关重要的作用。同样值得关注的是用户花费在与产品交互上的时间:用户能不能了解他们的进度,或是否能在一段时间之后继续他们的交互?

    第五维:行为

    这包括产品的机制:用户如何在网站上执行操作?用户如何操作产品?换句话说,它体现了前面的维度是如何定义产品交互的。它还包括“反应“ —— 例如用户对产品的情绪反应或反馈。

    交互设计师提出的重要问题

    交互设计师如何使用上面的5个维度来创建有意义的交互?为了理解这一点,我们可以看看交互设计师在为用户设计时提出的一些重要问题,以下问题由 usabability.gov 提供:

    • 通过鼠标、手指或手写笔,用户可以怎样与界面直接交互?这有助于我们定义用户与产品可能进行的交互。
    • 外观(颜色、形状、尺寸等)是如何表达功能的?这有助于我们告知用户可能的操作有哪些。
    • 如果出现错误,产品提供的反馈是否能让用户纠正问题,或解释错误发生的原因? 这使我们能够预测和减少错误。
    • 执行操作后,用户会得到什么反馈?这使我们能够确保系统在用户操作之后的合理时间内提供反馈。
    • 界面里的元素尺寸大小是否能让用户方便地交互?这种问题能让我们策略性地思考界面里的元素。
    • 是否使用了熟悉或标准样式?标准元素和格式可以简化和增强产品的可学习性。

    那么,交互设计师是做什么的呢?

    嗯,这要视情况而定。

    例如,如果公司足够大,并且拥有巨大的资源,它可能会为UX设计师和交互设计师提供单独的工作。例如,在大型设计团队中,可能有一个 UX 研究员、一个信息架构师、一个交互设计师和一个视觉设计师。但对于较小的公司和团队来说,大多数 UX 设计工作可能由 1-2 人完成,他们可能有也可能没有"交互设计师"的称号。无论如何,以下是交互设计人员在其日常工作中处理的一些任务:

    设计策略

    这涉及到用户的目标是什么,以及实现这些目标所需的交互。根据公司的不同,交互设计师可能必须进行用户研究,找出用户的目标是什么,然后再制定策略将其转化为交互。

    线框和原型

    这同样取决于公司的工作描述,但大多数交互设计师的任务是创建线框图,展示产品中的交互。有时,交互设计师也可能创建可交互的原型和/或高保真原型,看起来与实际的应用程序或网站完全一样。可交互的高保真原型现在都可以使用一些在线原型工具实现,比如国内的墨刀,国外的Axure。

    本文转载自由墨刀翻译自 TEO SIANG 的What is Interaction Design?

    展开全文
  • 基于QualNet构建Ad Hoc网络跨层协议交互机制,赵玉亭,戴冠中,设计并实现了一种基于QualNet网络仿真器的网络协议栈跨层交互的机制。仿真实验证明,利用该机制,能够快速建立跨层协议交互,使得��
  • #资源达人分享计划#
  • 可搜索语音加密机制访问控制的匿名交互算法.docx
  • 计算机-后端-MVVM前后端数据交互中安全机制的研究与实现.pdf
  • 通过脉冲算法减少交互作用的分布式共识跟踪
  • OMA国际标准中已经规定了交互机制以及异构网络下的设备管理机制,本文就利用OMA国际标准中的交互机制以及设备管理机制构建了一套智能交互式多屏解决方案。  1 引言  种种迹象表明,多屏业务将是有线/无线宽带的...
  • 移动终端中面向交互历史的自适应界面机制,杨剑青,,为解决移动终端小屏幕内显示较多信息与复杂界面给用户带来的不便,本文提出通过构造自适应人机界面的方法来解决此类问题。本文设

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 585,889
精华内容 234,355
关键字:

交互机制是什么